hydra-head 3.2.1 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hydra-head (3.2.0)
4
+ hydra-head (3.2.2)
5
5
  RedCloth (= 4.2.3)
6
- active-fedora (>= 3.2.0)
6
+ active-fedora (>= 3.2.2)
7
7
  blacklight (~> 3.1.2)
8
8
  block_helpers
9
9
  builder (= 2.1.2)
@@ -11,6 +11,7 @@ PATH
11
11
  crack
12
12
  curb (= 0.7.15)
13
13
  database_cleaner
14
+ devise
14
15
  diff-lcs
15
16
  facets (= 2.8.4)
16
17
  haml
@@ -32,6 +33,7 @@ PATH
32
33
  solr-ruby
33
34
  solrizer (>= 1.1.0)
34
35
  solrizer-fedora (>= 1.2.2)
36
+ sqlite3-ruby (~> 1.2.5)
35
37
  term-ansicolor
36
38
  trollop
37
39
  will_paginate
@@ -55,7 +57,7 @@ GEM
55
57
  rack-mount (~> 0.6.14)
56
58
  rack-test (~> 0.5.7)
57
59
  tzinfo (~> 0.3.23)
58
- active-fedora (3.2.0)
60
+ active-fedora (3.2.2)
59
61
  activeresource (>= 3.0.0)
60
62
  activesupport (>= 3.0.0)
61
63
  equivalent-xml
@@ -67,7 +69,7 @@ GEM
67
69
  om (>= 1.4.4)
68
70
  rdf
69
71
  rdf-rdfxml
70
- rubydora (~> 0.3.0)
72
+ rubydora (~> 0.4.1)
71
73
  solr-ruby (>= 0.0.6)
72
74
  solrizer (> 1.0.0)
73
75
  xml-simple (>= 1.0.12)
@@ -88,6 +90,7 @@ GEM
88
90
  akami (1.0.0)
89
91
  gyoku (>= 0.4.0)
90
92
  arel (2.0.10)
93
+ bcrypt-ruby (3.0.1)
91
94
  blacklight (3.1.2)
92
95
  kaminari
93
96
  marc (~> 0.4.3)
@@ -121,8 +124,12 @@ GEM
121
124
  cucumber (>= 1.1.3)
122
125
  nokogiri (>= 1.5.0)
123
126
  curb (0.7.15)
124
- daemons (1.1.5)
125
- database_cleaner (0.7.0)
127
+ daemons (1.1.6)
128
+ database_cleaner (0.7.1)
129
+ devise (1.5.3)
130
+ bcrypt-ruby (~> 3.0)
131
+ orm_adapter (~> 0.0.3)
132
+ warden (~> 1.1)
126
133
  diff-lcs (1.1.3)
127
134
  equivalent-xml (0.2.8)
128
135
  nokogiri (>= 1.4.3)
@@ -133,7 +140,7 @@ GEM
133
140
  activesupport
134
141
  fastercsv (1.5.4)
135
142
  ffi (1.0.11)
136
- gherkin (2.7.1)
143
+ gherkin (2.7.4)
137
144
  json (>= 1.4.6)
138
145
  gyoku (0.4.4)
139
146
  builder (>= 2.1.2)
@@ -150,8 +157,8 @@ GEM
150
157
  i18n
151
158
  logger
152
159
  mediashelf-loggable
153
- json (1.6.3)
154
- json_pure (1.6.4)
160
+ json (1.6.5)
161
+ json_pure (1.6.5)
155
162
  kaminari (0.13.0)
156
163
  actionpack (>= 3.0.0)
157
164
  activesupport (>= 3.0.0)
@@ -180,6 +187,7 @@ GEM
180
187
  om (1.4.4)
181
188
  mediashelf-loggable
182
189
  nokogiri (>= 1.4.2)
190
+ orm_adapter (0.0.6)
183
191
  polyglot (0.3.3)
184
192
  rack (1.2.4)
185
193
  rack-mount (0.6.14)
@@ -233,7 +241,7 @@ GEM
233
241
  ruby-debug-base (~> 0.10.4.0)
234
242
  ruby-debug-base (0.10.4)
235
243
  linecache (>= 0.3)
236
- rubydora (0.3.1)
244
+ rubydora (0.4.1)
237
245
  activemodel
238
246
  activesupport
239
247
  fastercsv
@@ -273,6 +281,7 @@ GEM
273
281
  rsolr
274
282
  solr-ruby (>= 0.0.6)
275
283
  solrizer (>= 1.0.0)
284
+ sqlite3-ruby (1.2.5)
276
285
  stomp (1.2.0)
277
286
  term-ansicolor (1.0.7)
278
287
  thor (0.14.6)
@@ -282,6 +291,8 @@ GEM
282
291
  trollop (1.16.2)
283
292
  tzinfo (0.3.31)
284
293
  unicode (0.4.0)
294
+ warden (1.1.0)
295
+ rack (>= 1.0)
285
296
  wasabi (2.0.0)
286
297
  nokogiri (>= 1.4.0)
287
298
  will_paginate (3.0.2)
data/HISTORY.textile CHANGED
@@ -1,3 +1,7 @@
1
+ h3. 3.2.2
2
+ * Update to ActiveFedora 3.2.2 to fix severe error
3
+ * HYDRA-661: deprecated tasks and made them call AF repo tasks
4
+
1
5
  h3. 3.2.1
2
6
  * SubmissionWorkflow was not being required
3
7
  * Removed JettyCleaner (broken and unused)
data/hydra-head.gemspec CHANGED
@@ -14,7 +14,9 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.add_dependency "rails", '~> 3.0.10'
16
16
  s.add_dependency "blacklight", '~>3.1.2'
17
- s.add_dependency "active-fedora", '>=3.2.0'
17
+ s.add_dependency "devise"
18
+ s.add_dependency 'sqlite3-ruby', '~>1.2.5' #Locked here because centos 5.2 (Hudson) won't support a modern version
19
+ s.add_dependency "active-fedora", '>=3.2.2'
18
20
  s.add_dependency 'builder', '2.1.2'
19
21
  s.add_dependency 'columnize'
20
22
  s.add_dependency 'crack'
@@ -8,7 +8,7 @@
8
8
  <comment>Defines one or more email addresses for server administrators;
9
9
  list is space delimited.</comment>
10
10
  </param>
11
- <param name="fedoraServerPort" value="8080">
11
+ <param name="fedoraServerPort" value="8983">
12
12
  <comment>Defines the port number on which the Fedora server runs;
13
13
  default is 8080.</comment>
14
14
  </param>
@@ -156,7 +156,7 @@
156
156
  context-appropriate DOReaders and DOWriters for reflecting on and
157
157
  writing to the objects stored in the repository. It also provides
158
158
  methods for reflecting on the contents of the repository as a whole..</comment>
159
- <param name="pidNamespace" value="hydrangea">
159
+ <param name="pidNamespace" value="changeme">
160
160
  <comment>This is the namespace id for pids of newly-created objects.
161
161
  This should be unique for a repository. It can be from 1 to 17
162
162
  characters, and may only contain A-Z, a-z, 0-9, &apos;.&apos;, or &apos;-&apos; (dash).</comment>
@@ -181,7 +181,7 @@
181
181
  RELS-INT datastreams where these are not already present when
182
182
  adding relationships via addRelationship. Must be &quot;X&quot; or &quot;M&quot;.</comment>
183
183
  </param>
184
- <param name="gSearchRESTURL" value="http://localhost:8080/fedoragsearch/rest">
184
+ <param name="gSearchRESTURL" value="http://localhost:8983/fedoragsearch/rest">
185
185
  <comment>The REST endpoint of the Fedora Generic Search service.
186
186
  This parameter is only required if GSearchDOManager is
187
187
  used.</comment>
@@ -417,7 +417,7 @@
417
417
  <comment>Fedora's Java Messaging Service (JMS) Module</comment>
418
418
  <param name="enabled" value="false"/>
419
419
  <param name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
420
- <param name="java.naming.provider.url" value="vm:(broker:(tcp://localhost:61616))"/>
420
+ <param name="java.naming.provider.url" value="vm:(broker:(tcp://localhost:61616,stomp://localhost:61613))"/>
421
421
  <param name="datastore1" value="apimUpdateMessages">
