hydra-works 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +72 -0
  4. data/Gemfile +5 -4
  5. data/README.md +17 -11
  6. data/Rakefile +18 -8
  7. data/config/solrconfig.xml +223 -0
  8. data/hydra-works.gemspec +15 -15
  9. data/lib/hydra/works.rb +28 -17
  10. data/lib/hydra/works/errors/full_text_extraction_error.rb +5 -0
  11. data/lib/hydra/works/models/concerns/block_child_objects.rb +12 -6
  12. data/lib/hydra/works/models/concerns/collection_behavior.rb +44 -6
  13. data/lib/hydra/works/models/concerns/generic_file/contained_files.rb +3 -3
  14. data/lib/hydra/works/models/concerns/generic_file/derivatives.rb +2 -4
  15. data/lib/hydra/works/models/concerns/generic_file/mime_types.rb +1 -3
  16. data/lib/hydra/works/models/concerns/generic_file/versioned_content.rb +4 -6
  17. data/lib/hydra/works/models/concerns/generic_file/virus_check.rb +13 -14
  18. data/lib/hydra/works/models/concerns/generic_file_behavior.rb +13 -3
  19. data/lib/hydra/works/models/concerns/generic_work_behavior.rb +34 -9
  20. data/lib/hydra/works/models/generic_file.rb +0 -3
  21. data/lib/hydra/works/services/generic_file/add_file_to_generic_file.rb +14 -16
  22. data/lib/hydra/works/services/generic_file/full_text_extraction_service.rb +57 -0
  23. data/lib/hydra/works/services/generic_file/generate_thumbnail.rb +13 -0
  24. data/lib/hydra/works/services/generic_file/persist_derivative.rb +3 -5
  25. data/lib/hydra/works/services/generic_file/{upload_file.rb → upload_file_to_generic_file.rb} +1 -3
  26. data/lib/hydra/works/version.rb +1 -1
  27. data/lib/hydra/works/vocab/works_terms.rb +9 -9
  28. data/lib/tasks/hydra-works_tasks.rake +80 -0
  29. data/lib/tasks/jetty.rake +15 -0
  30. data/spec/hydra/works/models/collection_spec.rb +258 -246
  31. data/spec/hydra/works/models/concerns/block_child_objects_spec.rb +6 -8
  32. data/spec/hydra/works/models/concerns/generic_file/contained_files_spec.rb +40 -48
  33. data/spec/hydra/works/models/concerns/generic_file/mime_types_spec.rb +16 -18
  34. data/spec/hydra/works/models/concerns/generic_file/versioned_content_spec.rb +11 -11
  35. data/spec/hydra/works/models/concerns/generic_file/virus_check_spec.rb +11 -8
  36. data/spec/hydra/works/models/concerns/generic_file_behavior_spec.rb +1 -1
  37. data/spec/hydra/works/models/generic_file_spec.rb +87 -85
  38. data/spec/hydra/works/models/generic_work_spec.rb +167 -169
  39. data/spec/hydra/works/services/full_text_extraction_service_spec.rb +89 -0
  40. data/spec/hydra/works/services/generic_file/add_file_to_generic_file_spec.rb +36 -38
  41. data/spec/hydra/works/services/generic_file/generate/thumbnail_spec.rb +10 -12
  42. data/spec/hydra/works/services/generic_file/upload_file_spec.rb +39 -42
  43. data/spec/hydra/works/services/persist_derivatives_spec.rb +2 -3
  44. data/spec/hydra/works_spec.rb +57 -61
  45. data/spec/spec_helper.rb +2 -4
  46. metadata +23 -15
  47. data/lib/hydra/works/services/generic_file/generate/thumbnail.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b09c8a80126527ae1e46668a611225e85ed64b85
4
- data.tar.gz: 863f6a4b6315edbc5825e65d560a24fcb8372910
3
+ metadata.gz: 28a2824769ab44dca4138961476455d25db0d016
4
+ data.tar.gz: 7e0c7dae7cc6873680eb07bf882a1cc1b008e13e
5
5
  SHA512:
