hydra-access-controls 0.0.5 → 5.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
3
  require 'rspec/core/rake_task'
4
- APP_ROOT = File.expand_path("#{File.dirname(__FILE__)}")
5
- require "jettywrapper"
4
+
5
+ APP_ROOT= File.expand_path(File.join(File.dirname(__FILE__),".."))
6
+ require 'jettywrapper'
6
7
  # re-using hydra_jetty.rake from hydra-head
7
- import "lib/tasks/hydra_jetty.rake"
8
+ #import "lib/tasks/hydra_jetty.rake"
8
9
  import "lib/tasks/hydra-access-controls.rake"
9
10
 
10
11
  desc 'Default: run specs.'
@@ -16,4 +17,9 @@ RSpec::Core::RakeTask.new do |t|
16
17
  t.rcov = true
17
18
  t.rcov_opts = %w{--exclude spec\/*,gems\/*,ruby\/* --aggregate coverage.data}
18
19
  end
19
- end
20
+ end
21
+
22
+ desc "clean"
23
+ task :clean do
24
+ #nop, required by hydra-head ci
25
+ end
@@ -1,6 +1,4 @@
1
1
  development:
2
- default:
3
- url: http://localhost:<%= ENV['TEST_JETTY_PORT'] || 8983 %>/solr/development
2
+ url: http://localhost:<%= ENV['TEST_JETTY_PORT'] || 8983 %>/solr/development
4
3
  test:
5
- default:
6
- url: http://localhost:<%= ENV['TEST_JETTY_PORT'] || 8983 %>/solr/test
4
+ url: http://localhost:<%= ENV['TEST_JETTY_PORT'] || 8983 %>/solr/test
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/hydra-access-controls/version', __FILE__)
2
+ version = File.read(File.expand_path("../../HYDRA_VERSION", __FILE__)).strip
3
3
 
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Chris Beer", "Justin Coyne", "Matt Zumwalt"]
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
13
13
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
14
  gem.name = "hydra-access-controls"
15
15
  gem.require_paths = ["lib"]
16
- gem.version = Hydra::Access::Controls::VERSION
16
+ gem.version = version
17
17
 
18
18
  gem.add_dependency 'activesupport'
19
19
  gem.add_dependency 'active-fedora'
@@ -1,13 +1,6 @@
1
1
  require 'active_support'
2
2
  require 'active-fedora'
3
3
  require 'cancan'
4
- require 'deprecation'
5
- require "hydra-access-controls/version"
6
- begin
7
- require 'hydra/model_mixins'
8
- rescue LoadError
9
- end
10
- require 'hydra/datastream'
11
4
 
12
5
  module Hydra
13
6
  extend ActiveSupport::Autoload
@@ -16,12 +9,14 @@ module Hydra
16
9
  autoload :PolicyAwareAccessControlsEnforcement
17
10
  autoload :AccessControlsEvaluation
18
11
  autoload :Ability
12
+ autoload :Datastream
19
13
  autoload :PolicyAwareAbility
20
14
  autoload :AdminPolicy
21
15
  autoload :RoleMapperBehavior
22
16
 
23
17
  module ModelMixins
24
- autoload :RightsMetadata, 'hydra/model_mixins/rights_metadata'
18
+ extend ActiveSupport::Autoload
19
+ autoload :RightsMetadata
25
20
  end
26
21
 
27
22
  # This error is raised when a user isn't allowed to access a given controller action.
@@ -25,14 +25,10 @@ module Hydra::Ability
25
25
 
26
26
  def hydra_default_permissions(user, session)
27
27
  logger.debug("Usergroups are " + user_groups(user, session).inspect)
28
- if user.respond_to?(:is_being_superuser?) && Deprecation.silence(Hydra::SuperuserAttributes) {user.is_being_superuser?(session)}
29
- can :manage, :all
30
- else
31
- create_permissions(user, session)
32
- edit_permissions(user, session)
33
- read_permissions(user, session)
34
- custom_permissions(user, session)
35
- end
28
+ create_permissions(user, session)
29
+ edit_permissions(user, session)
30
+ read_permissions(user, session)
31
+ custom_permissions(user, session)
36
32
  end
37
33
 
38
34
  def create_permissions(user, session)
@@ -7,7 +7,7 @@ module Hydra::PolicyAwareAccessControlsEnforcement
7
7
  super
8
8
  additional_clauses = policy_clauses
9
9
  unless additional_clauses.nil? || additional_clauses.empty?
10
- solr_parameters[:fq].first << " OR " + policy_clauses
10
+ solr_parameters[:fq].first << " OR " + additional_clauses
11
11
  logger.debug("POLICY-aware Solr parameters: #{ solr_parameters.inspect }")
12
12
  end
13
13
  end
@@ -67,4 +67,4 @@ module Hydra::PolicyAwareAccessControlsEnforcement
67
67
  end
68
68
  end
69
69
 
70
- end
70
+ end
@@ -15,7 +15,7 @@ module Hydra::RoleMapperBehavior
15
15
  if user_or_uid.kind_of?(String)
16
16
  user = ::User.find_by_user_key(user_or_uid)
17
17
  user_id = user_or_uid
18
- elsif user_or_uid.kind_of?(::User) && user_or_uid.user_key
18
+ elsif user_or_uid.kind_of?(::User) && user_or_uid.user_key
19
19
  user = user_or_uid
20
20
  user_id = user.user_key
21
21
  end
@@ -66,7 +66,7 @@ describe Hydra::PolicyAwareAccessControlsEnforcement do
66
66
  end
67
67
 
68
68
  after(:all) do
69
- @policies.access.each {|p| p.delete }
69
+ @sample_policies.each {|p| p.delete }
70
70
  end
71
71
 
72
72
  subject { MockController.new }
@@ -97,6 +97,9 @@ describe Hydra::PolicyAwareAccessControlsEnforcement do
97
97
 
98
98
  describe "apply_gated_discovery" do
99
99
  it "should include policy-aware query" do
100
+ # stubbing out policies_with_access because solr doesn't always return them in the same order.
101
+ policy_pids = (1..6).map {|n| "test:policy#{n}"}
102
+ subject.should_receive(:policies_with_access).and_return(policy_pids)
100
103
  subject.apply_gated_discovery(@solr_parameters, @user_parameters)
101
104
  @solr_parameters[:fq].first.should include(" OR (is_governed_by_s:info\\:fedora/test\\:policy1 OR is_governed_by_s:info\\:fedora/test\\:policy2 OR is_governed_by_s:info\\:fedora/test\\:policy3 OR is_governed_by_s:info\\:fedora/test\\:policy4 OR is_governed_by_s:info\\:fedora/test\\:policy5 OR is_governed_by_s:info\\:fedora/test\\:policy6)")
102
105
  end
@@ -106,4 +109,4 @@ describe Hydra::PolicyAwareAccessControlsEnforcement do
106
109
  @solr_parameters[:fq].first.should_not include(" OR (is_governed_by_s:info\\:fedora/test\\:policy1 OR is_governed_by_s:info\\:fedora/test\\:policy2 OR is_governed_by_s:info\\:fedora/test\\:policy3 OR is_governed_by_s:info\\:fedora/test\\:policy4 OR is_governed_by_s:info\\:fedora/test\\:policy5 OR is_governed_by_s:info\\:fedora/test\\:policy6)")
107
110
  end
108
111
  end
109
- end
112
+ end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-access-controls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
5
- prerelease:
4
+ version: 5.0.0.pre1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Chris Beer
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-07-12 00:00:00.000000000 Z
14
+ date: 2012-09-26 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
@@ -132,20 +132,13 @@ executables: []
132
132
  extensions: []
133
133
  extra_rdoc_files: []
134
134
  files:
135
- - .gitignore
136
- - .gitmodules
137
- - .rspec
138
- - Gemfile
139
- - LICENSE
140
135
  - README.textile
141
136
  - Rakefile
142
137
  - config/fedora.yml
143
- - config/jetty.yml
144
138
  - config/solr.yml
145
139
  - hydra-access-controls.gemspec
146
140
  - lib/ability.rb
147
141
  - lib/hydra-access-controls.rb
148
- - lib/hydra-access-controls/version.rb
149
142
  - lib/hydra/ability.rb
150
143
  - lib/hydra/access_controls_enforcement.rb
151
144
  - lib/hydra/access_controls_evaluation.rb
@@ -161,9 +154,6 @@ files:
161
154
  - lib/role_mapper.rb
162
155
  - lib/tasks/hydra-access-controls.rake
163
156
  - lib/tasks/hydra_jetty.rake
164
- - solr_conf/conf/schema.xml
165
- - solr_conf/conf/solrconfig.xml
166
- - solr_conf/solr.xml
167
157
  - spec/factories.rb
168
158
  - spec/spec_helper.rb
169
159
  - spec/support/blacklight.rb
@@ -197,9 +187,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
197
187
  required_rubygems_version: !ruby/object:Gem::Requirement
198
188
  none: false
199
189
  requirements:
200
- - - ! '>='
190
+ - - ! '>'
201
191
  - !ruby/object:Gem::Version
202
- version: '0'
192
+ version: 1.3.1
203
193
  requirements: []
204
194
  rubyforge_project:
205
195
  rubygems_version: 1.8.24
@@ -225,3 +215,4 @@ test_files:
225
215
  - spec/unit/policy_aware_access_controls_enforcement_spec.rb
226
216
  - spec/unit/rights_metadata_spec.rb
227
217
  - spec/unit/role_mapper_spec.rb
218
+ has_rdoc:
data/.gitignore DELETED
@@ -1,19 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .rvmrc
4
- .bundle
5
- .config
6
- .yardoc
7
- Gemfile.lock
8
- InstalledFiles
9
- _yardoc
10
- coverage
11
- doc/
12
- lib/bundler/man
13
- pkg
14
- rdoc
15
- spec/reports
16
- test/tmp
17
- test/version_tmp
18
- tmp
19
- *.swp
@@ -1,3 +0,0 @@
1
- [submodule "jetty"]
2
- path = jetty
3
- url = git://github.com/projecthydra/hydra-jetty.git
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --format documentation
data/Gemfile DELETED
@@ -1,17 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in hydra-access-controls.gemspec
4
- gemspec
5
-
6
- group :development do
7
- gem 'jettywrapper'
8
- gem 'debugger', :platform => :mri_19
9
- end
10
-
11
- group :test do
12
- gem 'cucumber-rails', '>=1.2.0', :require=>false
13
- gem 'rcov', :platform => :mri_18
14
- gem 'simplecov', :platform => :mri_19
15
- gem 'simplecov-rcov', :platform => :mri_19
16
- gem 'factory_girl', '< 3.0.0' # factory girl 3+ doesn't work with ruby 1.8
17
- end
data/LICENSE DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2012 TODO: Write your name
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,5 +0,0 @@
1
- default:
2
- jetty_port: <%= ENV['TEST_JETTY_PORT'] || 8983 %>
3
- java_opts:
4
- - "-Xmx256m"
5
- - "-XX:MaxPermSize=128m"
@@ -1,7 +0,0 @@
1
- module Hydra
2
- module Access
3
- module Controls
4
- VERSION = "0.0.5"
5
- end
6
- end
7
- end
@@ -1,124 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <!--
3
- IMPORTANT
4
- This copy of the solr schema is only used in the context of testing hydra-head. If you want to make changes available to individual hydra heads, you must apply them to the template in lib/generators/hydra/templates/solr_config
5
- -->
6
- <schema name="Hydra" version="1.1">
7
- <!-- For complete comments from the Solr project example schema.xml:
8
- http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/solr/conf/schema.xml?view=markup
9
- See also:
10
- http://wiki.apache.org/solr/SchemaXml
11
- -->
12
- <types>
13
- <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
14
- <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
15
- <fieldType name="integer" class="solr.IntField" omitNorms="true"/>
16
- <fieldType name="long" class="solr.LongField" omitNorms="true"/>
17
- <fieldType name="float" class="solr.FloatField" omitNorms="true"/>
18
- <fieldType name="double" class="solr.DoubleField" omitNorms="true"/>
19
- <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
20
- <fieldType name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/>
21
- <fieldType name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/>
22
- <fieldType name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/>
23
- <fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true"/>
24
- <fieldType name="random" class="solr.RandomSortField" indexed="true" />
25
-
26
- <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
27
- <analyzer>
28
- <tokenizer class="solr.WhitespaceTokenizerFactory"/>
29
- </analyzer>
30
- </fieldType>
31
-
32
- <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
33
- <analyzer type="index">
34
- <tokenizer class="solr.WhitespaceTokenizerFactory"/>
35
- <filter class="solr.StopFilterFactory"
36
- ignoreCase="true"
37
- words="stopwords.txt"
38
- enablePositionIncrements="true"
39
- />
40
- <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
41
- <filter class="solr.LowerCaseFilterFactory"/>
42
- <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
43
- <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
44
- </analyzer>
45
- <analyzer type="query">
46
- <tokenizer class="solr.WhitespaceTokenizerFactory"/>
47
- <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
48
- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
49
- <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
50
- <filter class="solr.LowerCaseFilterFactory"/>
51
- <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
52
- <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
53
- </analyzer>
54
- </fieldType>
55
-
56
- <fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
57
- <analyzer>
58
- <tokenizer class="solr.WhitespaceTokenizerFactory"/>
59
- <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
60
- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
61
- <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
62
- <filter class="solr.LowerCaseFilterFactory"/>
63
- <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
64
- <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
65
- </analyzer>
66
- </fieldType>
67
-
68
- <fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
69
- <analyzer>
70
- <tokenizer class="solr.KeywordTokenizerFactory"/>
71
- <filter class="solr.LowerCaseFilterFactory" />
72
- <filter class="solr.TrimFilterFactory" />
73
- <filter class="solr.PatternReplaceFilterFactory"
74
- pattern="([^a-z])" replacement="" replace="all"
75
- />
76
- </analyzer>
77
- </fieldType>
78
-
79
- <fieldtype name="ignored" stored="false" indexed="false" class="solr.StrField" />
80
-
81
- </types>
82
-
83
- <!-- For complete comments from the Solr project example schema.xml:
84
- http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/solr/conf/schema.xml?view=markup
85
- See also:
86
- http://wiki.apache.org/solr/SchemaXml
87
- -->
88
- <fields>
89
-
90
- <field name="id" type="string" indexed="true" stored="true" required="true" />
91
- <field name="text" type="text" indexed="true" stored="true" multiValued="true"/>
92
- <field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
93
-
94
- <!-- format is used for facet, display, and choosing which partial to use for the show view, so it must be stored and indexed -->
95
- <field name="format" type="string" indexed="true" stored="true"/>
96
- <!-- pub_date is assumed by Blacklight's default configuration, so we must define it here to avoid errors -->
97
- <field name="pub_date" type="string" indexed="true" stored="true" multiValued="true"/>
98
-
99
- <dynamicField name="*_i" type="sint" indexed="true" stored="true"/>
100
- <dynamicField name="*_s" type="string" indexed="true" stored="true" multiValued="true"/>
101
- <dynamicField name="*_l" type="slong" indexed="true" stored="true"/>
102
- <dynamicField name="*_t" type="text" indexed="true" stored="true" multiValued="true"/>
103
- <dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
104
- <dynamicField name="*_f" type="sfloat" indexed="true" stored="true"/>
105
- <dynamicField name="*_d" type="sdouble" indexed="true" stored="true"/>
106
- <dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
107
-
108
- <dynamicField name="random*" type="random" />
109
- <!-- FIXME: Solr can't sort on a multivalued field -->
110
- <dynamicField name="*_sort" type="string" indexed="true" stored="false" multiValued="true"/>
111
- <!-- FIXME: generally, facet fields are not stored -->
112
- <dynamicField name="*_facet" type="string" indexed="true" stored="true" multiValued="true" />
113
- <dynamicField name="*_display" type="string" indexed="false" stored="true" multiValued="true" />
114
-
115
- </fields>
116
-
117
- <uniqueKey>id</uniqueKey>
118
- <defaultSearchField>text</defaultSearchField>
119
- <solrQueryParser defaultOperator="AND" />
120
- <copyField source="*_facet" dest="text" />
121
- <copyField source="*_t" dest="text" />
122
- <copyField source="*_s" dest="text" />
123
-
124
- </schema>
@@ -1,329 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <config>
3
- <!-- For complete comments from the Solr project example solrconfig.xml:
4
- http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/example/solr/conf/solrconfig.xml
5
- See also:
6
- http://wiki.apache.org/solr/SolrConfigXml
7
- -->
8
- <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
9
-
10
- <indexDefaults>
11
- <useCompoundFile>false</useCompoundFile>
12
- <mergeFactor>10</mergeFactor>
13
- <ramBufferSizeMB>32</ramBufferSizeMB>
14
- <maxMergeDocs>2147483647</maxMergeDocs>
15
- <maxFieldLength>10000</maxFieldLength>
16
- <writeLockTimeout>1000</writeLockTimeout>
17
- <commitLockTimeout>10000</commitLockTimeout>
18
- <lockType>single</lockType>
19
- </indexDefaults>
20
-
21
- <mainIndex>
22
- <useCompoundFile>false</useCompoundFile>
23
- <ramBufferSizeMB>32</ramBufferSizeMB>
24
- <mergeFactor>10</mergeFactor>
25
- <maxMergeDocs>2147483647</maxMergeDocs>
26
- <maxFieldLength>10000</maxFieldLength>
27
- <unlockOnStartup>false</unlockOnStartup>
28
- </mainIndex>
29
-
30
- <jmx />
31
-
32
- <!-- the default high-performance update handler -->
33
- <updateHandler class="solr.DirectUpdateHandler2">
34
- </updateHandler>
35
-
36
-
37
- <query>
38
- <maxBooleanClauses>1024</maxBooleanClauses>
39
- <filterCache class="solr.LRUCache"
40
- size="512"
41
- initialSize="512"
42
- autowarmCount="128"/>
43
- <queryResultCache class="solr.LRUCache"
44
- size="512"
45
- initialSize="512"
46
- autowarmCount="32"/>
47
- <documentCache class="solr.LRUCache"
48
- size="512"
49
- initialSize="512"
50
- autowarmCount="0"/>
51
- <enableLazyFieldLoading>true</enableLazyFieldLoading>
52
- <queryResultWindowSize>50</queryResultWindowSize>
53
- <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
54
- <HashDocSet maxSize="3000" loadFactor="0.75"/>
55
-
56
- <listener event="newSearcher" class="solr.QuerySenderListener">
57
- <arr name="queries">
58
- <lst> <str name="q">hydrus</str></lst>
59
- </arr>
60
- </listener>
61
-
62
- <listener event="firstSearcher" class="solr.QuerySenderListener">
63
- <arr name="queries">
64
- <lst> <str name="q">hydrus</str></lst>
65
- </arr>
66
- </listener>
67
-
68
- <useColdSearcher>false</useColdSearcher>
69
- <maxWarmingSearchers>2</maxWarmingSearchers>
70
- </query>
71
-
72
- <requestDispatcher handleSelect="true" >
73
- <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />
74
- <httpCaching lastModifiedFrom="openTime"
75
- etagSeed="Solr">
76
- </httpCaching>
77
- </requestDispatcher>
78
-
79
- <requestHandler name="standard" class="solr.SearchHandler">
80
- <lst name="defaults">
81
- <str name="echoParams">explicit</str>
82
- </lst>
83
- </requestHandler>
84
-
85
- <!-- For complete comments from the Solr project example solrconfig.xml:
86
- http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/example/solr/conf/solrconfig.xml
87
- See also:
88
- http://wiki.apache.org/solr/SolrConfigXml
89
- -->
90
-
91
- <requestHandler name="search" class="solr.SearchHandler" default="true">
92
- <lst name="defaults">
93
- <str name="defType">dismax</str>
94
- <!-- dismax params -->
95
- <str name="mm"> 2&lt;-1 5&lt;-2 6&lt;90% </str>
96
- <str name="q.alt">*:*</str>
97
- <!-- general -->
98
- <str name="facet">true</str>
99
- <str name="facet.mincount">1</str>
100
- <str name="echoParams">explicit</str>
101
- <str name="fl">
102
- id,title_t,title_display,date_t,year_facet,month_facet,has_model_s,has_collection_member_s,is_part_of_s,system_create_dt,
103
- person_0_role_t,person_1_role_t,person_2_role_t,person_3_role_t,person_4_role_t,person_5_role_t,person_6_role_t,
104
- person_7_role_t,person_8_role_t,person_9_role_t,
105
- person_0_first_name_t,person_1_first_name_t,person_2_first_name_t,person_3_first_name_t,person_4_first_name_t,
106
- person_5_first_name_t,person_6_first_name_t,person_7_first_name_t,person_8_first_name_t,person_9_first_name_t,
107
- person_0_last_name_t,person_1_last_name_t,person_2_last_name_t,person_3_last_name_t,person_4_last_name_t,
108
- person_5_last_name_t,person_6_last_name_t,person_7_last_name_t,person_8_last_name_t,person_9_last_name_t,
109
- status_t,subject_t,depositor_t,
110
- journal_title_info_t,journal_issue_publication_date_t,
111
- journal_issue_pages_end_t,journal_issue_volume_t,journal_title_info_main_title_t,journal_issue_pages_start_t,
112
- journal_issue_start_page_t, journal_issue_end_page_t, abstract_t,
113
- person_0_institution_t,person_1_institution_t,person_2_institution_t,person_3_institution_t,person_4_institution_t,person_5_institution_t,person_institution_role_t,
114
- person_7_institution_t,person_8_institution_t,person_9_institution_t,
115
- mods_gps_t, mods_region_t, mods_site_t, mods_ecosystem_t,
116
- mods_timespan_start_t, mods_timespan_end_t, description_t, mods_title_info_main_title_t, mods_0_title_info_0_main_title_t, embargo_release_date_dt, note_t,
117
- object_type_facet, department_facet, peer_reviewed_facet
118
- </str>
119
- </lst>
120
- </requestHandler>
121
-
122
- <requestHandler name="public_search" class="solr.SearchHandler" >
123
- <lst name="defaults">
124
- <!-- Making defType lucene to exclude file assets -->
125
- <str name="defType">lucene</str>
126
- <!-- lucene params -->
127
- <str name="df">has_model_s</str>
128
- <str name="q.op">AND</str>
129
- <!-- dismax params -->
130
- <str name="mm"> 2&lt;-1 5&lt;-2 6&lt;90% </str>
131
- <str name="q.alt">*:*</str>
132
- <str name="qf_dismax">id^0.8 id_t^0.8 format text^0.3</str>
133
- <str name="pf_dismax">id^0.9 id_t^0.9 text^0.5</str>
134
- <int name="ps">100</int>
135
- <float name="tie">0.01</float>
136
- <!-- general -->
137
- <str name="facet">on</str>
138
- <str name="facet.mincount">1</str>
139
- <str name="echoParams">explicit</str>
140
- <str name="fl">
141
- id,text,title_t,date_t,year_facet,month_facet,medium_t,series_facet,box_facet,folder_facet,has_model_s,has_collection_member_s,system_create_dt,
142
- person_0_role_t,person_1_role_t,person_2_role_t,person_3_role_t,person_4_role_t,person_5_role_t,person_6_role_t,person_7_role_t,person_8_role_t,person_9_role_t,
143
- person_0_first_name_t,person_1_first_name_t,person_2_first_name_t,person_3_first_name_t,person_4_first_name_t,person_5_first_name_t,person_6_first_name_t,person_7_first_name_t,person_8_first_name_t,person_9_first_name_t,
144
- person_0_last_name_t,person_1_last_name_t,person_2_last_name_t,person_3_last_name_t,person_4_last_name_t,person_5_last_name_t,person_6_last_name_t,person_7_last_name_t,person_8_last_name_t,person_9_last_name_t,depositor_t,
145
-
146
- journal_title_info_t, journal_title_info_main_title_t, journal_issue_publication_date_t, journal_issue_pages_start_t, journal_issue_pages_end_t, journal_issue_volume_t, journal_issue_start_page_t, journal_issue_end_page_t, abstract_t,
147
- person_0_institution_t,person_1_institution_t,person_2_institution_t,person_3_institution_t,person_4_institution_t,person_5_institution_t,person_institution_role_t,
148
- person_7_institution_t,person_8_institution_t,person_9_institution_t,
149
- mods_gps_t, mods_region_t, mods_site_t, mods_ecosystem_t,
150
- mods_timespan_start_t, mods_timespan_end_t, description_t, mods_title_info_t,mods_0_title_info_0_main_title_t, embargo_release_date_dt, note_t,
151
- object_type_facet, department_facet, peer_reviewed_facet
152
- </str>
153
- </lst>
154
- </requestHandler>
155
-
156
- <requestHandler name="fulltext" class="solr.SearchHandler" >
157
- <lst name="defaults">
158
- <str name="defType">dismax</str>
159
- <str name="facet">on</str>
160
- <str name="facet.mincount">1</str>
161
- <str name="echoParams">explicit</str>
162
- <float name="tie">0.01</float>
163
- <str name="qf">id^0.8 id_t^0.8 format text^0.3</str>
164
- <str name="pf">id^0.9 id_t^0.9 text^0.5</str>
165
- <str name="fl">
166
- id,text,title_t,date_t,year_facet,month_facet,medium_t,series_facet,box_facet,folder_facet
167
- </str>
168
- <str name="mm"> 2&lt;-1 5&lt;-2 6&lt;90% </str>
169
- <int name="ps">100</int>
170
- <str name="q.alt">*:*</str>
171
- </lst>
172
- </requestHandler>
173
-
174
- <!--
175
- Hydra Permissions request Handler
176
- For requests to get just the permissions related info about a document
177
- -->
178
- <requestHandler name="permissions" class="solr.SearchHandler" >
179
- <lst name="defaults">
180
- <str name="facet">off</str>
181
- <str name="echoParams">all</str>
182
- <str name="rows">1</str>
183
- <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
184
- <str name="fl">
185
- id,access_t,
186
- discover_access_group_t,discover_access_person_t,
187
- read_access_group_t,read_access_person_t,
188
- edit_access_group_t,edit_access_person_t,
189
- depositor_t,
190
- embargo_release_date_dt
191
- inheritable_access_t,
192
- inheritable_discover_access_group_t,inheritable_discover_access_person_t,
193
- inheritable_read_access_group_t,inheritable_read_access_person_t,
194
- inheritable_edit_access_group_t,inheritable_edit_access_person_t,
195
- inheritable_embargo_release_date_dt
196
- </str>
197
- </lst>
198
- </requestHandler>
199
-
200
- <!-- for requests to get a single document; use id=666 instead of q=id:666 -->
201
- <requestHandler name="document" class="solr.SearchHandler" >
202
- <lst name="defaults">
203
- <str name="echoParams">all</str>
204
- <str name="fl">*</str>
205
- <str name="rows">1</str>
206
- <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
207
-
208
- <!-- facets on for a single document response??? -->
209
- <str name="facet">on</str>
210
- <str name="facet.mincount">1</str>
211
-
212
- <str name="facet.field">collection_facet</str>
213
- <str name="facet.field">technology_facet</str>
214
- <str name="facet.field">person_facet</str>
215
- <!-- <str name="facet.field">title_t</str> -->
216
- <str name="facet.field">city_facet</str>
217
- <str name="facet.field">organization_facet</str>
218
- <str name="facet.field">company_facet</str>
219
- <str name="facet.field">year_facet</str>
220
- <str name="facet.field">state_facet</str>
221
- <str name="facet.field">series_facet</str>
222
- <str name="facet.field">box_facet</str>
223
- <str name="facet.field">folder_facet</str>
224
- <str name="facet.field">donor_tags_facet</str>
225
- <str name="facet.field">archivist_tags_facet</str>
226
-
227
- </lst>
228
- </requestHandler>
229
-
230
- <!-- The spell check component can return a list of alternative spelling
231
- suggestions. -->
232
- <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
233
-
234
- <str name="queryAnalyzerFieldType">textSpell</str>
235
-
236
- <lst name="spellchecker">
237
- <str name="name">default</str>
238
- <str name="field">spell</str>
239
- <str name="spellcheckIndexDir">./spellchecker1</str>
240
-
241
- </lst>
242
- <lst name="spellchecker">
243
- <str name="name">jarowinkler</str>
244
- <str name="field">spell</str>
245
- <!-- Use a different Distance Measure -->
246
- <str name="distanceMeasure">org.apache.lucene.search.spell.JaroWinklerDistance</str>
247
- <str name="spellcheckIndexDir">./spellchecker2</str>
248
-
249
- </lst>
250
-
251
- <lst name="spellchecker">
252
- <str name="classname">solr.FileBasedSpellChecker</str>
253
- <str name="name">file</str>
254
- <str name="sourceLocation">spellings.txt</str>
255
- <str name="characterEncoding">UTF-8</str>
256
- <str name="spellcheckIndexDir">./spellcheckerFile</str>
257
- </lst>
258
- </searchComponent>
259
-
260
- <!-- a request handler utilizing the spellcheck component -->
261
- <requestHandler name="/spellCheckCompRH" class="solr.SearchHandler">
262
- <lst name="defaults">
263
- <!-- omp = Only More Popular -->
264
- <str name="spellcheck.onlyMorePopular">false</str>
265
- <!-- exr = Extended Results -->
266
- <str name="spellcheck.extendedResults">false</str>
267
- <!-- The number of suggestions to return -->
268
- <str name="spellcheck.count">1</str>
269
- </lst>
270
- <arr name="last-components">
271
- <str>spellcheck</str>
272
- </arr>
273
- </requestHandler>
274
-
275
- <!-- a search component that enables you to configure the top results for
276
- a given query regardless of the normal lucene scoring.-->
277
- <searchComponent name="elevator" class="solr.QueryElevationComponent" >
278
- <!-- pick a fieldType to analyze queries -->
279
- <str name="queryFieldType">string</str>
280
- <str name="config-file">elevate.xml</str>
281
- </searchComponent>
282
-
283
- <!-- a request handler utilizing the elevator component -->
284
- <requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
285
- <lst name="defaults">
286
- <str name="echoParams">explicit</str>
287
- </lst>
288
- <arr name="last-components">
289
- <str>elevator</str>
290
- </arr>
291
- </requestHandler>
292
-
293
- <requestHandler name="/update" class="solr.XmlUpdateRequestHandler" />
294
- <requestHandler name="/analysis" class="solr.AnalysisRequestHandler" />
295
- <requestHandler name="/update/csv" class="solr.CSVRequestHandler" startup="lazy" />
296
- <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
297
- <requestHandler name="/admin/ping" class="PingRequestHandler">
298
- <lst name="defaults">
299
- <str name="qt">standard</str>
300
- <str name="q">solrpingquery</str>
301
- <str name="echoParams">all</str>
302
- </lst>
303
- </requestHandler>
304
- <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
305
- <lst name="defaults">
306
- <str name="echoParams">explicit</str> <!-- for all params (including the default etc) use: 'all' -->
307
- <str name="echoHandler">true</str>
308
- </lst>
309
- </requestHandler>
310
-
311
- <!--
312
- <queryResponseWriter name="xml" class="org.apache.solr.request.XMLResponseWriter" default="true"/>
313
- <queryResponseWriter name="json" class="org.apache.solr.request.JSONResponseWriter"/>
314
- <queryResponseWriter name="ruby" class="org.apache.solr.request.RubyResponseWriter"/>
315
- -->
316
-
317
- <!-- XSLT response writer transforms the XML output by any xslt file found
318
- in Solr's conf/xslt directory. Changes to xslt files are checked for
319
- every xsltCacheLifetimeSeconds.
320
- -->
321
- <queryResponseWriter name="xslt" class="org.apache.solr.request.XSLTResponseWriter">
322
- <int name="xsltCacheLifetimeSeconds">5</int>
323
- </queryResponseWriter>
324
-
325
- <admin>
326
- <defaultQuery>hydra</defaultQuery>
327
- </admin>
328
-
329
- </config>
@@ -1,35 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <!--
3
- Licensed to the Apache Software Foundation (ASF) under one or more
4
- contributor license agreements. See the NOTICE file distributed with
5
- this work for additional information regarding copyright ownership.
6
- The ASF licenses this file to You under the Apache License, Version 2.0
7
- (the "License"); you may not use this file except in compliance with
8
- the License. You may obtain a copy of the License at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- Unless required by applicable law or agreed to in writing, software
13
- distributed under the License is distributed on an "AS IS" BASIS,
14
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- See the License for the specific language governing permissions and
16
- limitations under the License.
17
- -->
18
-
19
- <!--
20
- All (relative) paths are relative to the installation path
21
-
22
- persistent: Save changes made via the API to this file
23
- sharedLib: path to a lib directory that will be shared across all cores
24
- -->
25
- <solr persistent="false">
26
-
27
- <!--
28
- adminPath: RequestHandler path to manage cores.
29
- If 'null' (or absent), cores will not be manageable via REST
30
- -->
31
- <cores adminPath="/admin/cores">
32
- <core name="core0" instanceDir="core0" />
33
- <core name="core1" instanceDir="core1" />
34
- </cores>
35
- </solr>