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