6
- metadata.gz: 79734196b519492daf40942ba488aedf9f303483dc3527b9f92ee400d04ef51467d69e65b4c0f4fb6ce23a74a836f3188177faeb5a073fc24ec3b6671de89905
7
- data.tar.gz: 2266310f4f914ca326b95f8f57eb294ef2d75f7170c56620e00dbe5eacc3c629be077d785ef114e711e439221a57506a2105a3209dbc9d23e3dd7b1d2534772e
6
+ metadata.gz: 0ea7c389ceaeffe31367dffe19490162932afa1abeb5f5016ea2842003c7f36cc00bbe25a7b6160766f684fcb6009817074532d0bfc936928c6b0f570f9767be
7
+ data.tar.gz: cc6825f4d60eed260531714eb646d512debcdb004feba0c81f80b253c7ba935289a614202efa225966f178d677ea99898b135cd8619f911d7401aaf0f9b802e0
data/.gitignore CHANGED
@@ -5,6 +5,7 @@
5
5
  /coverage/
6
6
  /doc/
7
7
  /pkg/
8
+ /solr_conf/
8
9
  /spec/reports/
9
10
  spec/internal
10
11
  /tmp/
data/.rubocop.yml ADDED
@@ -0,0 +1,72 @@
1
+ require: rubocop-rspec
2
+
3
+ AllCops:
4
+ RunRailsCops: true
5
+ DisplayCopNames: true
6
+ Include:
7
+ - '**/Rakefile'
8
+ Exclude:
9
+ - 'vendor/**/*'
10
+ - 'spec/internal/bin/*'
11
+ - 'spec/internal/db/schema.rb'
12
+
13
+ Metrics/LineLength:
14
+ Enabled: false
15
+
16
+ Metrics/CyclomaticComplexity:
17
+ Exclude:
18
+ - lib/hydra/works/services/generic_file/add_file_to_generic_file.rb
19
+
20
+ Metrics/PerceivedComplexity:
21
+ Exclude:
22
+ - lib/hydra/works/services/generic_file/add_file_to_generic_file.rb
23
+
24
+ Metrics/MethodLength:
25
+ Exclude:
26
+ - lib/hydra/works/services/generic_file/add_file_to_generic_file.rb
27
+ - lib/hydra/works/models/concerns/generic_file/virus_check.rb
28
+
29
+ Metrics/AbcSize:
30
+ Exclude:
31
+ - lib/hydra/works/services/generic_file/add_file_to_generic_file.rb
32
+ - lib/hydra/works/services/generic_file/full_text_extraction_service.rb
33
+ - lib/hydra/works/models/concerns/generic_file/mime_types.rb
34
+ - lib/hydra/works/models/concerns/generic_file/virus_check.rb
35
+
36
+ Style/CollectionMethods:
37
+ PreferredMethods:
38
+ collect: 'map'
39
+ collect!: 'map!'
40
+ inject: 'reduce'
41
+ detect: 'find'
42
+ find_all: 'select'
43
+
44
+ Style/ClassAndModuleChildren:
45
+ Enabled: false
46
+
47
+ Style/Documentation:
48
+ Enabled: false
49
+
50
+ Style/StringLiterals:
51
+ Enabled: false
52
+
53
+ Style/SignalException:
54
+ Enabled: false
55
+
56
+ Style/IndentationConsistency:
57
+ EnforcedStyle: rails
58
+
59
+ RSpec/ExampleWording:
60
+ CustomTransform:
61
+ be: is
62
+ have: has
63
+ not: does not
64
+ NOT: does NOT
65
+ IgnoredWords:
66
+ - only
67
+
68
+ RSpec/FilePath:
69
+ Enabled: false
70
+
71
+ RSpec/InstanceVariable:
72
+ Enabled: false
data/Gemfile CHANGED
@@ -5,8 +5,9 @@ gemspec
5
5
 
6
6
  gem 'slop', '~> 3.6' # For byebug
7
7
 
8
- unless ENV['CI']
9
- gem 'pry'
10
- gem 'pry-byebug'
11
- gem 'byebug'
8
+ group :development, :test do
9
+ gem 'rubocop', require: false
10
+ gem 'rubocop-rspec', require: false
11
+ gem 'pry' unless ENV['CI']
12
+ gem 'pry-byebug' unless ENV['CI']
12
13
  end
data/README.md CHANGED
@@ -1,23 +1,29 @@
1
1
  # Hydra::Works
