fcrepo_admin 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73679eaaaef9b035662e7ec5f145669cb75240ad
4
- data.tar.gz: 2b63f18ebb6bf30df57796c87c071d2cf0d51d57
3
+ metadata.gz: 9e26f1848c179673df8ef4efefa687c718365bcb
4
+ data.tar.gz: ba0010feb90c17d3853f647f0f9a0cd1b2ea8e30
5
5
  SHA512:
6
- metadata.gz: 47491368bb3881dd03ba9adbce428d4a5858d031dde0bbc8b16163a5026b1ed2d2fad997d11a51bb3101bcc06b312fb9c0268d335a0198a12bf8610255e3ced3
7
- data.tar.gz: 07a9a3c5fd32920518feaf74375dc799e6cd0b53a82141c494ee6ff049cd5c4947131f2745e55cb6faca15b06dac72b77fcf77eb4cd24fa9c9fa1cdb5be5d04c
6
+ metadata.gz: 7a47b722727bc7eb6f4518a425fc050752585b9ec1493901ef7ee84db04a9c7fc9f30d715841180a53aa4163dc7c20d7864f95b9748b337ef8db5e2a881b88f1
7
+ data.tar.gz: 3c5218ad09ed98edae213f2fa179b7b92f1c09c9c25e106d4f83b2a83b137923318ab35886929dc0c53a42c9834da8703bf010c32ac6bc0cdc3eab3f9e6428f4
@@ -1,38 +1,42 @@
1
- ==== 0.5.2 (2013-05-22)
1
+ #### 0.5.3 (2013-05-23)
2
+
3
+ * Added configuration setting `associated_object_sort_param` to specify Solr query sort clause for retrieving associated objects. Default is `nil`, meaning that no sort clause is used.
4
+
5
+ #### 0.5.2 (2013-05-22)
2
6
 
3
7
  * Fixed association show view pagination by working around Kaminari.
4
8
  * Object XML (FOXML) accessible from object context nav.
5
9
  * Catalog show fields and show document actions displayed in object show view (summary).
6
10
 
7
- ==== 0.5.1 (2013-05-21)
11
+ #### 0.5.1 (2013-05-21)
8
12
 
