hydra-works 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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'