2
+
3
+ [![Version](https://badge.fury.io/rb/hydra-works.png)](http://badge.fury.io/rb/hydra-works)
2
4
  [![Build Status](https://travis-ci.org/projecthydra-labs/hydra-works.svg?branch=master)](https://travis-ci.org/projecthydra-labs/hydra-works)
3
5
  [![Coverage Status](https://coveralls.io/repos/projecthydra-labs/hydra-works/badge.svg?branch=master)](https://coveralls.io/r/projecthydra-labs/hydra-works?branch=master)
6
+ [![Code Climate](https://codeclimate.com/github/projecthydra-labs/hydra-works/badges/gpa.svg)](https://codeclimate.com/github/projecthydra-labs/hydra-works)
7
+ [![Apache 2.0 License](http://img.shields.io/badge/APACHE2-license-blue.svg)](./LICENSE)
8
+ [![Contribution Guidelines](http://img.shields.io/badge/CONTRIBUTING-Guidelines-blue.svg)](./CONTRIBUTING.md)
9
+ [![API Docs](http://img.shields.io/badge/API-docs-blue.svg)](http://rubydoc.info/gems/hydra-works)
10
+ [![Stories in Ready](https://badge.waffle.io/projecthydra-labs/hydra-works.png?source=projecthydra-labs%2Fhydra-works&label=ready&title=Ready)](https://waffle.io/projecthydra-labs/hydra-works?source=projecthydra-labs%2Fhydra-works)
4
11
 
5
- The Hydra::Works gem provides a set of [Portland Common Data Model](https://wiki.duraspace.org/display/FF/Portland+Common+Data+Model)-compliant models and associated behaviors around the broad concept of multi-file "works", the need for which was expressed by a variety of [community use cases](https://github.com/projecthydra-labs/hydra-works/tree/master/use-cases). The Hydra::Works domain model includes:
12
+ The Hydra::Works gem provides a set of [Portland Common Data Model](https://github.com/duraspace/pcdm/wiki)-compliant ActiveFedora models and associated behaviors around the broad concept of multi-file "works", the need for which was expressed by a variety of [community use cases](https://github.com/projecthydra-labs/hydra-works/tree/master/use-cases). The Hydra::Works domain model includes:
6
13
 
7
- * **GenericFile**: a *pcdm:Object* that encapsulates one or more directly related *pcdm:File*s, such as a PDF document, its derivatives, and extracted full-text
8
- * **GenericWork**: a *pcdm:Object* that holds zero or more **GenericFile**s and zero or more **GenericWork**s
9
- * **Collection**: a *pcdm:Collection* that indirectly contains zero or more **GenericWork**s and zero or more **Collection**s
14
+ * **GenericFile**: a *Hydra::PCDM::Object* that encapsulates one or more directly related *Hydra::PCDM::File*s, such as a PDF document, its derivatives, and extracted full-text
15
+ * **GenericWork**: a *Hydra::PCDM::Object* that holds zero or more **GenericFile**s and zero or more **GenericWork**s
16
+ * **Collection**: a *Hydra::PCDM::Collection* that indirectly contains zero or more **GenericWork**s and zero or more **Collection**s
10
17
 
11
18
  View [a diagram of the domain model](https://docs.google.com/drawings/d/1-NkkRPpGpZGoTimEpYTaGM1uUPRaT0SamuWDITvtG_8/edit).
12
19
 
20
+ Checkout the readme for [hydra-derivatives](https://github.com/projecthydra/hydra-derivatives#dependencies) for additional dependencies.
21
+
13
22
  ## Installation
14
23
 
15
24
  Add these lines to your application's Gemfile:
16
25
 
17
- # hydra-pcdm requires an unreleased version of ActiveFedora
18
- gem 'active-fedora', github: 'projecthydra/active_fedora'
19
- gem 'hydra-pcdm', github: 'projecthydra-labs/hydra-pcdm'
20
- gem 'hydra-works', github: 'projecthydra-labs/hydra-works'
26
+ gem 'hydra-works', '~> 0.1'
21
27
 
22
28
  And then execute:
23
29
 
@@ -48,7 +54,7 @@ collection = Collection.create
48
54
  book = BookWork.create
49
55
  page = Page.create
50
56
 
51
- collection.child_generic_works << book
57
+ collection.generic_works << book
52
58
  collection.save
53
59
  book.generic_files << page
54
60
  book.save
@@ -73,20 +79,20 @@ class BookFiles < ActiveFedora::Base
73
79
  end
74
80
  ```
75
81
 
76
-
77
82
  ## Access controls
78
83
 
79
84
  We are using [Web ACL](http://www.w3.org/wiki/WebAccessControl) as implemented by [hydra-access-controls](https://github.com/projecthydra/hydra-head/tree/master/hydra-access-controls).
80
85
 
81
86
  ## How to contribute
82
87
 
83
- If you'd like to contribute to this effort, please check out the [Contributing Guide](CONTRIBUTING.md)
88
+ If you'd like to contribute to this effort, please check out the [contributing guidelines](CONTRIBUTING.md)
84
89
 
85
90
  ## Development
86
91
 
87
92
  To set up for running the test suite, you need a copy of jetty
88
93
 
89
94
  $ rake jetty:clean
95
+ $ rake jetty:config
90
96
 
91
97
  To run the test suite, generate the test app (which goes into spec/internal) and start jetty (if it's not already running)
92
98
 
data/Rakefile CHANGED
@@ -1,23 +1,33 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
2
  require 'jettywrapper'
3
3
  require 'rspec/core'
4
4
  require 'rspec/core/rake_task'
5
5
  require 'engine_cart/rake_task'
6
+ require 'rubocop/rake_task'
6
7
 
7
- RSpec::Core::RakeTask.new(:spec)
8
- Jettywrapper.hydra_jetty_version = "master"
8
+ Dir.glob('lib/tasks/*.rake').each { |r| import r }
9
+
10
+ desc 'Run style checker'
11
+ RuboCop::RakeTask.new(:rubocop) do |task|
12
+ task.requires << 'rubocop-rspec'
13
+ task.fail_on_error = true
14
+ end
15
+
16
+ desc 'Run test suite and style checker'
17
+ task :spec do
18
+ Rake::Task['rubocop'].invoke
19
+ RSpec::Core::RakeTask.new(:spec)
20
+ end
9
21
 
10
22
  desc 'Spin up hydra-jetty and run specs'
11
- task ci: ['jetty:clean'] do
23
+ task ci: ['jetty:clean', 'jetty:config'] do
12
24
  puts 'running continuous integration'
13
25
  jetty_params = Jettywrapper.load_config
14
- jetty_params[:startup_wait]= 90
26
+ jetty_params[:startup_wait] = 90
15
27
  error = Jettywrapper.wrap(jetty_params) do
16
28
  Rake::Task['spec'].invoke
17
29
  end
18
- raise "test failures: #{error}" if error
30
+ fail "test failures: #{error}" if error
19
31
  end
20
32
 
21
33
  task default: :ci
22
-
23
-
@@ -0,0 +1,223 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <config>
3
+ <!-- NOTE: various comments and unused configuration possibilities have been purged
4
+ from this file. Please refer to http://wiki.apache.org/solr/SolrConfigXml,
5
+ as well as the default solrconfig file included with Solr -->
6
+
7
+ <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
8
+
9
+ <luceneMatchVersion>LUCENE_40</luceneMatchVersion>
10
+
11
+ <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
12
+
13
+ <!-- solr lib dirs -->
14
+ <lib dir="../lib/contrib/analysis-extras/lib" />
15
+ <lib dir="../lib/contrib/analysis-extras/lucene-libs" />
16
+ <!-- for full-text indexing -->
17
+ <lib dir="../lib/contrib/extraction/lib" regex=".*\.jar" />
18
+
19
+ <dataDir>${solr.data.dir:}</dataDir>
20
+
21
+ <!-- The default high-performance update handler -->
22
+ <updateHandler class="solr.DirectUpdateHandler2">
23
+
24
+ <!-- Enables a transaction log, used for real-time get, durability, and
25
+ and solr cloud replica recovery. The log can grow as big as
26
+ uncommitted changes to the index, so use of a hard autoCommit
27
+ is recommended (see below).
28
+ "dir" - the target directory for transaction logs, defaults to the
29
+ solr data directory. -->
30
+ <updateLog>
31
+ <str name="dir">${solr.ulog.dir:}</str>
32
+ </updateLog>
33
+
34
+ <!-- AutoCommit
35
+ Perform a hard commit automatically under certain conditions.
36
+ Instead of enabling autoCommit, consider using "commitWithin"
37
+ when adding documents.
38
+ http://wiki.apache.org/solr/UpdateXmlMessages
39
+ maxDocs - Maximum number of documents to add since the last
40
+ commit before automatically triggering a new commit.
41
+ maxTime - Maximum amount of time in ms that is allowed to pass
42
+ since a document was added before automatically
43
+ triggering a new commit.
44
+ openSearcher - if false, the commit causes recent index changes
45
+ to be flushed to stable storage, but does not cause a new
46
+ searcher to be opened to make those changes visible.
47
+ If the updateLog is enabled, then it's highly recommended to
48
+ have some sort of hard autoCommit to limit the log size.
49
+ -->
50
+ <autoCommit>
51
+ <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
52
+ <openSearcher>false</openSearcher>
53
+ </autoCommit>
54
+
55
+ <!-- softAutoCommit is like autoCommit except it causes a
56
+ 'soft' commit which only ensures that changes are visible
57
+ but does not ensure that data is synced to disk. This is
58
+ faster and more near-realtime friendly than a hard commit.
59
+ -->
60
+
61
+ <autoSoftCommit>
62
+ <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
63
+ </autoSoftCommit>
64
+
65
+ </updateHandler>
66
+
67
+ <requestHandler name="search" class="solr.SearchHandler" default="true">
68
+ <!-- default values for query parameters can be specified, these
69
+ will be overridden by parameters in the request
70
+ -->
71
+ <lst name="defaults">
72
+ <str name="defType">edismax</str>
73
+ <str name="echoParams">explicit</str>
74
+ <str name="q.alt">*:*</str>
75
+ <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
76
+ <int name="qs">1</int>
77
+ <int name="ps">2</int>
78
+ <float name="tie">0.01</float>
79
+ <!-- this qf and pf are used by default, if not otherwise specified by
80
+ client. The default blacklight_config will use these for the
81
+ "keywords" search. See the author_qf/author_pf, title_qf, etc
82
+ below, which the default blacklight_config will specify for
83
+ those searches. You may also be interested in:
84
+ http://wiki.apache.org/solr/LocalParams
85
+ -->
86
+ <str name="qf">
87
+ id
88
+ all_text_timv
89
+ active_fedora_model_ssi
90
+ object_type_si
91
+ </str>
92
+ <str name="pf">
93
+ all_text_timv^10
94
+ </str>
95
+
96
+ <str name="author_qf">
97
+ </str>
98
+ <str name="author_pf">
99
+ </str>
100
+ <str name="title_qf">
101
+ </str>
102
+ <str name="title_pf">
103
+ </str>
104
+ <str name="subject_qf">
105
+ </str>
106
+ <str name="subject_pf">
107
+ </str>
108
+
109
+ <str name="fl">
110
+ *,
111
+ score
112
+ </str>
113
+
114
+ <str name="facet">true</str>
115
+ <str name="facet.mincount">1</str>
116
+ <str name="facet.limit">10</str>
117
+ <str name="facet.field">active_fedora_model_ssi</str>
118
+ <str name="facet.field">object_type_si</str>
119
+
120
+ <str name="spellcheck">true</str>
121
+ <str name="spellcheck.dictionary">default</str>
122
+ <str name="spellcheck.onlyMorePopular">true</str>
123
+ <str name="spellcheck.extendedResults">true</str>
124
+ <str name="spellcheck.collate">false</str>
125
+ <str name="spellcheck.count">5</str>
126
+
127
+ </lst>
128
+ <arr name="last-components">
129
+ <str>spellcheck</str>
130
+ </arr>
131
+ </requestHandler>
132
+
133
+ <requestHandler name="permissions" class="solr.SearchHandler" >
134
+ <lst name="defaults">
135
+ <str name="facet">off</str>
136
+ <str name="echoParams">all</str>
137
+ <str name="rows">1</str>
138
+ <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
139
+ <str name="fl">
140
+ id,
141
+ access_ssim,
142
+ discover_access_group_ssim,discover_access_person_ssim,
143
+ read_access_group_ssim,read_access_person_ssim,
144
+ edit_access_group_ssim,edit_access_person_ssim,
145
+ depositor_ti,
146
+ embargo_release_date_dtsi
147
+ inheritable_access_ssim,
148
+ inheritable_discover_access_group_ssim,inheritable_discover_access_person_ssim,
149
+ inheritable_read_access_group_ssim,inheritable_read_access_person_ssim,
150
+ inheritable_edit_access_group_ssim,inheritable_edit_access_person_ssim,
151
+ inheritable_embargo_release_date_dtsi
152
+ </str>
153
+ </lst>
154
+ </requestHandler>
155
+
156
+ <requestHandler name="/update/extract" startup="lazy" class="org.apache.solr.handler.extraction.ExtractingRequestHandler" >
157
+ <lst name="defaults">
158
+ <!-- All the main content goes into "text"... if you need to return the extracted text or do highlighting, use a stored field. -->
159
+ <str name="fmap.content">text</str>
160
+ <str name="lowernames">true</str>
161
+ <str name="uprefix">ignored_</str>
162
+ <!-- capture link hrefs but ignore div attributes -->
163
+ <str name="captureAttr">true</str>
164
+ <str name="fmap.a">links</str>
165
+ <str name="fmap.div">ignored_</str>
166
+ </lst>
167
+ </requestHandler>
168
+
169
+ <requestHandler name="standard" class="solr.SearchHandler">
170
+ <lst name="defaults">
171
+ <str name="echoParams">explicit</str>
172
+ <str name="defType">lucene</str>
173
+ </lst>
174
+ </requestHandler>
175
+
176
+ <!-- for requests to get a single document; use id=666 instead of q=id:666 -->
177
+ <requestHandler name="document" class="solr.SearchHandler" >
178
+ <lst name="defaults">
179
+ <str name="echoParams">all</str>
180
+ <str name="fl">*</str>
181
+ <str name="rows">1</str>
182
+ <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
183
+ </lst>
184
+ </requestHandler>
185
+
186
+ <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
187
+ <str name="queryAnalyzerFieldType">textSpell</str>
188
+ <!-- Multiple "Spell Checkers" can be declared and used by this component
189
+ (e.g. for title_spell field)
190
+ -->
191
+ <lst name="spellchecker">
192
+ <str name="name">default</str>
193
+ <str name="field">spell</str>
194
+ <str name="spellcheckIndexDir">./spell</str>
195
+ <str name="buildOnOptimize">true</str>
196
+ </lst>
197
+ </searchComponent>
198
+
199
+ <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
200
+
201
+ <requestDispatcher handleSelect="true" >
202
+ <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
203
+ </requestDispatcher>
204
+
205
+ <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
206
+ <requestHandler name="/update" class="solr.UpdateRequestHandler" />
207
+ <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
208
+
209
+ <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
210
+ <lst name="invariants">
211
+ <str name="q">solrpingquery</str>
212
+ </lst>
213
+ <lst name="defaults">
214
+ <str name="echoParams">all</str>
215
+ </lst>
216
+ </requestHandler>
217
+
218
+ <!-- config for the admin interface -->
219
+ <admin>
220
+ <defaultQuery>search</defaultQuery>
221
+ </admin>
222
+
223
+ </config>
data/hydra-works.gemspec CHANGED
@@ -4,30 +4,30 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'hydra/works/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "hydra-works"
7
+ spec.name = 'hydra-works'
8
8
  spec.version = Hydra::Works::VERSION
9
- spec.authors = ["Justin Coyne"]
10
- spec.email = ["justin@curationexperts.com"]
9
+ spec.authors = ['Justin Coyne']
10
+ spec.email = ['justin@curationexperts.com']
11
11
  spec.summary = %q{Fundamental repository data model for hydra}
12
12
  spec.description = %q{Using this data model should enable easy collaboration amongst hydra projects.}
13
- spec.homepage = ""
14
- spec.license = "APACHE2"
13
+ spec.homepage = ''
14
+ spec.license = 'APACHE2'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
19
+ spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency "hydra-pcdm", "~> 0.1"
22
- spec.add_dependency "hydra-derivatives", "~> 2.0"
23
- spec.add_dependency "activefedora-aggregation", "~> 0.4"
24
- spec.add_dependency "active-fedora", "~> 9.2"
21
+ spec.add_dependency 'hydra-pcdm', '~> 0.2'
22
+ spec.add_dependency 'hydra-derivatives', '~> 2.0'
23
+ spec.add_dependency 'active-fedora', '>= 9.4.1'
24
+ spec.add_dependency 'activefedora-aggregation', '~> 0.4'
25
25
 
26
- spec.add_development_dependency "bundler", "~> 1.7"
27
- spec.add_development_dependency "rake", "~> 10.0"
28
- spec.add_development_dependency "rspec-rails", "~> 3.1"
29
- spec.add_development_dependency "engine_cart", "~> 0"
30
- spec.add_development_dependency "sqlite3"
26
+ spec.add_development_dependency 'bundler', '~> 1.7'
27
+ spec.add_development_dependency 'rake', '~> 10.0'
28
+ spec.add_development_dependency 'rspec-rails', '~> 3.1'
29
+ spec.add_development_dependency 'engine_cart', '~> 0'
30
+ spec.add_development_dependency 'sqlite3'
31
31
  spec.add_development_dependency 'jettywrapper', '>= 2.0.0'
32
32
  spec.add_development_dependency 'coveralls'
33
33
  spec.add_development_dependency 'rspec'