9
13
  * Association show view paginated (Fixes #18).
10
14
  * Association show view uses blacklight document list rendering.
11
15
  * Object show view loads Solr document for object and incorporates Blacklight document show fields.
12
16
 
13
- === 0.5.0 (2013-05-17)
17
+ ### 0.5.0 (2013-05-17)
14
18
 
15
19
  * Feature: Configurable settings.
16
20
  * Context navigation menus refactored: customizations now done through helpers and configuration settings, not by overriding partials.
17
21
  * ActiveFedora::Base and ActiveFedora::Datastream classes extended by decorators.
18
22
  * Tests added.
19
23
 
20
- ==== 0.4.1 (2013-05-14)
24
+ #### 0.4.1 (2013-05-14)
21
25
 
22
26
  * Feature: Datastream history view.
23
27
  * Feature: Support for asOfDateTime parameter added to datastream read views to display content and profile information for datastream versions.
24
28
 
25
- === 0.4.0 (2013-05-03)
29
+ ### 0.4.0 (2013-05-03)
26
30
 
27
31
  * Feature: Display object's associations.
28
32
  * Require inclusion of CanCan action aliases in application's Ability class.
29
33
  * Tabbed object show view ("summary") replaced with separate views.
30
34
 
31
- ==== 0.3.5 (2013-04-30)
35
+ #### 0.3.5 (2013-04-30)
32
36
 
33
37
  * Requires active-fedora 6.1.
34
38
 
35
- ==== 0.3.4 (2013-04-29)
39
+ #### 0.3.4 (2013-04-29)
36
40
 
37
41
  * Moved FcrepoAdmin::BlacklightHelperBehavior to FcrepoAdmin::Helpers::BlacklightHelperBehavior.
38
42
  * FcrepoAdmin::ObjectsHelper methods can now be easily overridden.
@@ -41,29 +45,29 @@
41
45
  * Objects and datastreams controller behaviors are now easily overrideable.
42
46
  * Refactored object and datastream context navs for greater reusability.
43
47
 
44
- ==== 0.3.3 (2013-04-25)
48
+ #### 0.3.3 (2013-04-25)
45
49
 
46
50
  * Audit trail functionality fails gracefully (i.e., if object does not implement ActiveFedora::Auditable)
47
51
 
48
- ==== 0.3.2 (2013-04-19)
52
+ #### 0.3.2 (2013-04-19)
49
53
 
50
54
  * Separated datastream and object context navigation menus.
51
55
  * Added object helpers.
52
56
 
53
- ==== 0.3.1 (2013-04-18)
57
+ #### 0.3.1 (2013-04-18)
54
58
 
55
59
  * Object and datastream context nav menus added.
56
60
  * Audit trail moved into objects controller.
57
61
 
58
- === 0.3.0 (2013-04-16)
62
+ ### 0.3.0 (2013-04-16)
59
63
 
60
64
  * Feature: Permissions and inherited permissions added to object show view.
61
65
 
62
- === 0.2.0 (2013-04-12)
66
+ ### 0.2.0 (2013-04-12)
63
67
 
64
68
  * Feature: Datastream content editing.
65
69
 
66
- === 0.1.0 (2013-04-11)
70
+ ### 0.1.0 (2013-04-11)
67
71
 
68
72
  Initial release to RubyGems.
69
73
 
@@ -0,0 +1,208 @@
1
+ ## Hydra Administrative Tool for a Fedora Repository
2
+
3
+ A Rails engine providing an administrative interface to a Fedora Commons repository built on the Hydra project framework.
4
+
5
+ ### Status
6
+
7
+ This project should be considered *experimental*. Versions earlier than 1.0 may change API and/or UI without notice
8
+ or regard for backward compatibility.
9
+
10
+ ### Requirements
11
+
12
+ fcrepo_admin is designed for installation on hydra-head 6.0 or higher (requires active-fedora 6.1 or higher).
13
+ See https://github.com/projecthydra/hydra-head/wiki/Installation-Prerequisites.
14
+
15
+ ### Installation
16
+
17
+ **Add to Gemfile**
18
+
19
+ ```
20
+ gem 'fcrepo_admin'
21
+ ```
22
+
23
+ Then `bundle install`
24
+
25
+ **Run the Blacklight and Hydra generators** (if this is a new Rails app, not an existing Hydra head)
26
+
27
+ ```
28
+ rails g blacklight --devise
29
+ rails g hydra:head -f
30
+ rake db:migrate
31
+ rails g hydra:jetty # if you need a development copy of jetty with solr and fedora
32
+ ```
33
+
34
+ **Mount the engine**
35
+
36
+ In `config/routes.rb` add this line:
37
+
38
+ ```ruby
39
+ mount FcrepoAdmin::Engine => '/', :as=> 'fcrepo_admin'
40
+ ```
41
+
42
+ You may use any mount point. All routes include `objects` as a subpath.
43
+
44
+ **Add CanCan action aliases** (fcrepo_admin >= 0.4.0)
45
+
46
+ In your Ability class (`app/models/ability.rb`) include the `FcrepoAdmin::Ability` module, for example:
47
+
48
+ ```ruby
49
+ class Ability
50
+ include Hydra::Ability
51
+ include Hydra::PolicyAwareAbility
52
+ include FcrepoAdmin::Ability
53
+ end
54
+ ```
55
+
56
+ `FcrepoAdmin::Ability` defines action aliases for permissions which are enforced on `ActiveFedora::Base` objects.
57
+ If your application defines action aliases, please check `FcrepoAdmin::Ability` for conflicts as aliases are global.
58
+
59
+ **Customize catalog search results** (optional)
60
+
61
+ If you would like catalog search results items to link to the fcrepo_admin object show view
62
+ instead of the catalog show view, create `app/helpers/blacklight_helper.rb` with this content:
63
+
64
+ ```ruby
65
+ module BlacklightHelper
66
+ include Blacklight::BlacklightHelperBehavior # Default Blacklight behaviors
67
+ include FcrepoAdmin::Helpers::BlacklightHelperBehavior # fcrepo_admin overrides
68
+ # additional customizations here, if any
69
+ end
70
+ ```
71
+
72
+ **Add audit trail support** (optional)
73
+
74
+ To enable access to the Fedora audit trail data through the fcrepo_admin UI, include the
75
+ `ActiveFedora::Auditable` mixin in your ActiveFedora models:
76
+
77
+ ```ruby
78
+ include ActiveFedora::Auditable
79
+ ```
80
+
81
+ ### Overriding fcrepo_admin behaviors
82
+
83
+ #### Configurable settings (fcrepo_admin >= 0.5.0)
84
+
85
+ To override default configurable settings for fcrepo_admin, create an initializer at `config/initializers/fcrepo_admin.rb`.
86
+ You should start with this content:
87
+
88
+ ```ruby
89
+ module YourApp
90
+ class Application < Rails::Application
91
+ config.before_initialize do
92
+ # Customized settings will go here
93
+ end
94
+ end
95
+ end
96
+ ```
97
+
98
+ Refer to the default configuration settings at https://github.com/projecthydra/fcrepo-admin/blob/master/lib/fcrepo_admin/configurable.rb.
99
+
100
+ All configuration options are set by module methods prefixed by `FcrepoAdmin`, for example:
101
+
102
+ ```ruby
103
+ FcrepoAdmin.read_only = true
104
+ ```
105
+
106
+ #### Helpers
107
+
108
+ Override objects helpers by creating `app/helpers/fcrepo_admin/objects_helper.rb` with this content:
109
+
110
+ ```ruby
111
+ module FcrepoAdmin::ObjectsHelper
112
+ include FcrepoAdmin::Helpers::ObjectsHelperBehavior
113
+ # override methods here
114
+ end
115
+ ```
116
+
117
+ In particular you may want to override `object_title`.
118
+
119
+ Override datastreams helpers by creating `app/helpers/fcrepo_admin/datastreams_helper.rb` with this content:
120
+
121
+ ```ruby
122
+ module FcrepoAdmin::DatastreamsHelper
123
+ include FcrepoAdmin::Helpers::DatastreamsHelperBehavior
124
+ # override methods here
125
+ end
126
+ ```
127
+
128
+ #### Context Navigation Menus
129
+
130
+ ##### fcrepo_admin >= 0.5.0
131
+
132
+ The configuration settings that control the items on the context menus are:
133
+
134
+ ```ruby
135
+ FcrepoAdmin.object_nav_items = [:pid, :summary, :datastreams, :permissions, :associations, :audit_trail, :object_xml]
136
+ FcrepoAdmin.datastream_nav_items = [:dsid, :version, :current_version, :summary, :content, :download,
137
+ :edit, :upload, :history]
138
+ ```
139
+
140
+ Each setting takes an array of symbols representing the items. You can start by copying the default values shown above.
141
+ If you simply want to rearrange or remove items, then just modify the default arrays.
142
+
143
+ To add a custom navigation item, start by adding your own symbol to the approriate array setting. Then override the
144
+ appropriate helper method (see section above on overriding fcrepo_admin helpers) -- for object context nav, override
145
+ `custom_object_nav_item` in `ObjectsHelper`; for datastream context nav, override `custom_datastream_nav_item`
146
+ in `DatastreamsHelper`.
147
+
148
+ Each method takes a single symbol argument and should return either nil (meaning no menu item is to be added) or the
149
+ *content* of a menu item. Do not include the `<li></li>` wrapper. You may want to use `link_to_unless_current`
150
+ and/or put a condition on the menu item (i.e., so that `nil` is returned if the condition is not met).
151
+
152
+ ##### fcrepo_admin < 0.5.0
153
+
154
+ The contents of the object context navigation menu can be customized by overriding the `object_context_nav_items`
155
+ helper method, or by copying and modifying the partial `fcrepo_admin/objects/context_nav_items`.
156
+
157
+ The contents of the datastream context navigation menu can be customized by overriding the
158
+ `datastream_context_nav_items` helper method, or by copying and modifying the partial
159
+ `fcrepo_admin/datastreams/context_nav_items`.
160
+
161
+ #### Controllers
162
+
163
+ To override or extend controller behaviors, please consult Rails engine documentation and guides, such as
164
+ http://edgeguides.rubyonrails.org/engines.html.
165
+
166
+ IMPORTANT: If you add a non-RESTful action to a controller, you will probably have to add a CanCan action alias
167
+ to your Ability class. For this, you can use Hydra's `custom_permissions` callback:
168
+
169
+ ```ruby
170
+ class Ability
171
+ include Hydra::Ability
172
+ include Hydra::PolicyAwareAbility
173
+ include FcrepoAdmin::Ability
174
+
175
+ def custom_permissions
176
+ alias_action :my_method, :to => :read
177
+ end
178
+ end
179
+ ```
180
+
181
+ #### Read-only mode
182
+
183
+ To suppress mutating behaviors (i.e, routes, nav items, etc.) regardless of user permissions,
184
+ add this configuration setting:
185
+
186
+ ```ruby
187
+ FcrepoAdmin.read_only = true
188
+ ```
189
+
190
+ ### Internationalization (i18n)
191
+
192
+ An effort has been made to support i18n on headings, menus, etc. See https://github.com/projecthydra/fcrepo-admin/blob/master/config/locales/fcrepo_admin.en.yml
193
+ for the keys and consult the Rails documentation on how to provide your own translations or alternate text values.
194
+
195
+ ### Contributing
196
+
197
+ * Consider first posting to hydra-tech@googlegroups.com with a question or bug report, or submit an issue
198
+ to the Github issue tracker at https://github.com/projecthydra/fcrepo-admin/issues.
199
+ * Fork the git repository, create a feature branch, make your changes, and submit a pull request.
200
+ It is preferable for all changes to be made in one commit, if possible.
201
+
202
+ Thanks!
203
+
204
+ ### License
205
+
206
+ See the LICENSE file in the root directory of the project for copyright and license information.
207
+
208
+ Licenses for code copied from other projects will be included in source files as required.
@@ -44,6 +44,9 @@ module FcrepoAdmin
44
44
  rows = FcrepoAdmin.associated_objects_per_page
45
45
  start = (page - 1) * rows
46
46
  args = {raw: true, start: start, rows: rows}
47
+ if FcrepoAdmin.associated_objects_sort_param
48
+ args[:sort] = FcrepoAdmin.associated_objects_sort_param
49
+ end
47
50
  apply_gated_discovery(args, nil) # add args to enforce Hydra access controls
48
51
  args
49
52
  end
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.files = `git ls-files`.split("\n")
21
21
  s.test_files = `git ls-files -- spec/*`.split("\n")
22
22
 
23
- s.extra_rdoc_files = ["LICENSE", "README.rdoc", "HISTORY.rdoc"]
23
+ s.extra_rdoc_files = ["LICENSE", "README.md", "HISTORY.md"]
24
24
 
25
25
  s.require_paths = ["lib"]
26
26
 
@@ -47,9 +47,13 @@ module FcrepoAdmin::Configurable
47
47
  mattr_accessor :object_properties
48
48
  self.object_properties = [:label, :state, :create_date, :modified_date, :owner_id]
49
49
 
50
- # Number of objects to display per page on object associations show view
50
+ # Number of objects to display per page on associations show view
51
51
  mattr_accessor :associated_objects_per_page
52
52
  self.associated_objects_per_page = 10
53
+
54
+ # Solr sort param added to association collection query
55
+ mattr_accessor :associated_objects_sort_param
56
+ self.associated_objects_sort_param = nil
53
57
  end
54
58
 
55
59
  end
@@ -1,3 +1,3 @@
1
1
  module FcrepoAdmin
2
- VERSION = "0.5.2"
2
+ VERSION = "0.5.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fcrepo_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chandek-Stark
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-05-22 00:00:00.000000000 Z
14
+ date: 2013-05-23 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: hydra-head
@@ -231,15 +231,15 @@ executables: []
231
231
  extensions: []
232
232
  extra_rdoc_files:
233
233
  - LICENSE
234
- - README.rdoc
235
- - HISTORY.rdoc
234
+ - README.md
235
+ - HISTORY.md
236
236
  files:
237
237
  - .gitignore
238
238
  - .rspec
239
239
  - Gemfile
240
- - HISTORY.rdoc
240
+ - HISTORY.md
241
241
  - LICENSE
242
- - README.rdoc
242
+ - README.md
243
243
  - Rakefile
244
244
  - app/controllers/fcrepo_admin/associations_controller.rb
245
245
  - app/controllers/fcrepo_admin/datastreams_controller.rb
@@ -1,190 +0,0 @@
1
- == Hydra Administrative Tool for a Fedora Repository
2
-
3
- A Rails engine providing an administrative interface to a Fedora Commons repository built on the Hydra project framework.
4
-
5
- === Status
6
-
7
- This project should be considered *experimental*. Versions earlier than 1.0 may change API and/or UI without notice
8
- or regard for backward compatibility.
9
-
10
- === Requirements
11
-
12
- fcrepo_admin is designed for installation on hydra-head 6.0 or higher (requires active-fedora 6.1 or higher).
13
- See https://github.com/projecthydra/hydra-head/wiki/Installation-Prerequisites.
14
-
15
- === Installation
16
-
17
- (In the future, we hope to automate some of these tasks with a generator.)
18
-
19
- * Add to gemfile
20
-
21
- gem 'fcrepo_admin'
22
-
23
- Then <code>bundle install</code>
24
-
25
- * Run the Blacklight and Hydra generators (if this is a new Rails app, not an existing Hydra head)
26
-
27
- rails g blacklight --devise
28
- rails g hydra:head -f
29
- rake db:migrate
30
- rails g hydra:jetty # if you need a development copy of jetty with solr and fedora
31
-
32
- * Mount the engine
33
-
34
- In config/routes.rb add this line:
35
-
36
- mount FcrepoAdmin::Engine => '/', :as=> 'fcrepo_admin'
37
-
38
- You may use any mount point (except perhaps <code>'/catalog'</code>).
39
- All routes include <code>objects</code> as a subpath.
40
-
41
- * Add CanCan action aliases (fcrepo_admin >= 0.4.0)
42
-
43
- In your Ability class (app/models/ability.rb) include the FcrepoAdmin::Ability module, for example:
44
-
45
- class Ability
46
- include Hydra::Ability
47
- include Hydra::PolicyAwareAbility
48
- include FcrepoAdmin::Ability
49
- end
50
-
51
- FcrepoAdmin::Ability defines action aliases for permissions which are enforced on (ActiveFedora::Base) objects.
52
- If your application defines action aliases, please check FcrepoAdmin::Ability for conflicts as aliases are global.
53
-
54
- * Add Javascript (fcrepo_admin < 0.4.0)
55
-
56
- In app/assets/javascripts/application.js add:
57
-
58
- //= require bootstrap-tab
59
-
60
- * Customize catalog search results (optional)
61
-
62
- If you would like catalog search results items to link to the fcrepo_admin object show view
63
- instead of the catalog show view, create app/helpers/blacklight_helper.rb with this content:
64
-
65
- module BlacklightHelper
66
- include Blacklight::BlacklightHelperBehavior # Default Blacklight behaviors
67
- include FcrepoAdmin::Helpers::BlacklightHelperBehavior # fcrepo_admin overrides
68
- # additional customizations here, if any
69
- end
70
-
71
- * Add audit trail support (optional)
72
-
73
- To enable access to the Fedora audit trail data through the fcrepo_admin UI, include the
74
- ActiveFedora::Auditable mixin in your ActiveFedora models:
75
-
76
- include ActiveFedora::Auditable
77
-
78
- === Overriding fcrepo_admin behaviors
79
-
80
- ==== Configurable settings (fcrepo_admin >= 0.5.0)
81
-
82
- To override default configurable settings for fcrepo_admin, create an initializer at config/initializers/fcrepo_admin.rb.
83
- You should start with this content:
84
-
85
- module YourApp
86
- class Application < Rails::Application
87
- config.before_initialize do
88
- # Customized settings will go here
89
- end
90
- end
91
- end
92
-
93
- Refer to the default configuration settings at https://github.com/projecthydra/fcrepo-admin/blob/master/lib/fcrepo_admin/configurable.rb.
94
-
95
- All configuration options are set by module methods prefixed by FcrepoAdmin, for example:
96
-
97
- FcrepoAdmin.read_only = true
98
-
99
- ==== Helpers
100
-
101
- Override objects helpers by creating app/helpers/fcrepo_admin/objects_helper.rb with this content:
102
-
103
- module FcrepoAdmin::ObjectsHelper
104
- include FcrepoAdmin::Helpers::ObjectsHelperBehavior
105
- # override methods here
106
- end
107
-
108
- In particular you may want to override #object_title.
109
-
110
- Override datastreams helpers by creating app/helpers/fcrepo_admin/datastreams_helper.rb with this content:
111
-
112
- module FcrepoAdmin::DatastreamsHelper
113
- include FcrepoAdmin::Helpers::DatastreamsHelperBehavior
114
- # override methods here
115
- end
116
-
117
- ==== Context Navigation Menus
118
-
119
- ===== fcrepo_admin >= 0.5.0
120
-
121
- The configuration settings that control the items on the context menus are:
122
-
123
- FcrepoAdmin.object_nav_items = [:pid, :summary, :datastreams, :permissions, :associations, :audit_trail, :object_xml]
124
- FcrepoAdmin.datastream_nav_items = [:dsid, :version, :current_version, :summary, :content, :download, :edit, :upload, :history]
125
-
126
- Each setting takes an array of symbols representing the items. You can start by copying the default values shown above.
127
- If you simply want to rearrange or remove items, then just modify the default arrays.
128
-
129
- To add a custom navigation item, start by adding your own symbol to the approriate array setting. Then override the
130
- appropriate helper method (see section above on overriding fcrepo_admin helpers) -- for object context nav, override
131
- #custom_object_nav_item in ObjectsHelper; for datastream context nav, override #custom_datastream_nav_item
132
- in DatastreamsHelper.
133
-
134
- Each method takes a single symbol argument and should return either nil (meaning no menu item is to be added) or the *content*
135
- of a menu item. Do not include the <li></li> wrapper. You may want to use link_to_unless_current and/or put a condition on
136
- the menu item (i.e., so that nil is returned if the condition is not met).
137
-
138
- ===== fcrepo_admin < 0.5.0
139
-
140
- The contents of the object context navigation menu can be customized by overriding the #object_context_nav_items
141
- helper method, or by copying and modifying the partial fcrepo_admin/objects/context_nav_items.
142
-
143
- The contents of the datastream context navigation menu can be customized by overriding the
144
- #datastream_context_nav_items helper method, or by copying and modifying the partial fcrepo_admin/datastreams/context_nav_items.
145
-
146
- ==== Controllers
147
-
148
- To override or extend controller behaviors, please consult Rails engine documentation and guides, such as
149
- http://edgeguides.rubyonrails.org/engines.html.
150
-
151
- IMPORTANT: If you add a non-RESTful action to a controller, you will probably have to add a CanCan action alias
152
- to your Ability class. For this, you can use Hydra's #custom_permissions callback:
153
-
154
- class Ability
155
- include Hydra::Ability
156
- include Hydra::PolicyAwareAbility
157
- include FcrepoAdmin::Ability
158
-
159
- def custom_permissions
160
- alias_action :my_method, :to => :read
161
- end
162
-
163
- end
164
-
165
- ==== Read-only mode
166
-
167
- To suppress mutating behaviors (i.e, routes, nav items, etc.) regardless of user permissions,
168
- add this configuration setting:
169
-
170
- FcrepoAdmin.read_only = true
171
-
172
- === Internationalization (i18n)
173
-
174
- An effort has been made to support i18n on headings, menus, etc. See https://github.com/projecthydra/fcrepo-admin/blob/master/config/locales/fcrepo_admin.en.yml
175
- for the keys and consult the Rails documentation on how to provide your own translations or alternate text values.
176
-
177
- === Contributing
178
-
179
- * Consider first posting to hydra-tech@googlegroups.com with a question or bug report, or submit an issue
180
- to the Github issue tracker at https://github.com/projecthydra/fcrepo-admin/issues.
181
- * Fork the git repository, create a feature branch, make your changes, and submit a pull request.
182
- It is preferable for all changes to be made in one commit, if possible.
183
-
184
- Thanks!
185
-
186
- === License
187
-
188
- See the LICENSE file in the root directory of the project for copyright and license information.
189
-
190
- Licenses for code copied from other projects will be included in source files as required.