422
422
  <comment>A datastore representing a JMS Destination for APIM events which update the repository</comment>
423
423
  </param>
@@ -0,0 +1,1021 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <server xmlns="http://www.fedora.info/definitions/1/0/config/" class="org.fcrepo.server.BasicServer">
3
+ <param name="repositoryName" value="Fedora Repository">
4
+ <comment>Defines a human readable name for the Fedora server; default is
5
+ Fedora Repository.</comment>
6
+ </param>
7
+ <param name="adminEmailList" value="bob@example.org sally@example.org">
8
+ <comment>Defines one or more email addresses for server administrators;
9
+ list is space delimited.</comment>
10
+ </param>
11
+ <param name="fedoraServerPort" value="8983">
12
+ <comment>Defines the port number on which the Fedora server runs;
13
+ default is 8080.</comment>
14
+ </param>
15
+ <param name="fedoraShutdownPort" value="8005">
16
+ <comment>Defines the port number used to shutdown the Fedora sever;
17
+ default is 8005.</comment>
18
+ </param>
19
+ <param name="fedoraRedirectPort" value="8443">
20
+ <comment>Defines the redirect port of the Fedora sever; default is 8443.</comment>
21
+ </param>
22
+ <param name="fedoraServerHost" value="localhost">
23
+ <comment>Defines the host name for the Fedora server, as seen from the
24
+ outside world.</comment>
25
+ </param>
26
+ <param name="fedoraAppServerContext" value="fedora-test">
27
+ <comment>Defines the context name for the Fedora server within the
28
+ application server. If set to eg &quot;myfedora&quot; the URL for Fedora will result
29
+ in http[s]://fedoraServerHost[:fedoraServerPort]/myfedora.</comment>
30
+ </param>
31
+ <param name="datastreamExpirationLimit" value="300">
32
+ <comment>Controls the size of the datastream mediation hash by removing
33
+ entries outside the specified threshold. The value is specified in
34
+ seconds. Note this value must be greater than the limit specified for
35
+ the datastreamMediationLimit.</comment>
36
+ </param>
37
+ <param name="datastreamMediationLimit" value="5000">
38
+ <comment>Determines the time interval in which external mechanisms must
39
+ respond to requests by the Fedora server. The value is specified in
40
+ milliseconds. The value specified should be set high enough to allow
41
+ for an average response time from any single external mechanisms. Note
42
+ this value must be less than the limit specified for the
43
+ datastreamExpirationLimit.</comment>
44
+ </param>
45
+ <param name="datastreamContentDispositionInlineEnabled" value="true">
46
+ <comment>determines if a content-disposition header specifying &quot;inline&quot; and
47
+ a filename is added to the response for the REST API getDatastreamDissemination
48
+ when no query parameter of download=true is specified. Browser support for
49
+ recognising a filename in case of &quot;inline&quot; content disposition is patchy,
50
+ so you may wish to disable the content disposition header in this case and only
51
+ have it provided when download=true is specified, in which case the content disposition
52
+ of &quot;attachment&quot; will be used; which is generally supported.</comment>
53
+ </param>
54
+ <param name="datastreamFilenameSource" value="rels label id">
55
+ <comment>determines the source of the filename generated when download=true
56
+ on a datastream dissemination. Value is space separated list of label: use the datastream label;
57
+ id: use the datastream ID; rels: use the value defined in RELS-INT. Each
58
+ source is checked in order, and the first containing a value is used. Omit
59
+ any of the sources if that source is never to be used. If no sources are to be used,
60
+ and just the default filename and extension below are to be used, specify &quot; &quot;.</comment>
61
+ </param>
62
+ <param name="datastreamExtensionMappingLabel" value="always">
63
+ <comment>Controls filename extension mapping when the datastream label is used
64
+ as the source of the filename. Values are always: always generate an extension
65
+ based on the MIMETYPE, using the default extension if none can be determined;
66
+ ifmissing: generate an extension if the filename obtained from the source does not
67
+ already contain one (again returning the default if there is no MIMETYPE-to-extension
68
+ mapping is found); never: never generate an extension, use the filename from the source
69
+ as-is</comment>
70
+ </param>
71
+ <param name="datastreamExtensionMappingId" value="ifmissing">
72
+ <comment>Controls filename extension mapping when the datastream ID is used
73
+ as the source of the filename. Values are as above.</comment>
74
+ </param>
75
+ <param name="datastreamExtensionMappingRels" value="never">
76
+ <comment>Controls filename extension mapping when RELS-INT is used
77
+ as the source of the filename. Values are as above.</comment>
78
+ </param>
79
+ <param name="datastreamExtensionMappingDefault" value="never">
80
+ <comment>Controls filename extension mapping when no filename can be determined from
81
+ the sources listed in datastreamFilenameSource. Values are always: always generate an extension
82
+ based on the MIMETYPE (using the default if no appropriate mapping is specified);
83
+ never: never generate an extension.</comment>
84
+ </param>
85
+ <param name="datastreamDefaultFilename" value="download">
86
+ <comment>Filename to use for datastream downloads when none can be determined from the
87
+ sources listed in datastreamFilenameSource.</comment>
88
+ </param>
89
+ <param name="datastreamDefaultExtension" value="bin">
90
+ <comment>Extension to use when none can be determined from mappings</comment>
91
+ </param>
92
+ <param name="datastreamExtensionMappingSource" value="mime-to-extensions.xml">
93
+ <comment>Source of mappings from MIMETYPE to file extension</comment>
94
+ </param>
95
+ <param name="httpClientTimeoutSecs" value="20">
96
+ <comment>Number of seconds Fedora http client will wait for a connection before timing
97
+ out.</comment>
98
+ </param>
99
+ <param name="httpClientSocketTimeoutSecs" value="120">
100
+ <comment>Number of seconds Fedora http client will wait for data coming across an
101
+ established http connection.</comment>
102
+ </param>
103
+ <param name="httpClientMaxConnectionsPerHost" value="5">
104
+ <comment>Maximum number of Fedora http client connections allowed to a given host.</comment>
105
+ </param>
106
+ <param name="httpClientMaxTotalConnections" value="5">
107
+ <comment>Maximum number of total Fedora http client connections allowed at once.</comment>
108
+ </param>
109
+ <param name="httpClientFollowRedirects" value="true">
110
+ <comment>Should the Fedora http client follow redirects?</comment>
111
+ </param>
112
+ <param name="httpClientMaxFollowRedirects" value="3">
113
+ <comment>Maximun number of redirects the Fedora http client will follow (only if
114
+ httpClientFollowRedirects is set to true.)</comment>
115
+ </param>
116
+ <param name="httpClientUserAgent" value="Fedora">
117
+ <comment>The value to be set for the User-Agent HTTP request header.</comment>
118
+ </param>
119
+ <module role="org.fcrepo.server.storage.lowlevel.ILowlevelStorage" class="org.fcrepo.server.storage.lowlevel.akubra.AkubraLowlevelStorageModule">
120
+ </module>
121
+ <module role="org.fcrepo.server.security.Authorization" class="org.fcrepo.server.security.DefaultAuthorization">
122
+ <comment>Builds and manages Fedora's authorization structure.</comment>
123
+ <param name="REPOSITORY-POLICIES-DIRECTORY" value="data/fedora-xacml-policies/repository-policies" isFilePath="true"/>
124
+ <param name="REPOSITORY-POLICY-GUITOOL-POLICIES-DIRECTORY" value="data/fedora-xacml-policies/repository-policies-generated-by-policyguitool" isFilePath="true">
125
+ <comment>This parameter is for future use.</comment>
126
+ </param>
127
+ <param name="XACML-COMBINING-ALGORITHM" value="com.sun.xacml.combine.OrderedDenyOverridesPolicyAlg"/>
128
+ <param name="ENFORCE-MODE" value="permit-all-requests"/>
129
+ <param name="POLICY-SCHEMA-PATH" value="xsd/cs-xacml-schema-policy-01.xsd"/>
130
+ <param name="VALIDATE-REPOSITORY-POLICIES" value="true"/>
131
+ <param name="VALIDATE-OBJECT-POLICIES-FROM-FILE" value="false"/>
132
+ <param name="VALIDATE-OBJECT-POLICIES-FROM-DATASTREAM" value="false"/>
133
+ </module>
134
+ <module role="org.fcrepo.server.security.BackendSecurity" class="org.fcrepo.server.security.DefaultBackendSecurity">
135
+ <comment>Description: Interface to the backend service security
136
+ configuration. This module initializes backend service security
137
+ information in the server by parsing the beSecurity configuration file.
138
+ This file is located in the distribution in
139
+ $FEDORA_HOME/dist/server/config/beSecurity.xml. The configuration file
140
+ is read once at server startup.</comment>
141
+ <param name="beSecurity_validation" value="false">
142
+ <comment>Controls whether beSecurity config file is validated
143
+ against the beSecurityDescription schema. The default is
144
+ &quot;false&quot;. Valid values are &quot;true&quot; or
145
+ &quot;false&quot;.</comment>
146
+ </param>
147
+ <param name="beSecurity_char_encoding" value="utf-8">
148
+ <comment>The character encoding used for the beSecurity
149
+ configuration file. The default is &quot;utf-8&quot;. The value
150
+ specified must correspond to the character encoding used in the
151
+ beSecurity configuration file.</comment>
152
+ </param>
153
+ </module>
154
+ <module role="org.fcrepo.server.storage.DOManager" class="org.fcrepo.server.storage.DefaultDOManager">
155
+ <comment>The interface to the storage subsystem. This provides
156
+ context-appropriate DOReaders and DOWriters for reflecting on and
157
+ writing to the objects stored in the repository. It also provides
158
+ methods for reflecting on the contents of the repository as a whole..</comment>
159
+ <param name="pidNamespace" value="changeme">
160
+ <comment>This is the namespace id for pids of newly-created objects.
161
+ This should be unique for a repository. It can be from 1 to 17
162
+ characters, and may only contain A-Z, a-z, 0-9, &apos;.&apos;, or &apos;-&apos; (dash).</comment>
163
+ </param>
164
+ <param name="storagePool" value="localDerbyPool">
165
+ <comment>The named connection pool from which read/write database
166
+ connections are to be provided for the storage subsystem (see the
167
+ ConnectionPoolManager module). Default is the default provided by the
168
+ ConnectionPoolManager.</comment>
169
+ </param>
170
+ <param name="storageCharacterEncoding" value="UTF-8">
171
+ <comment>If the serialization format is text-based, this is the
172
+ character encoding that should be used. Default is UTF-8.</comment>
173
+ </param>
174
+ <param name="defaultExportFormat" value="info:fedora/fedora-system:FOXML-1.1"/>
175
+ <param name="defaultDCControlGroup" value="X">
176
+ <comment>The control group to use for the system-generated DC datastream
177
+ if no DC datastream is present on ingest. Must be &quot;X&quot; or &quot;M&quot;.</comment>
178
+ </param>
179
+ <param name="defaultRELSControlGroup" value="X">
180
+ <comment>The control group to use for system-generated RELS-EXT and
181
+ RELS-INT datastreams where these are not already present when
182
+ adding relationships via addRelationship. Must be &quot;X&quot; or &quot;M&quot;.</comment>
183
+ </param>
184
+ <param name="gSearchRESTURL" value="http://localhost:8983/fedoragsearch/rest">
185
+ <comment>The REST endpoint of the Fedora Generic Search service.
186
+ This parameter is only required if GSearchDOManager is
187
+ used.</comment>
188
+ </param>
189
+ <param name="gSearchUsername" value="exampleUsername">
190
+ <comment>The username for accessing the REST endpoint of the
191
+ Fedora Generic Search service. This parameter is only required if
192
+ GSearchDOManager is used, and the service requires
193
+ authentication.</comment>
194
+ </param>
195
+ <param name="gSearchPassword" value="examplePassword">
196
+ <comment>The associated password for accessing the REST endpoint
197
+ of the Fedora Generic Search service. This parameter is only
198
+ required if GSearchDOManager is used, and the service requires
199
+ authentication.</comment>
200
+ </param>
201
+ </module>
202
+ <module role="org.fcrepo.server.management.Management" class="org.fcrepo.server.management.ManagementModule">
203
+ <comment>The management subsystem. This implements the methods necessary
204
+ to fulfill API-M requests without regard to:
205
+ - how the service is exposed
206
+ - how bytestreams and java types might be marshalled/demarshalled over the wire
207
+ - how the storage subsystem is implemented.</comment>
208
+ <param name="decorator1" value="org.fcrepo.server.messaging.NotificationInvocationHandler"/>
209
+ <param name="autoChecksum" value="false">
210
+ <comment>Controls whether a checksum is automatically computed for
211
+ every datastream as the datastream is added to the repository. This
212
+ will allow the integrity of datastream contents to be periodically
213
+ checked to insure the object is not corrupted.</comment>
214
+ </param>
215
+ <param name="checksumAlgorithm" value="MD5">
216
+ <comment>Specifies which checksumming algorithm is to be used when
217
+ automatically computing checksums as specified by the above
218
+ parameter. Valid values are: MD5 SHA-1 SHA-256 SHA-384 SHA-512.</comment>
219
+ </param>
220
+ <param name="purgeDelayInMillis" value="60000">
221
+ <comment>Optional, default is 60000 (1 minute).
222
+ This specifies the amount of time between checks to remove
223
+ temporary files uploaded via the API-M upload interface. During
224
+ each check, old files whose age exceeds uploadStorageMinutes
225
+ will be removed.</comment>
226
+ </param>
227
+ <param name="uploadStorageMinutes" value="5">
228
+ <comment>Optional, default is 5.
229
+ This specifies the minimum amount of time that each uploaded
230
+ file should be kept in temporary storage.</comment>
231
+ </param>
232
+ </module>
233
+ <module role="org.fcrepo.server.access.Access" class="org.fcrepo.server.access.DefaultAccess">
234
+ <comment>Description: The access subsystem. This implements the methods
235
+ necessary to fulfill API-A requests without regard to:
236
+ - how the service is exposed
237
+ - how bytestreams and java types might be marshalled/demarshalled
238
+ over the wire.</comment>
239
+ <param name="doMediateDatastreams" value="false">
240
+ <comment>A boolean switch indicating whether Datastream Mediation is
241
+ activated or not. Datastream Mediation is required if using basic
242
+ authentication for API-A. When basic authentication is enabled for
243
+ API-A, backend services used by custom disseminations may or may not be
244
+ capable of authenticating with the Fedora server. Datastream mediation
245
+ coupled with the backend service configuration information in the
246
+ beSecurity.xml file enables the Fedora server to determine which backend
247
+ services are required to authenticate and which ones are allowed to
248
+ connect without authentication. Datastream mediation provides additional
249
+ repository security by not exposing the physical location of Referenced
250
+ Content datastreams to external mechanisms(services). Instead of
251
+ exposing the actual physical location of Referenced Content datastreams,
252
+ Datastream Mediation functions as a proxy requiring all external
253
+ services to communicate through the Fedora server to resolve the
254
+ location of Referenced Content datastreams.
255
+
256
+ IMPORTANT: For Datastream Mediation to function, the Fedora server must
257
+ be internet accessible using the configured name for fedoraServerHost
258
+ and fedoraServerPort. For example, using the default fedoraServerHost
259
+ value of &quot;localhost&quot; will not work if you have remote backend services
260
+ since the hostname of &quot;localhost&quot; will not be resolvable as the Fedora
261
+ server by the remote backend services. This requirement can be difficult
262
+ to satisfy if the Fedora server is located behind a firewall and you do
263
+ not have ready access to the firewall&apos;s configuration to enable the
264
+ required access. If the Fedora server is behind a firewall and you have
265
+ no access to the firewall&apos;s configuration, you are limited to keeping
266
+ Datastream Mediation turned off. Note that this will also prevent you
267
+ from using basic authentication with API-A. The default value of
268
+ doMediateDatastreams is false.</comment>
269
+ </param>
270
+ </module>
271
+ <module role="org.fcrepo.server.access.DynamicAccess" class="org.fcrepo.server.access.DynamicAccessModule">
272
+ <comment>The dynamic behavior module for the access subsystem. This
273
+ implements the methods necessary to fulfill API-A requests without
274
+ regard to:
275
+ - dynamically associating a default behavior definition and mechanism with objects
276
+ - (Future) dynamically associating other behavior definitions and mechanisms
277
+ with objects
278
+ - running disseminations of dynamic behaviors</comment>
279
+ <param name="fedora-system:1" value="org.fcrepo.server.access.internalservices.Bootstrap">
280
+ <comment>The interface that defines the methods of the bootstrap
281
+ disseminator. These methods are &quot;built-in&quot; to the Fedora system, and
282
+ are dynamically associated with every behavior definition and
283
+ behavior mechanism object.</comment>
284
+ </param>
285
+ <param name="fedora-system:2" value="org.fcrepo.server.access.internalservices.BootstrapImpl">
286
+ <comment>The class that implements the methods of the bootstrap
287
+ disseminator. These method implementations are &quot;built-in&quot; to the
288
+ Fedora system, and are dynamically associated with every behavior
289
+ definition and behavior mechanism object. This class can be thought
290
+ of as implementing an &quot;internal service&quot; whereas other disseminators
291
+ use external services (described by WSDL) to do their work.</comment>
292
+ </param>
293
+ <param name="fedora-system:3" value="org.fcrepo.server.access.defaultdisseminator.DefaultDisseminator">
294
+ <comment>The interface that defines the methods of the default
295
+ disseminator. These methods are &quot;built-in&quot; to the Fedora system, and
296
+ are dynamically associated with every object.</comment>
297
+ </param>
298
+ <param name="fedora-system:4" value="org.fcrepo.server.access.defaultdisseminator.DefaultDisseminatorImpl">
299
+ <comment>The class that implements the methods of the default
300
+ disseminator. These method implementations are &quot;built-in&quot; to the
301
+ Fedora system, and are dynamically associated with every object.
302
+ This class can be though of as implementing an &quot;internal service&quot;
303
+ whereas other disseminators use external services (described by
304
+ WSDL) to do their work.</comment>
305
+ </param>
306
+ </module>
307
+ <module role="org.fcrepo.server.search.FieldSearch" class="org.fcrepo.server.search.FieldSearchSQLModule">
308
+ <comment>Supports the API-A simpleSearch and advancedSearch methods.</comment>
309
+ <param name="maxResults" value="100">
310
+ <comment>(required, must be &gt; 0)
311
+ The maximum number of records to
312
+ return as the result of a search. Even if a client requests more
313
+ results at a time, this is the cutoff value.</comment>
314
+ </param>
315
+ <param name="maxSecondsPerSession" value="500">
316
+ <comment>(required, must be &gt; 0)
317
+ The maximum number of seconds that the server guarantees subsequent
318
+ search results may be obtained. This is only used in cases where the
319
+ number of results is greater than maxResults (as specified by the
320
+ server [above] or the client [in the search request]).</comment>
321
+ </param>
322
+ <param name="connectionPool" value="localDerbyPool">
323
+ <comment>(optional) To make unspecified, comment out or delete the
324
+ whole param line as opposed to using an empty string,
325
+ default=ConnectionPoolManager&apos;s default) The connectionPool
326
+ providing the connection to the database to be used. Warning: When
327
+ setting these values, keep in mind that while a session is not timed
328
+ out (maxSecondsPerSession seconds haven&apos;t elapsed, and not all
329
+ results have been requested), a connection from the pool is tied up.
330
+ Therefore, the connectionPool should be at least of size n, large
331
+ enough to accomodate n simultaneous search sessions. The longer
332
+ maxSecondsPerSession is, the more chance you have of tying up all
333
+ available connections from the pool. Therefore, keep
334
+ maxSecondsPerSession fairly low, but still reasonable for an
335
+ automated program or user to serially get a long list of results,
336
+ and make sure you have a connectionPool large enough to accomodate
337
+ your users.</comment>
338
+ </param>
339
+ <param name="indexDCFields" value="true">
340
+ <comment>(optional, default is true) Whether the content of the DC
341
+ datastream should be examined and the contents indexed, for each object.
342
+ You may wish to save time and space by disabling DC field indexing,
343
+ particularly if you have an external search service (such as Fedora
344
+ Generic Search) that already fulfills this need.
345
+ Note: If you change this value on a Fedora repository that has been
346
+ running for some time, you will need to perform a SQL rebuild using the
347
+ Fedora Rebuilder tool if you want to change objects that have already
348
+ been ingested.</comment>
349
+ </param>
350
+ </module>
351
+ <module role="org.fcrepo.server.resourceIndex.ResourceIndex" class="org.fcrepo.server.resourceIndex.ResourceIndexModule">
352
+ <comment>Supports the ResourceIndex.</comment>
353
+ <param name="level" value="0">
354
+ <comment>(required)
355
+ Index level. Currently, only 0, and 1 are supported levels.
356
+ 0 = off and 1 = on.
357
+ WARNING: changing the level (except to 0) requires
358
+ running the Resource Index Rebuilder.</comment>
359
+ </param>
360
+ <param name="datastore" value="localMulgaraTriplestore">
361
+ <comment>(required)
362
+ Name of the triplestore to use. WARNING: changing the
363
+ triplestore running the Resource Index Rebuilder.</comment>
364
+ </param>
365
+ <param name="syncUpdates" value="false">
366
+ <comment>(optional, default is false)
367
+ Whether to flush the triple buffer before
368
+ returning from object modification operations.
369
+ Specifying this as true will ensure that RI queries
370
+ immediately reflect the latest triples.
371
+ Specifying false will not provide this guarantee,
372
+ but can significantly reduce roundtrip time for
373
+ API-M operations (depending on the triplestore
374
+ implementation).</comment>
375
+ </param>
376
+ <param name="alias:test" value="http://example.org/terms#">
377
+ <comment>(optional) Aliases that can be used for queries. The param
378
+ name of an alias starts with the string &quot;alias:&quot; and is followed by
379
+ the name of the alias (shortcut) for the value, which is a URI
380
+ prefix. For example: name=&quot;alias:test&quot;
381
+ value=&quot;http://example.org/terms#&quot; will allow a query to use
382
+ test:apple instead of http://example.org/terms#apple</comment>
383
+ </param>
384
+ </module>
385
+ <module role="org.fcrepo.oai.OAIProvider" class="org.fcrepo.server.oai.FedoraOAIProviderModule">
386
+ <comment>Description: Exposes the repository for OAI harvesters.</comment>
387
+ <param name="repositoryName" value="Your Fedora Repository Name Here"/>
388
+ <param name="repositoryDomainName" value="example.org"/>
389
+ <param name="adminEmails" value="oai-admin@example.org bob@example.org"/>
390
+ <param name="friends" value="http://arXiv.org/oai2 http://memory.loc.gov/cgi-bin/oai2_0"/>
391
+ <param name="maxRecords" value="100"/>
392
+ <param name="maxHeaders" value="100"/>
393
+ </module>
394
+ <module role="org.fcrepo.server.storage.translation.DOTranslator" class="org.fcrepo.server.storage.translation.DOTranslatorModule">
395
+ <comment>Supports translation from DigitalObject to a stream of some
396
+ format, and vice-versa. The parameters below specify
397
+ serializer/deserializer classes to be used for a given format. Those
398
+ classes must implement the DOSerializer/DODeserializer interfaces.</comment>
399
+ <param name="serializer_info:fedora/fedora-system:METSFedoraExt-1.1" value="org.fcrepo.server.storage.translation.METSFedoraExt1_1DOSerializer"/>
400
+ <param name="deserializer_info:fedora/fedora-system:METSFedoraExt-1.1" value="org.fcrepo.server.storage.translation.METSFedoraExt1_1DODeserializer"/>
401
+ <param name="serializer_info:fedora/fedora-system:METSFedoraExt-1.0" value="org.fcrepo.server.storage.translation.METSFedoraExt1_0DOSerializer"/>
402
+ <param name="deserializer_info:fedora/fedora-system:METSFedoraExt-1.0" value="org.fcrepo.server.storage.translation.METSFedoraExt1_0DODeserializer"/>
403
+ <param name="serializer_info:fedora/fedora-system:FOXML-1.1" value="org.fcrepo.server.storage.translation.FOXML1_1DOSerializer"/>
404
+ <param name="deserializer_info:fedora/fedora-system:FOXML-1.1" value="org.fcrepo.server.storage.translation.FOXML1_1DODeserializer"/>
405
+ <param name="serializer_info:fedora/fedora-system:FOXML-1.0" value="org.fcrepo.server.storage.translation.FOXML1_0DOSerializer"/>
406
+ <param name="deserializer_info:fedora/fedora-system:FOXML-1.0" value="org.fcrepo.server.storage.translation.FOXML1_0DODeserializer"/>
407
+ <param name="serializer_info:fedora/fedora-system:ATOM-1.1" value="org.fcrepo.server.storage.translation.Atom1_1DOSerializer"/>
408
+ <param name="deserializer_info:fedora/fedora-system:ATOM-1.1" value="org.fcrepo.server.storage.translation.Atom1_1DODeserializer"/>
409
+ <param name="serializer_info:fedora/fedora-system:ATOMZip-1.1" value="org.fcrepo.server.storage.translation.AtomZip1_1DOSerializer"/>
410
+ <param name="deserializer_info:fedora/fedora-system:ATOMZip-1.1" value="org.fcrepo.server.storage.translation.AtomZip1_1DODeserializer"/>
411
+ </module>
412
+ <module role="org.fcrepo.server.management.PIDGenerator" class="org.fcrepo.server.management.BasicPIDGenerator">
413
+ <comment>The pid generator.</comment>
414
+ <param name="pidgen_log_dir" value="pidgen"/>
415
+ </module>
416
+ <module role="org.fcrepo.server.messaging.Messaging" class="org.fcrepo.server.messaging.MessagingModule">
417
+ <comment>Fedora's Java Messaging Service (JMS) Module</comment>
418
+ <param name="enabled" value="false"/>
419
+ <param name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
420
+ <param name="java.naming.provider.url" value="vm:(broker:(tcp://localhost:61616,stomp://localhost:61613))"/>
421
+ <param name="datastore1" value="apimUpdateMessages">
422
+ <comment>A datastore representing a JMS Destination for APIM events which update the repository</comment>
423
+ </param>
424
+ <param name="datastore2" value="apimAccessMessages">
425
+ <comment>A datastore representing a JMS Destination for APIM events which do not update the repository</comment>
426
+ </param>
427
+ </module>
428
+ <module role="org.fcrepo.server.storage.ConnectionPoolManager" class="org.fcrepo.server.storage.ConnectionPoolManagerImpl">
429
+ <comment>This module facilitates obtaining ConnectionPools</comment>
430
+ <param name="defaultPoolName" value="localDerbyPool"/>
431
+ <param name="poolNames" value="localDerbyPool"/>
432
+ </module>
433
+ <module role="org.fcrepo.server.validation.DOValidator" class="org.fcrepo.server.validation.DOValidatorModule">
434
+ <comment>Description: Supports validation of digital objects, including
435
+ XML Schema validation, Schematron validation (to Fedora Rules schema
436
+ written in Schematron language), and other programatic validation
437
+ including referential integrity checking of existence and
438
+ availability of distributed data and/or services.</comment>
439
+ <param name="xsd_info:fedora/fedora-system:METSFedoraExt-1.1" value="xsd/mets-fedora-ext1-1.xsd">
440
+ <comment>The local path for the Fedora-METS XML
441
+ schema used to do XML schema validation of digital objects.</comment>
442
+ </param>
443
+ <param name="xsd_info:fedora/fedora-system:METSFedoraExt-1.0" value="xsd/mets-fedora-ext.xsd">
444
+ <comment>The local path for the Fedora-METS 1.0 XML
445
+ schema used to do XML schema validation of digital objects.</comment>
446
+ </param>
447
+ <param name="xsd_info:fedora/fedora-system:FOXML-1.1" value="xsd/foxml1-1.xsd">
448
+ <comment>The local path for the Fedora FOXML 1.1 XML schema
449
+ used to do XML schema validation of digital objects</comment>
450
+ </param>
451
+ <param name="xsd_info:fedora/fedora-system:FOXML-1.0" value="xsd/foxml1-0.xsd">
452
+ <comment>The local path for the Fedora FOXML 1.0 XML schema
453
+ used to do XML schema validation of digital objects</comment>
454
+ </param>
455
+ <param name="xsd_info:fedora/fedora-system:ATOM-1.1" value="xsd/atom.xsd">
456
+ <comment>The local path for the Atom XML schema used to do XML
457
+ schema validation of digital objects</comment>
458
+ </param>
459
+ <param name="xsd_info:fedora/fedora-system:ATOMZip-1.1" value="xsd/atom.xsd">
460
+ <comment>The local path for the Atom XML schema used to do XML
461
+ schema validation of digital objects</comment>
462
+ </param>
463
+ <param name="xsd_xacml_policy1.0" value="xsd/cs-xacml-schema-policy-1.0.xsd">
464
+ <comment>The local path for the OASIS XACML XML policy schema
465
+ used to do XML schema validation of XACML policies.</comment>
466
+ </param>
467
+ <param name="rules_info:fedora/fedora-system:METSFedoraExt-1.1" value="schematron/metsExtRules1-1.xml">
468
+ <comment>The local path to the Schematron Rules used for
469
+ Fedora-specific validation on Fedora-METS XML files.</comment>
470
+ </param>
471
+ <param name="rules_info:fedora/fedora-system:METSFedoraExt-1.0" value="schematron/metsExtRules1-0.xml">
472
+ <comment>The local path to the Schematron Rules used for
473
+ Fedora-specific validation on Fedora-METS 1.0 XML files.</comment>
474
+ </param>
475
+ <param name="rules_info:fedora/fedora-system:FOXML-1.1" value="schematron/foxmlRules1-1.xml">
476
+ <comment>The local path to the Schematron Rules used for
477
+ Fedora-specific validation on FOXML 1.1 XML files.</comment>
478
+ </param>
479
+ <param name="rules_info:fedora/fedora-system:FOXML-1.0" value="schematron/foxmlRules1-0.xml">
480
+ <comment>The local path to the Schematron Rules used for
481
+ Fedora-specific validation on FOXML 1.0 XML files.</comment>
482
+ </param>
483
+ <param name="rules_info:fedora/fedora-system:ATOM-1.1" value="schematron/atom-bogus.xml">
484
+ <comment>The local path to the Schematron Rules used for
485
+ Fedora-specific on Atom XML files.</comment>
486
+ </param>
487
+ <param name="rules_info:fedora/fedora-system:ATOMZip-1.1" value="schematron/atom-bogus.xml">
488
+ <comment>The local path to the Schematron Rules used for
489
+ Fedora-specific on Atom Zip files.</comment>
490
+ </param>
491
+ <param name="schtron_preprocessor" value="schematron/preprocessor.xslt"/>
492
+ <param name="tempDir" value="work">
493
+ <comment>(required)
494
+ This is a directory that the validation module can use as a work space, as
495
+ when it must write a temporary file.</comment>
496
+ </param>
497
+ </module>
498
+ <module role="org.fcrepo.server.storage.ExternalContentManager" class="org.fcrepo.server.storage.DefaultExternalContentManager">
499
+ <comment>This module facilitates obtaining external content via HTTP</comment>
500
+ </module>
501
+ <datastore id="localMySQLPool">
502
+ <comment>MySQL database on localhost with db name of fedora3. Each
503
+ connection pool instance has several configuration parameter that
504
+ can be used to tune the options for the connection pool. It is
505
+ recommended that you not change the default values unless you are
506
+ trying to address a specific performance issue. For additional
507
+ information regarding connection pool options, refer to the Apache
508
+ Commons Pool API documentation at
509
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
510
+ <param name="dbUsername" value="fedoraAdmin">
511
+ <comment>The database user name.</comment>
512
+ </param>
513
+ <param name="dbPassword" value="fedoraAdmin">
514
+ <comment>The database password.</comment>
515
+ </param>
516
+ <param name="jdbcURL" value="jdbc:mysql://localhost/fedora3?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true">
517
+ <comment>The JDBC connection URL.</comment>
518
+ </param>
519
+ <param name="jdbcDriverClass" value="com.mysql.jdbc.Driver">
520
+ <comment>The JDBC driver class name.</comment>
521
+ </param>
522
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.MySQLDDLConverter"/>
523
+ <param name="maxActive" value="100">
524
+ <comment>The maximum number of active instances in pool.</comment>
525
+ </param>
526
+ <param name="maxIdle" value="10">
527
+ <comment>The maximum number of idle instances in pool.</comment>
528
+ </param>
529
+ <param name="maxWait" value="-1">
530
+ <comment>The maximum amount of time in milliseconds the
531
+ borrowObject() method should wait before throwing an Exception when
532
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
533
+ than zero indicates block indefinitely.</comment>
534
+ </param>
535
+ <param name="minIdle" value="0">
536
+ <comment>The minimum of idle instances in pool.</comment>
537
+ </param>
538
+ <param name="minEvictableIdleTimeMillis" value="1800000">
539
+ <comment>The minimum amount of time in milliseconds an object can be
540
+ idle in pool before eligible for eviction (if applicable). A value
541
+ less than zero indicates no object will be evicted due to idle time
542
+ alone.</comment>
543
+ </param>
544
+ <param name="numTestsPerEvictionRun" value="3">
545
+ <comment>The number of objects to be examined on each run of idle
546
+ evictor thread (if applicable). A value less than zero indicates
547
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
548
+ </param>
549
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
550
+ <comment>The time in milliseconds to sleep between runs of the idle
551
+ object evictor thread. A value less than zero indicates no idle
552
+ evictor thread is run.</comment>
553
+ </param>
554
+ <param name="validationQuery" value="select 1">
555
+ <comment>The query to run when validating connections.
556
+ Connections are validated according to the testOnBorrow,
557
+ testOnReturn, and testWhileIdle configuration values.
558
+ If this is specified, it must be a SQL SELECT statement
559
+ that returns at least one row. If this is NOT specified,
560
+ validation tests will not be run.</comment>
561
+ </param>
562
+ <param name="testOnBorrow" value="true">
563
+ <comment>When true objects are validated before borrowed from the
564
+ pool.</comment>
565
+ </param>
566
+ <param name="testOnReturn" value="true">
567
+ <comment>When true, objects are validated before returned to the
568
+ pool.</comment>
569
+ </param>
570
+ <param name="testWhileIdle" value="true">
571
+ <comment>When true, objects are validated by the idle object evictor
572
+ thread.</comment>
573
+ </param>
574
+ <param name="whenExhaustedAction" value="1">
575
+ <comment>Action to take when a new object is requested and the the pool has
576
+ reached maximum number of active objects. Valid values are:
577
+ 0 (fail i.e., throw Exception)
578
+ 1 (block i.e., wait until pool resources are freed)
579
+ 2 (grow i.e., increase the size of the pool).</comment>
580
+ </param>
581
+ </datastore>
582
+ <datastore id="localMcKoiPool">
583
+ <comment>McKoi database on localhost running on port 9157 Each
584
+ connection pool instance has several configuration parameter that
585
+ can be used to tune the options for the connection pool. It is
586
+ recommended that you not change the default values unless you are
587
+ trying to address a specific performance issue. For additional
588
+ information regarding connection pool options, refer to the Apache
589
+ Commons Pool API documentation at
590
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
591
+ <param name="dbUsername" value="fedoraAdmin">
592
+ <comment>The database user name.</comment>
593
+ </param>
594
+ <param name="dbPassword" value="fedoraAdmin">
595
+ <comment>The database password.</comment>
596
+ </param>
597
+ <param name="jdbcURL" value="jdbc:mckoi://localhost:9157/">
598
+ <comment>The JDBC connection URL.</comment>
599
+ </param>
600
+ <param name="jdbcDriverClass" value="com.mckoi.JDBCDriver">
601
+ <comment>The JDBC driver class name.</comment>
602
+ </param>
603
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.McKoiDDLConverter"/>
604
+ <param name="maxActive" value="100">
605
+ <comment>The maximum number of active instances in pool.</comment>
606
+ </param>
607
+ <param name="maxIdle" value="10">
608
+ <comment>The maximum number of idle instances in pool.</comment>
609
+ </param>
610
+ <param name="maxWait" value="-1">
611
+ <comment>The maximum amount of time in milliseconds the
612
+ borrowObject() method should wait before throwing an Exception when
613
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
614
+ than zero indicates block indefinitely.</comment>
615
+ </param>
616
+ <param name="minIdle" value="0">
617
+ <comment>The minimum of idle instances in pool.</comment>
618
+ </param>
619
+ <param name="minEvictableIdleTimeMillis" value="1800000">
620
+ <comment>The minimum amount of time in milliseconds an object can be
621
+ idle in pool before eligible for eviction (if applicable). A value
622
+ less than zero indicates no object will be evicted due to idle time
623
+ alone.</comment>
624
+ </param>
625
+ <param name="numTestsPerEvictionRun" value="3">
626
+ <comment>The number of objects to be examined on each run of idle
627
+ evictor thread (if applicable). A value less than zero indicates
628
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
629
+ </param>
630
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
631
+ <comment>The time in milliseconds to sleep between runs of the idle
632
+ object evictor thread. A value less than zero indicates no idle
633
+ evictor thread is run.</comment>
634
+ </param>
635
+ <param name="testOnBorrow" value="true">
636
+ <comment>When true objects are validated before borrowed from the
637
+ pool.</comment>
638
+ </param>
639
+ <param name="testOnReturn" value="true">
640
+ <comment>When true, objects are validated before returned to the
641
+ pool.</comment>
642
+ </param>
643
+ <param name="testWhileIdle" value="true">
644
+ <comment>When true, objects are validated by the idle object evictor
645
+ thread.</comment>
646
+ </param>
647
+ <param name="whenExhaustedAction" value="1">
648
+ <comment>Action to take when a new object is requested and the the pool has
649
+ reached maximum number of active objects. Valid values are:
650
+ 0 (fail i.e., throw Exception)
651
+ 1 (block i.e., wait until pool resources are freed)
652
+ 2 (grow i.e., increase the size of the pool).</comment>
653
+ </param>
654
+ </datastore>
655
+ <datastore id="localDerbyPool">
656
+ <comment>Derby database on localhost running on port 1527 Each
657
+ connection pool instance has several configuration parameter that
658
+ can be used to tune the options for the connection pool. It is
659
+ recommended that you not change the default values unless you are
660
+ trying to address a specific performance issue. For additional
661
+ information regarding connection pool options, refer to the Apache
662
+ Commons Pool API documentation at
663
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
664
+ <param name="dbUsername" value="fedoraAdmin">
665
+ <comment>The database user name.</comment>
666
+ </param>
667
+ <param name="dbPassword" value="fedoraAdmin">
668
+ <comment>The database password.</comment>
669
+ </param>
670
+ <param name="jdbcURL" value="jdbc:derby:fedora/test/derby/fedora3;create=true">
671
+ <comment>The JDBC connection URL.</comment>
672
+ </param>
673
+ <param name="jdbcDriverClass" value="org.apache.derby.jdbc.EmbeddedDriver">
674
+ <comment>The JDBC driver class name.</comment>
675
+ </param>
676
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.DerbyDDLConverter"/>
677
+ <param name="maxActive" value="100">
678
+ <comment>The maximum number of active instances in pool.</comment>
679
+ </param>
680
+ <param name="maxIdle" value="10">
681
+ <comment>The maximum number of idle instances in pool.</comment>
682
+ </param>
683
+ <param name="maxWait" value="-1">
684
+ <comment>The maximum amount of time in milliseconds the
685
+ borrowObject() method should wait before throwing an Exception when
686
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
687
+ than zero indicates block indefinitely.</comment>
688
+ </param>
689
+ <param name="minIdle" value="0">
690
+ <comment>The minimum of idle instances in pool.</comment>
691
+ </param>
692
+ <param name="minEvictableIdleTimeMillis" value="1800000">
693
+ <comment>The minimum amount of time in milliseconds an object can be
694
+ idle in pool before eligible for eviction (if applicable). A value
695
+ less than zero indicates no object will be evicted due to idle time
696
+ alone.</comment>
697
+ </param>
698
+ <param name="numTestsPerEvictionRun" value="3">
699
+ <comment>The number of objects to be examined on each run of idle
700
+ evictor thread (if applicable). A value less than zero indicates
701
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
702
+ </param>
703
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
704
+ <comment>The time in milliseconds to sleep between runs of the idle
705
+ object evictor thread. A value less than zero indicates no idle
706
+ evictor thread is run.</comment>
707
+ </param>
708
+ <param name="testOnBorrow" value="true">
709
+ <comment>When true objects are validated before borrowed from the
710
+ pool.</comment>
711
+ </param>
712
+ <param name="testOnReturn" value="true">
713
+ <comment>When true, objects are validated before returned to the
714
+ pool.</comment>
715
+ </param>
716
+ <param name="testWhileIdle" value="true">
717
+ <comment>When true, objects are validated by the idle object evictor
718
+ thread.</comment>
719
+ </param>
720
+ <param name="whenExhaustedAction" value="1">
721
+ <comment>Action to take when a new object is requested and the the pool has
722
+ reached maximum number of active objects. Valid values are:
723
+ 0 (fail i.e., throw Exception)
724
+ 1 (block i.e., wait until pool resources are freed)
725
+ 2 (grow i.e., increase the size of the pool).</comment>
726
+ </param>
727
+ </datastore>
728
+ <datastore id="localOraclePool">
729
+ <comment>Oracle database on localhost with SID=fedora3 Each
730
+ connection pool instance has several configuration parameter that
731
+ can be used to tune the options for the connection pool. It is
732
+ recommended that you not change the default values unless you are
733
+ trying to address a specific performance issue. For additional
734
+ information regarding connection pool options, refer to the Apache
735
+ Commons Pool API documentation at
736
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
737
+ <param name="dbUsername" value="fedoraAdmin">
738
+ <comment>The database user name.</comment>
739
+ </param>
740
+ <param name="dbPassword" value="fedoraAdmin">
741
+ <comment>The database password.</comment>
742
+ </param>
743
+ <param name="jdbcURL" value="jdbc:oracle:thin:@localhost:1521:fedora3">
744
+ <comment>The JDBC connection URL.</comment>
745
+ </param>
746
+ <param name="jdbcDriverClass" value="oracle.jdbc.OracleDriver">
747
+ <comment>The JDBC driver class name.</comment>
748
+ </param>
749
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.OracleDDLConverter"/>
750
+ <param name="maxActive" value="100">
751
+ <comment>The maximum number of active instances in pool.</comment>
752
+ </param>
753
+ <param name="maxIdle" value="10">
754
+ <comment>The maximum number of idle instances in pool.</comment>
755
+ </param>
756
+ <param name="maxWait" value="-1">
757
+ <comment>The maximum amount of time in milliseconds the
758
+ borrowObject() method should wait before throwing an Exception when
759
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
760
+ than zero indicates block indefinitely.</comment>
761
+ </param>
762
+ <param name="minIdle" value="0">
763
+ <comment>The minimum of idle instances in pool.</comment>
764
+ </param>
765
+ <param name="minEvictableIdleTimeMillis" value="1800000">
766
+ <comment>The minimum amount of time in milliseconds an object can be
767
+ idle in pool before eligible for eviction (if applicable). A value
768
+ less than zero indicates no object will be evicted due to idle time
769
+ alone.</comment>
770
+ </param>
771
+ <param name="numTestsPerEvictionRun" value="3">
772
+ <comment>The number of objects to be examined on each run of idle
773
+ evictor thread (if applicable). A value less than zero indicates
774
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
775
+ </param>
776
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
777
+ <comment>The time in milliseconds to sleep between runs of the idle
778
+ object evictor thread. A value less than zero indicates no idle
779
+ evictor thread is run.</comment>
780
+ </param>
781
+ <param name="validationQuery" value="select &apos;validationQuery&apos; from dual">
782
+ <comment>The query to run when validating connections.
783
+ Connections are validated according to the testOnBorrow,
784
+ testOnReturn, and testWhileIdle configuration values.
785
+ If this is specified, it must be a SQL SELECT statement
786
+ that returns at least one row. If this is NOT specified,
787
+ validation tests will not be run.</comment>
788
+ </param>
789
+ <param name="testOnBorrow" value="true">
790
+ <comment>When true objects are validated before borrowed from the
791
+ pool.</comment>
792
+ </param>
793
+ <param name="testOnReturn" value="true">
794
+ <comment>When true, objects are validated before returned to the
795
+ pool.</comment>
796
+ </param>
797
+ <param name="testWhileIdle" value="true">
798
+ <comment>When true, objects are validated by the idle object evictor
799
+ thread.</comment>
800
+ </param>
801
+ <param name="whenExhaustedAction" value="1">
802
+ <comment>Action to take when a new object is requested and the the pool has
803
+ reached maximum number of active objects. Valid values are:
804
+ 0 (fail i.e., throw Exception)
805
+ 1 (block i.e., wait until pool resources are freed)
806
+ 2 (grow i.e., increase the size of the pool).</comment>
807
+ </param>
808
+ <param name="connection.SetBigStringTryClob" value="true"/>
809
+ </datastore>
810
+ <datastore id="localPostgreSQLPool">
811
+ <comment>PostgreSQL database on localhost with db name of fedora3. Each
812
+ connection pool instance has several configuration parameter that
813
+ can be used to tune the options for the connection pool. It is
814
+ recommended that you not change the default values unless you are
815
+ trying to address a specific performance issue. For additional
816
+ information regarding connection pool options, refer to the Apache
817
+ Commons Pool API documentation at
818
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
819
+ <param name="dbUsername" value="fedoraAdmin">
820
+ <comment>The database user name.</comment>
821
+ </param>
822
+ <param name="dbPassword" value="fedoraAdmin">
823
+ <comment>The database password.</comment>
824
+ </param>
825
+ <param name="jdbcURL" value="jdbc:postgresql:fedora3">
826
+ <comment>The JDBC connection URL.</comment>
827
+ </param>
828
+ <param name="jdbcDriverClass" value="org.postgresql.Driver">
829
+ <comment>The JDBC driver class name.</comment>
830
+ </param>
831
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.PostgresDDLConverter"/>
832
+ <param name="maxActive" value="100">
833
+ <comment>The maximum number of active instances in pool.</comment>
834
+ </param>
835
+ <param name="maxIdle" value="10">
836
+ <comment>The maximum number of idle instances in pool.</comment>
837
+ </param>
838
+ <param name="maxWait" value="-1">
839
+ <comment>The maximum amount of time in milliseconds the
840
+ borrowObject() method should wait before throwing an Exception when
841
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
842
+ than zero indicates block indefinitely.</comment>
843
+ </param>
844
+ <param name="minIdle" value="0">
845
+ <comment>The minimum of idle instances in pool.</comment>
846
+ </param>
847
+ <param name="minEvictableIdleTimeMillis" value="1800000">
848
+ <comment>The minimum amount of time in milliseconds an object can be
849
+ idle in pool before eligible for eviction (if applicable). A value
850
+ less than zero indicates no object will be evicted due to idle time
851
+ alone.</comment>
852
+ </param>
853
+ <param name="numTestsPerEvictionRun" value="3">
854
+ <comment>The number of objects to be examined on each run of idle
855
+ evictor thread (if applicable). A value less than zero indicates
856
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
857
+ </param>
858
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
859
+ <comment>The time in milliseconds to sleep between runs of the idle
860
+ object evictor thread. A value less than zero indicates no idle
861
+ evictor thread is run.</comment>
862
+ </param>
863
+ <param name="validationQuery" value="select 1">
864
+ <comment>The query to run when validating connections.
865
+ Connections are validated according to the testOnBorrow,
866
+ testOnReturn, and testWhileIdle configuration values.
867
+ If this is specified, it must be a SQL SELECT statement
868
+ that returns at least one row. If this is NOT specified,
869
+ validation tests will not be run.</comment>
870
+ </param>
871
+ <param name="testOnBorrow" value="true">
872
+ <comment>When true objects are validated before borrowed from the
873
+ pool.</comment>
874
+ </param>
875
+ <param name="testOnReturn" value="true">
876
+ <comment>When true, objects are validated before returned to the
877
+ pool.</comment>
878
+ </param>
879
+ <param name="testWhileIdle" value="true">
880
+ <comment>When true, objects are validated by the idle object evictor
881
+ thread.</comment>
882
+ </param>
883
+ <param name="whenExhaustedAction" value="1">
884
+ <comment>Action to take when a new object is requested and the the pool has
885
+ reached maximum number of active objects. Valid values are:
886
+ 0 (fail i.e., throw Exception)
887
+ 1 (block i.e., wait until pool resources are freed)
888
+ 2 (grow i.e., increase the size of the pool).</comment>
889
+ </param>
890
+ </datastore>
891
+ <datastore id="localMulgaraTriplestore">
892
+ <comment>local Mulgara Triplestore used by the Resource Index</comment>
893
+ <param name="connectorClassName" value="org.trippi.impl.mulgara.MulgaraConnector">
894
+ <comment>The name of the Trippi Connector class used to communicate
895
+ with the triplestore.</comment>
896
+ </param>
897
+ <param name="remote" value="false">
898
+ <comment>Tells the connector to communicate with Mulgara in remote or
899
+ local mode. If true, the host parameter must be defined. If false,
900
+ the path parameter must be defined.</comment>
901
+ </param>
902
+ <param name="path" value="data/resourceIndex" isFilePath="true">
903
+ <comment>The local path to the main triplestore directory.</comment>
904
+ </param>
905
+ <param name="serverName" value="fedora">
906
+ <comment>The server name for rmi binding.</comment>
907
+ </param>
908
+ <param name="modelName" value="ri">
909
+ <comment>The name of the model to use.</comment>
910
+ </param>
911
+ <param name="poolInitialSize" value="3">
912
+ <comment>The initial size of the session pool used for queries.
913
+ Note: A value of 0 will cause the Resource Index to operate in
914
+ synchronized mode: concurrent read/write requests are put in a queue
915
+ and handled in FIFO order; this will severely impair performance and
916
+ is only intended for debugging.</comment>
917
+ </param>
918
+ <param name="poolMaxGrowth" value="-1">
919
+ <comment>Maximum number of additional sessions the pool may add. If
920
+ specified as -1, no limit will be placed on pool growth.</comment>
921
+ </param>
922
+ <param name="readOnly" value="false">
923
+ <comment>Whether the triplestore should be read-only. Most Fedora
924
+ repositories will set this to false.</comment>
925
+ </param>
926
+ <param name="autoCreate" value="true">
927
+ <comment>Create the model if it doesn&apos;t already exist.
928
+ At startup, the model will be automatically created. In addition, an
929
+ XML schema datatyped model named &quot;xsd&quot; will also be automatically
930
+ created.</comment>
931
+ </param>
932
+ <param name="autoTextIndex" value="false">
933
+ <comment>Whether to propagate adds/deletes to a full-text
934
+ [Full-Text] model automatically. While a very useful feature,
935
+ enabling full-text indexing adds significantly to object ingest
936
+ times. If true, the text model will be named modelName-fullText.
937
+ Note that if this is true and autoCreate is true, the text model
938
+ will also be created if it doesn&apos;t already exist.</comment>
939
+ </param>
940
+ <param name="autoFlushDormantSeconds" value="5">
941
+ <comment>Seconds of buffer inactivity that will trigger an
942
+ auto-flush. If this threshold is reached, flushing will occur in the
943
+ background, during which time the buffer is still available for
944
+ writing.</comment>
945
+ </param>
946
+ <param name="autoFlushBufferSize" value="20000">
947
+ <comment>The size at which the buffer should be auto-flushed. If
948
+ this threshold is reached, flushing will occur in the background,
949
+ during which time the buffer is still available for
950
+ writing.</comment>
951
+ </param>
952
+ <param name="bufferFlushBatchSize" value="20000">
953
+ <comment>The number of updates to send to the triplestore at a time.
954
+ This should be the same size as, or smaller than
955
+ autoFlushBufferSize.</comment>
956
+ </param>
957
+ <param name="bufferSafeCapacity" value="40000">
958
+ <comment>The maximum size the buffer can reach before being forcibly
959
+ flushed. If this threshold is reached, flushing will occur in the
960
+ foreground and the buffer will be locked for writing until it is
961
+ finished. This should be larger than autoFlushBufferSize.</comment>
962
+ </param>
963
+ </datastore>
964
+ <datastore id="localPostgresMPTTriplestore">
965
+ <comment>Example local MPTStore backed by Postgres.
966
+ To use this triplestore for the Resource Index:
967
+ 1) In fedora.fcfg, change the "datastore" parameter of the
968
+ ResourceIndex module to localPostgresMPTTriplestore.
969
+ 2) Login to your Postgres server as an administrative user and
970
+ run the following commands:
971
+ CREATE ROLE "fedoraAdmin" LOGIN PASSWORD 'fedoraAdmin'
972
+ NOINHERIT CREATEDB
973
+ VALID UNTIL 'infinity';
974
+ CREATE DATABASE "riTriples"
975
+ WITH ENCODING='SQL_ASCII'
976
+ OWNER="fedoraAdmin";
977
+ 3) Make sure you can login to your Postgres server as fedoraAdmin.
978
+ 4) Download the appropriate Postgres JDBC 3 driver from
979
+ http://jdbc.postgresql.org/download.html
980
+ and make sure it's accessible to your servlet container.
981
+ If you're running Tomcat, putting it in common/lib/ will work.</comment>
982
+ <param name="connectorClassName" value="org.trippi.impl.mpt.MPTConnector"/>
983
+ <param name="ddlGenerator" value="org.nsdl.mptstore.impl.postgres.PostgresDDLGenerator"/>
984
+ <param name="jdbcDriver" value="org.postgresql.Driver"/>
985
+ <param name="jdbcURL" value="jdbc:postgresql://localhost/riTriples"/>
986
+ <param name="username" value="fedoraAdmin"/>
987
+ <param name="password" value="fedoraAdmin"/>
988
+ <param name="poolInitialSize" value="3"/>
989
+ <param name="poolMaxSize" value="10"/>
990
+ <param name="backslashIsEscape" value="true"/>
991
+ <param name="fetchSize" value="1000"/>
992
+ <param name="autoFlushDormantSeconds" value="5"/>
993
+ <param name="autoFlushBufferSize" value="1000"/>
994
+ <param name="bufferFlushBatchSize" value="1000"/>
995
+ <param name="bufferSafeCapacity" value="2000"/>
996
+ </datastore>
997
+ <datastore id="apimUpdateMessages">
998
+ <comment>Messaging Destination for API-M events which update the repository</comment>
999
+ <param name="messageTypes" value="apimUpdate">
1000
+ <comment>A space-separated list of message types that will be
1001
+ delivered to this Destination. Currently, &quot;apimUpdate&quot; and
1002
+ &quot;apimAccess&quot; are the only supported message types.</comment>
1003
+ </param>
1004
+ <param name="name" value="fedora.apim.update"/>
1005
+ <param name="type" value="topic">
1006
+ <comment>Optional, defaults to topic.</comment>
1007
+ </param>
1008
+ </datastore>
1009
+ <datastore id="apimAccessMessages">
1010
+ <comment>Messaging Destination for API-M events which did not make changes to the repository</comment>
1011
+ <param name="messageTypes" value="apimAccess">
1012
+ <comment>A space-separated list of message types that will be
1013
+ delivered to this Destination. Currently, &quot;apimUpdate&quot; and
1014
+ &quot;apimAccess&quot; are the only supported message types.</comment>
1015
+ </param>
1016
+ <param name="name" value="fedora.apim.access"/>
1017
+ <param name="type" value="topic">
1018
+ <comment>Optional, defaults to topic.</comment>
1019
+ </param>
1020
+ </datastore>
1021
+ </server>