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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +72 -0
- data/Gemfile +5 -4
- data/README.md +17 -11
- data/Rakefile +18 -8
- data/config/solrconfig.xml +223 -0
- data/hydra-works.gemspec +15 -15
- data/lib/hydra/works.rb +28 -17
- data/lib/hydra/works/errors/full_text_extraction_error.rb +5 -0
- data/lib/hydra/works/models/concerns/block_child_objects.rb +12 -6
- data/lib/hydra/works/models/concerns/collection_behavior.rb +44 -6
- data/lib/hydra/works/models/concerns/generic_file/contained_files.rb +3 -3
- data/lib/hydra/works/models/concerns/generic_file/derivatives.rb +2 -4
- data/lib/hydra/works/models/concerns/generic_file/mime_types.rb +1 -3
- data/lib/hydra/works/models/concerns/generic_file/versioned_content.rb +4 -6
- data/lib/hydra/works/models/concerns/generic_file/virus_check.rb +13 -14
- data/lib/hydra/works/models/concerns/generic_file_behavior.rb +13 -3
- data/lib/hydra/works/models/concerns/generic_work_behavior.rb +34 -9
- data/lib/hydra/works/models/generic_file.rb +0 -3
- data/lib/hydra/works/services/generic_file/add_file_to_generic_file.rb +14 -16
- data/lib/hydra/works/services/generic_file/full_text_extraction_service.rb +57 -0
- data/lib/hydra/works/services/generic_file/generate_thumbnail.rb +13 -0
- data/lib/hydra/works/services/generic_file/persist_derivative.rb +3 -5
- data/lib/hydra/works/services/generic_file/{upload_file.rb → upload_file_to_generic_file.rb} +1 -3
- data/lib/hydra/works/version.rb +1 -1
- data/lib/hydra/works/vocab/works_terms.rb +9 -9
- data/lib/tasks/hydra-works_tasks.rake +80 -0
- data/lib/tasks/jetty.rake +15 -0
- data/spec/hydra/works/models/collection_spec.rb +258 -246
- data/spec/hydra/works/models/concerns/block_child_objects_spec.rb +6 -8
- data/spec/hydra/works/models/concerns/generic_file/contained_files_spec.rb +40 -48
- data/spec/hydra/works/models/concerns/generic_file/mime_types_spec.rb +16 -18
- data/spec/hydra/works/models/concerns/generic_file/versioned_content_spec.rb +11 -11
- data/spec/hydra/works/models/concerns/generic_file/virus_check_spec.rb +11 -8
- data/spec/hydra/works/models/concerns/generic_file_behavior_spec.rb +1 -1
- data/spec/hydra/works/models/generic_file_spec.rb +87 -85
- data/spec/hydra/works/models/generic_work_spec.rb +167 -169
- data/spec/hydra/works/services/full_text_extraction_service_spec.rb +89 -0
- data/spec/hydra/works/services/generic_file/add_file_to_generic_file_spec.rb +36 -38
- data/spec/hydra/works/services/generic_file/generate/thumbnail_spec.rb +10 -12
- data/spec/hydra/works/services/generic_file/upload_file_spec.rb +39 -42
- data/spec/hydra/works/services/persist_derivatives_spec.rb +2 -3
- data/spec/hydra/works_spec.rb +57 -61
- data/spec/spec_helper.rb +2 -4
- metadata +23 -15
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28a2824769ab44dca4138961476455d25db0d016
|
4
|
+
data.tar.gz: 7e0c7dae7cc6873680eb07bf882a1cc1b008e13e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ea7c389ceaeffe31367dffe19490162932afa1abeb5f5016ea2842003c7f36cc00bbe25a7b6160766f684fcb6009817074532d0bfc936928c6b0f570f9767be
|
7
|
+
data.tar.gz: cc6825f4d60eed260531714eb646d512debcdb004feba0c81f80b253c7ba935289a614202efa225966f178d677ea99898b135cd8619f911d7401aaf0f9b802e0
|
data/.gitignore
CHANGED
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
|
-
|
9
|
-
gem '
|
10
|
-
gem '
|
11
|
-
gem '
|
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://
|
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 *
|
8
|
-
* **GenericWork**: a *
|
9
|
-
* **Collection**: a *
|
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
|
-
|
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.
|
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 [
|
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
|
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
|
-
|
8
|
-
|
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
|
-
|
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<-1 5<-2 6<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 =
|
7
|
+
spec.name = 'hydra-works'
|
8
8
|
spec.version = Hydra::Works::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
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 =
|
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 = [
|
19
|
+
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency
|
22
|
-
spec.add_dependency
|
23
|
-
spec.add_dependency
|
24
|
-
spec.add_dependency
|
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
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
29
|
-
spec.add_development_dependency
|
30
|
-
spec.add_development_dependency
|
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'
|