sufia 6.0.0.rc4 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/Gemfile +1 -1
  4. data/History.md +280 -0
  5. data/README.md +180 -98
  6. data/SUFIA_VERSION +1 -1
  7. data/app/assets/images/site_images/collection-icon.svg +168 -0
  8. data/app/assets/javascripts/sufia/uploader.js +7 -4
  9. data/app/assets/stylesheets/sufia.css.scss +1 -1
  10. data/app/assets/stylesheets/sufia/_collections.scss +33 -13
  11. data/app/assets/stylesheets/sufia/_file-show.scss +24 -0
  12. data/app/assets/stylesheets/sufia/_settings.scss +4 -0
  13. data/app/controllers/concerns/sufia/catalog.rb +1 -11
  14. data/app/controllers/concerns/sufia/collections_controller_behavior.rb +13 -15
  15. data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +3 -1
  16. data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +2 -1
  17. data/app/controllers/concerns/sufia/files_controller/local_ingest_behavior.rb +1 -0
  18. data/app/controllers/concerns/sufia/files_controller_behavior.rb +4 -1
  19. data/app/controllers/concerns/sufia/homepage_controller.rb +4 -11
  20. data/app/controllers/concerns/sufia/my_controller_behavior.rb +3 -21
  21. data/app/controllers/concerns/sufia/transfers_controller_behavior.rb +6 -6
  22. data/app/controllers/concerns/sufia/users_controller_behavior.rb +7 -7
  23. data/app/controllers/my/collections_controller.rb +1 -8
  24. data/app/controllers/my/files_controller.rb +1 -1
  25. data/app/controllers/my/highlights_controller.rb +1 -9
  26. data/app/controllers/my/shares_controller.rb +1 -8
  27. data/app/helpers/generic_file_helper.rb +4 -0
  28. data/app/helpers/sufia/sufia_helper_behavior.rb +3 -3
  29. data/app/helpers/sufia_url_helper.rb +9 -0
  30. data/app/jobs/content_depositor_change_event_job.rb +5 -5
  31. data/app/search_builders/sufia/search_builder.rb +50 -0
  32. data/app/views/_user_util_links.html.erb +6 -4
  33. data/app/views/batch_edits/_check_all.html.erb +1 -1
  34. data/app/views/catalog/index.html.erb +3 -30
  35. data/app/views/collections/_media_display.html.erb +1 -1
  36. data/app/views/collections/_show_descriptions.html.erb +1 -1
  37. data/app/views/collections/_show_document_list_row.html.erb +2 -2
  38. data/app/views/dashboard/_index_partials/_heading_actions.html.erb +16 -12
  39. data/app/views/generic_files/_browse_everything.html.erb +3 -1
  40. data/app/views/generic_files/_local_file_import.html.erb +0 -1
  41. data/app/views/generic_files/_multiple_upload.html.erb +0 -1
  42. data/app/views/generic_files/_show_descriptions.html.erb +6 -11
  43. data/app/views/generic_files/_show_details.html.erb +41 -65
  44. data/app/views/generic_files/new.html.erb +1 -0
  45. data/app/views/generic_files/show.html.erb +2 -1
  46. data/app/views/generic_files/upload/_alerts.html.erb +5 -13
  47. data/app/views/homepage/_home_header.html.erb +6 -7
  48. data/app/views/my/_index_partials/_list_collections.html.erb +1 -1
  49. data/app/views/my/index.html.erb +2 -2
  50. data/app/views/records/edit_fields/_resource_type.html.erb +1 -1
  51. data/config/initializers/sufia_events.rb +2 -3
  52. data/config/locales/sufia.en.yml +11 -2
  53. data/lib/generators/sufia/install_generator.rb +5 -1
  54. data/lib/generators/sufia/templates/catalog_controller.rb +3 -5
  55. data/lib/generators/sufia/upgrade600_generator.rb +26 -0
  56. data/lib/sufia/version.rb +1 -1
  57. data/spec/actors/generic_file/actor_spec.rb +14 -0
  58. data/spec/controllers/collections_controller_spec.rb +19 -2
  59. data/spec/controllers/dashboard_controller_spec.rb +43 -12
  60. data/spec/controllers/generic_files_controller_spec.rb +24 -1
  61. data/spec/controllers/transfers_controller_spec.rb +4 -4
  62. data/spec/controllers/users_controller_spec.rb +18 -4
  63. data/spec/fixtures/spoken-text.m4a +0 -0
  64. data/spec/helpers/dashboard_helper_spec.rb +1 -1
  65. data/spec/helpers/sufia_url_helper_spec.rb +15 -0
  66. data/spec/inputs/select_with_help_input_spec.rb +15 -0
  67. data/spec/jobs/{active_fedora_pid_based_job_spec.rb → active_fedora_id_based_job_spec.rb} +2 -2
  68. data/spec/jobs/audit_job_spec.rb +2 -2
  69. data/spec/lib/sufia/id_service_spec.rb +8 -8
  70. data/spec/lib/sufia/user_stat_importer_spec.rb +9 -1
  71. data/spec/models/ability_spec.rb +7 -4
  72. data/spec/models/checksum_audit_log_spec.rb +10 -10
  73. data/spec/models/collection_spec.rb +8 -13
  74. data/spec/models/fits_datastream_spec.rb +17 -0
  75. data/spec/models/generic_file_spec.rb +9 -1
  76. data/spec/models/proxy_deposit_request_spec.rb +15 -3
  77. data/spec/services/generic_file_audit_service_spec.rb +1 -1
  78. data/spec/support/features.rb +1 -0
  79. data/spec/support/rake_output.rb +20 -0
  80. data/spec/tasks/rake_spec.rb +58 -0
  81. data/spec/test_app_templates/Gemfile.extra +3 -1
  82. data/spec/views/batch/edit.html.erb_spec.rb +6 -2
  83. data/spec/views/catalog/index.html.erb_spec.rb +1 -1
  84. data/spec/views/catalog/sort_and_per_page.html.erb_spec.rb +6 -2
  85. data/spec/views/dashboard/index_spec.rb +49 -1
  86. data/spec/views/generic_file/_browse_everything.html.erb_spec.rb +9 -0
  87. data/spec/views/generic_file/show.html.erb_spec.rb +13 -8
  88. data/spec/views/homepage/_home_header.html.erb_spec.rb +26 -0
  89. data/spec/views/users/_user_util_links.html.erb_spec.rb +20 -0
  90. data/spec/views/users/show.html.erb_spec.rb +1 -1
  91. data/sufia-models/app/actors/sufia/generic_file/actor.rb +1 -1
  92. data/sufia-models/app/jobs/active_fedora_id_based_job.rb +22 -0
  93. data/sufia-models/app/jobs/active_fedora_pid_based_job.rb +5 -20
  94. data/sufia-models/app/jobs/audit_job.rb +5 -6
  95. data/sufia-models/app/jobs/characterize_job.rb +1 -1
  96. data/sufia-models/app/jobs/create_derivatives_job.rb +1 -1
  97. data/sufia-models/app/jobs/import_url_job.rb +2 -2
  98. data/sufia-models/app/models/batch.rb +18 -4
  99. data/sufia-models/app/models/checksum_audit_log.rb +2 -2
  100. data/sufia-models/app/models/concerns/sufia/ability.rb +7 -1
  101. data/sufia-models/app/models/concerns/sufia/collection_behavior.rb +1 -1
  102. data/sufia-models/app/models/concerns/sufia/generic_file/full_text_indexing.rb +23 -14
  103. data/sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb +1 -1
  104. data/sufia-models/app/models/datastreams/fits_datastream.rb +1 -36
  105. data/sufia-models/app/models/proxy_deposit_request.rb +6 -6
  106. data/sufia-models/app/services/sufia/generic_file_audit_service.rb +1 -1
  107. data/sufia-models/app/services/sufia/generic_file_indexing_service.rb +0 -1
  108. data/sufia-models/app/services/sufia/id_service.rb +2 -3
  109. data/sufia-models/app/services/sufia/noid.rb +1 -1
  110. data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +1 -1
  111. data/sufia-models/lib/generators/sufia/models/templates/migrations/change_audit_log_pid_to_generic_file_id.rb +5 -0
  112. data/sufia-models/lib/generators/sufia/models/templates/migrations/change_proxy_deposit_request_pid_to_generic_file_id.rb +5 -0
  113. data/sufia-models/lib/generators/sufia/models/upgrade600_generator.rb +21 -0
  114. data/sufia-models/lib/sufia/models/stats/user_stat_importer.rb +20 -1
  115. data/sufia-models/lib/sufia/models/version.rb +1 -1
  116. data/sufia-models/lib/tasks/batch_cleanup.rake +19 -0
  117. data/sufia-models/lib/tasks/migrate.rake +21 -0
  118. data/sufia-models/lib/tasks/sufia-models_tasks.rake +55 -38
  119. data/sufia-models/sufia-models.gemspec +1 -1
  120. data/sufia.gemspec +2 -2
  121. metadata +44 -38
  122. data/app/assets/images/site_images/bg_body.png +0 -0
  123. data/app/assets/images/site_images/bg_breadcrumbs.png +0 -0
  124. data/app/assets/images/site_images/bg_button1.png +0 -0
  125. data/app/assets/images/site_images/bg_button2.png +0 -0
  126. data/app/assets/images/site_images/bg_button3.png +0 -0
  127. data/app/assets/images/site_images/bg_content.png +0 -0
  128. data/app/assets/images/site_images/bg_content2.png +0 -0
  129. data/app/assets/images/site_images/bg_footer.png +0 -0
  130. data/app/assets/images/site_images/bg_masthead.png +0 -0
  131. data/app/assets/images/site_images/bg_search_field.png +0 -0
  132. data/app/assets/images/site_images/bg_search_header.png +0 -0
  133. data/app/assets/images/site_images/bg_signin.png +0 -0
  134. data/app/assets/images/site_images/carrot_blue.png +0 -0
  135. data/app/assets/images/site_images/carrot_yellow.png +0 -0
  136. data/app/assets/images/site_images/icon_arrow2_up.png +0 -0
  137. data/app/assets/images/site_images/icon_arrow3_down.png +0 -0
  138. data/app/assets/images/site_images/icon_arrow3_right.png +0 -0
  139. data/app/assets/images/site_images/icon_arrow_down.png +0 -0
  140. data/app/assets/images/site_images/icons_sprite.png +0 -0
  141. data/app/assets/images/site_images/logo_psuss_footer.png +0 -0
  142. data/app/views/catalog/_edit_partials/_default.html.erb +0 -55
  143. data/spec/support/fedora_conf/fedora.fcfg +0 -953
@@ -1,55 +0,0 @@
1
- <%# default partial to display solr document fields in catalog show view -%>
2
-
3
- <%- stylesheet_links << "../plugin_assets/hydra-head/javascripts/date-picker/css/datepicker" %>
4
- <%- stylesheet_links << "../plugin_assets/hydra-head/javascripts/fancybox/jquery.fancybox-1.3.1.css" %>
5
- <%- stylesheet_links << ["../plugin_assets/hydra-head/javascripts/select_to_ui_slider/css/ui.slider.extras.css"] %>
6
- <%- stylesheet_links << ["../plugin_assets/hydra-head/stylesheets/slider.css"] %>
7
-
8
- <% @fedora_object = ActiveFedora::Base.load_instance(params[:id])
9
- @datastreams = @fedora_object.datastreams
10
- %>
11
-
12
- <div class="document_viewer" id="cover_container">
13
- <dl>
14
- <dt>pid:</dt>
15
- <dd><%= @fedora_object.pid %></dd>
16
- </dl>
17
- <dl>
18
- <dt>label:</dt>
19
- <dd><%= @fedora_object.label %></dd>
20
- <dt>state:</dt>
21
- <dd><%= @fedora_object.state %></dd>
22
- <dt>owner id:</dt>
23
- <dd><%= @fedora_object.inner_object.ownerId %></dd>
24
- </dl>
25
- <dl>
26
- <dt>created:</dt>
27
- <dd><%= @fedora_object.create_date %></dd>
28
- <dt>last modified:</dt>
29
- <dd><%= @fedora_object.modified_date %></dd>
30
- </dl>
31
- <dl>
32
- <dt>datastreams:</dt>
33
- <dd>
34
- <ul>
35
- <% @datastreams.keys.sort.each do |dsid| %>
36
- <li><a href="#<%= dsid %>" class="inline"><%= dsid %></a>
37
- <div style='display: none'>
38
- <div id='<%= dsid %>'>
39
- <h1><%= dsid %></h1>
40
- <dl>
41
- <%= ("<dt>label:</dt><dd>" + @datastreams[dsid].dsLabel + "</dd>").html_safe unless @datastreams[dsid].dsLabel.blank? %>
42
- <%= ("<dt>last modified:</dt><dd>" + @datastreams[dsid].lastModifiedDate + "</dd>").html_safe unless @datastreams[dsid].lastModifiedDate.blank? %>
43
- <%= ("<dt>mimetype:</dt><dd>" + @datastreams[dsid].mimeType + "</dd>").html_safe unless @datastreams[dsid].mimeType.blank? %>
44
- <%= ("<dt>control group:</dt><dd>" + @datastreams[dsid].controlGroup + "</dd>").html_safe unless @datastreams[dsid].controlGroup.blank? %>
45
- </dl>
46
- </div>
47
- </div></li>
48
- <% end %>
49
- </ul>
50
- </dd>
51
- </dl>
52
-
53
- <%= render partial: "hydra/permissions/index", locals: { document: document, asset_id: params[:id] }%>
54
-
55
- </div>
@@ -1,953 +0,0 @@
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 &quot; &quot;.</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 &quot;inline&quot; 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 &quot;inline&quot; 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 &quot;attachment&quot; 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 &quot;myfedora&quot; 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 &quot;utf-8&quot;. 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
- &quot;false&quot;. Valid values are &quot;true&quot; or
149
- &quot;false&quot;.</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 &quot;X&quot; or &quot;M&quot;.</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="fedoraStorageHintProvider" value="org.fcrepo.server.storage.NullStorageHintsProvider">
184
- <comment>Hints are gathered and passed to the underline storage systems (only Akubra for now).
185
- These are meta data or contextual information about object or datastream to be added or updated.
186
- The default implementation is NullStorageHintsProvider; it provides no hints. You you can implement
187
- your own FedoraStorageHintProvider and drop your implementation to the $CATALINA_HOME/webapps/fedora/WEB_INF/classes
188
- directory (unpackaged), or the $CATALINA_HOME/webapps/fedora/WEB_INF/lib director (packaged).</comment>
189
- </param>
190
- <param name="gSearchRESTURL" value="http://localhost:8080/fedoragsearch/rest">
191
- <comment>The REST endpoint of the Fedora Generic Search service.
192
- This parameter is only required if GSearchDOManager is
193
- used.</comment>
194
- </param>
195
- <param name="defaultExportFormat" value="info:fedora/fedora-system:FOXML-1.1"/>
196
- <param name="defaultRELSControlGroup" value="X">
197
- <comment>The control group to use for system-generated RELS-EXT and
198
- RELS-INT datastreams where these are not already present when
199
- adding relationships via addRelationship. Must be &quot;X&quot; or &quot;M&quot;.</comment>
200
- </param>
201
- <param name="pidNamespace" value="changeme">
202
- <comment>This is the namespace id for pids of newly-created objects.
203
- This should be unique for a repository. It can be from 1 to 17
204
- characters, and may only contain A-Z, a-z, 0-9, &apos;.&apos;, or &apos;-&apos; (dash).</comment>
205
- </param>
206
- </module>
207
- <module role="org.fcrepo.server.management.Management" class="org.fcrepo.server.management.ManagementModule">
208
- <comment>The management subsystem. This implements the methods necessary
209
- to fulfill API-M requests without regard to:
210
- - how the service is exposed
211
- - how bytestreams and java types might be marshalled/demarshalled over the wire
212
- - how the storage subsystem is implemented.</comment>
213
- <param name="purgeDelayInMillis" value="60000">
214
- <comment>Optional, default is 60000 (1 minute).
215
- This specifies the amount of time between checks to remove
216
- temporary files uploaded via the API-M upload interface. During
217
- each check, old files whose age exceeds uploadStorageMinutes
218
- will be removed.</comment>
219
- </param>
220
- <param name="decorator1" value="org.fcrepo.server.messaging.NotificationInvocationHandler"/>
221
- <param name="checksumAlgorithm" value="SHA-1">
222
- <comment>Specifies which checksumming algorithm is to be used when
223
- automatically computing checksums as specified by the above
224
- parameter. Valid values are: MD5 SHA-1 SHA-256 SHA-384 SHA-512.</comment>
225
- </param>
226
- <param name="uploadStorageMinutes" value="5">
227
- <comment>Optional, default is 5.
228
- This specifies the minimum amount of time that each uploaded
229
- file should be kept in temporary storage.</comment>
230
- </param>
231
- <param name="autoChecksum" value="true">
232
- <comment>Controls whether a checksum is automatically computed for
233
- every datastream as the datastream is added to the repository. This
234
- will allow the integrity of datastream contents to be periodically
235
- checked to insure the object is not corrupted.</comment>
236
- </param>
237
- </module>
238
- <module role="org.fcrepo.server.access.Access" class="org.fcrepo.server.access.DefaultAccess">
239
- <comment>Description: The access subsystem. This implements the methods
240
- necessary to fulfill API-A requests without regard to:
241
- - how the service is exposed
242
- - how bytestreams and java types might be marshalled/demarshalled
243
- over the wire.</comment>
244
- <param name="doMediateDatastreams" value="false">
245
- <comment>A boolean switch indicating whether Datastream Mediation is
246
- activated or not. Datastream Mediation is required if using basic
247
- authentication for API-A. When basic authentication is enabled for
248
- API-A, backend services used by custom disseminations may or may not be
249
- capable of authenticating with the Fedora server. Datastream mediation
250
- coupled with the backend service configuration information in the
251
- beSecurity.xml file enables the Fedora server to determine which backend
252
- services are required to authenticate and which ones are allowed to
253
- connect without authentication. Datastream mediation provides additional
254
- repository security by not exposing the physical location of Referenced
255
- Content datastreams to external mechanisms(services). Instead of
256
- exposing the actual physical location of Referenced Content datastreams,
257
- Datastream Mediation functions as a proxy requiring all external
258
- services to communicate through the Fedora server to resolve the
259
- location of Referenced Content datastreams.
260
-
261
- IMPORTANT: For Datastream Mediation to function, the Fedora server must
262
- be internet accessible using the configured name for fedoraServerHost
263
- and fedoraServerPort. For example, using the default fedoraServerHost
264
- value of &quot;localhost&quot; will not work if you have remote backend services
265
- since the hostname of &quot;localhost&quot; will not be resolvable as the Fedora
266
- server by the remote backend services. This requirement can be difficult
267
- to satisfy if the Fedora server is located behind a firewall and you do
268
- not have ready access to the firewall&apos;s configuration to enable the
269
- required access. If the Fedora server is behind a firewall and you have
270
- no access to the firewall&apos;s configuration, you are limited to keeping
271
- Datastream Mediation turned off. Note that this will also prevent you
272
- from using basic authentication with API-A. The default value of
273
- doMediateDatastreams is false.</comment>
274
- </param>
275
- </module>
276
- <module role="org.fcrepo.server.access.DynamicAccess" class="org.fcrepo.server.access.DynamicAccessModule">
277
- <comment>The dynamic behavior module for the access subsystem. This
278
- implements the methods necessary to fulfill API-A requests without
279
- regard to:
280
- - dynamically associating a default behavior definition and mechanism with objects
281
- - (Future) dynamically associating other behavior definitions and mechanisms
282
- with objects
283
- - running disseminations of dynamic behaviors</comment>
284
- <param name="fedora-system:1" value="org.fcrepo.server.access.internalservices.Bootstrap">
285
- <comment>The interface that defines the methods of the bootstrap
286
- disseminator. These methods are &quot;built-in&quot; to the Fedora system, and
287
- are dynamically associated with every behavior definition and
288
- behavior mechanism object.</comment>
289
- </param>
290
- <param name="fedora-system:2" value="org.fcrepo.server.access.internalservices.BootstrapImpl">
291
- <comment>The class that implements the methods of the bootstrap
292
- disseminator. These method implementations are &quot;built-in&quot; to the
293
- Fedora system, and are dynamically associated with every behavior
294
- definition and behavior mechanism object. This class can be thought
295
- of as implementing an &quot;internal service&quot; whereas other disseminators
296
- use external services (described by WSDL) to do their work.</comment>
297
- </param>
298
- <param name="fedora-system:3" value="org.fcrepo.server.access.defaultdisseminator.DefaultDisseminator">
299
- <comment>The interface that defines the methods of the default
300
- disseminator. These methods are &quot;built-in&quot; to the Fedora system, and
301
- are dynamically associated with every object.</comment>
302
- </param>
303
- <param name="fedora-system:4" value="org.fcrepo.server.access.defaultdisseminator.DefaultDisseminatorImpl">
304
- <comment>The class that implements the methods of the default
305
- disseminator. These method implementations are &quot;built-in&quot; to the
306
- Fedora system, and are dynamically associated with every object.
307
- This class can be though of as implementing an &quot;internal service&quot;
308
- whereas other disseminators use external services (described by
309
- WSDL) to do their work.</comment>
310
- </param>
311
- </module>
312
- <module role="org.fcrepo.server.search.FieldSearch" class="org.fcrepo.server.search.FieldSearchSQLModule">
313
- <comment>Supports the API-A simpleSearch and advancedSearch methods.</comment>
314
- <param name="indexDCFields" value="true">
315
- <comment>(optional, default is true) Whether the content of the DC
316
- datastream should be examined and the contents indexed, for each object.
317
- You may wish to save time and space by disabling DC field indexing,
318
- particularly if you have an external search service (such as Fedora
319
- Generic Search) that already fulfills this need.
320
- Note: If you change this value on a Fedora repository that has been
321
- running for some time, you will need to perform a SQL rebuild using the
322
- Fedora Rebuilder tool if you want to change objects that have already
323
- been ingested.</comment>
324
- </param>
325
- <param name="connectionPool" value="localDerbyPool">
326
- <comment>(optional) To make unspecified, comment out or delete the
327
- whole param line as opposed to using an empty string,
328
- default=ConnectionPoolManager&apos;s default) The connectionPool
329
- providing the connection to the database to be used. Warning: When
330
- setting these values, keep in mind that while a session is not timed
331
- out (maxSecondsPerSession seconds haven&apos;t elapsed, and not all
332
- results have been requested), a connection from the pool is tied up.
333
- Therefore, the connectionPool should be at least of size n, large
334
- enough to accomodate n simultaneous search sessions. The longer
335
- maxSecondsPerSession is, the more chance you have of tying up all
336
- available connections from the pool. Therefore, keep
337
- maxSecondsPerSession fairly low, but still reasonable for an
338
- automated program or user to serially get a long list of results,
339
- and make sure you have a connectionPool large enough to accomodate
340
- your users.</comment>
341
- </param>
342
- <param name="maxSecondsPerSession" value="500">
343
- <comment>(required, must be &gt; 0)
344
- The maximum number of seconds that the server guarantees subsequent
345
- search results may be obtained. This is only used in cases where the
346
- number of results is greater than maxResults (as specified by the
347
- server [above] or the client [in the search request]).</comment>
348
- </param>
349
- <param name="maxResults" value="100">
350
- <comment>(required, must be &gt; 0)
351
- The maximum number of records to
352
- return as the result of a search. Even if a client requests more
353
- results at a time, this is the cutoff value.</comment>
354
- </param>
355
- </module>
356
- <module role="org.fcrepo.server.resourceIndex.ResourceIndex" class="org.fcrepo.server.resourceIndex.ResourceIndexModule">
357
- <comment>Supports the ResourceIndex.</comment>
358
- <param name="level" value="0">
359
- <comment>(required)
360
- Index level. Currently, only 0, and 1 are supported levels.
361
- 0 = off and 1 = on.
362
- WARNING: changing the level (except to 0) requires
363
- 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="datastore" value="localMulgaraTriplestore">
377
- <comment>(required)
378
- Name of the triplestore to use. WARNING: changing the
379
- triplestore running the Resource Index Rebuilder.</comment>
380
- </param>
381
- <param name="alias:test" value="http://example.org/terms#">
382
- <comment>(optional) Aliases that can be used for queries. The param
383
- name of an alias starts with the string &quot;alias:&quot; and is followed by
384
- the name of the alias (shortcut) for the value, which is a URI
385
- prefix. For example: name=&quot;alias:test&quot;
386
- value=&quot;http://example.org/terms#&quot; will allow a query to use
387
- test:apple instead of http://example.org/terms#apple</comment>
388
- </param>
389
- </module>
390
- <module role="org.fcrepo.oai.OAIProvider" class="org.fcrepo.server.oai.FedoraOAIProviderModule">
391
- <comment>Description: Exposes the repository for OAI harvesters.</comment>
392
- <param name="maxRecords" value="100"/>
393
- <param name="friends" value="http://arXiv.org/oai2 http://memory.loc.gov/cgi-bin/oai2_0"/>
394
- <param name="adminEmails" value="oai-admin@example.org bob@example.org"/>
395
- <param name="repositoryDomainName" value="example.org"/>
396
- <param name="maxHeaders" value="100"/>
397
- <param name="repositoryName" value="Your Fedora Repository Name Here"/>
398
- </module>
399
- <module role="org.fcrepo.server.storage.translation.DOTranslator" class="org.fcrepo.server.storage.translation.DOTranslatorModule">
400
- <comment>Supports translation from DigitalObject to a stream of some
401
- format, and vice-versa. The parameters below specify
402
- serializer/deserializer classes to be used for a given format. Those
403
- classes must implement the DOSerializer/DODeserializer interfaces.</comment>
404
- <param name="serializer_info:fedora/fedora-system:ATOM-1.1" value="org.fcrepo.server.storage.translation.Atom1_1DOSerializer"/>
405
- <param name="deserializer_info:fedora/fedora-system:FOXML-1.1" value="org.fcrepo.server.storage.translation.FOXML1_1DODeserializer"/>
406
- <param name="serializer_info:fedora/fedora-system:METSFedoraExt-1.0" value="org.fcrepo.server.storage.translation.METSFedoraExt1_0DOSerializer"/>
407
- <param name="deserializer_info:fedora/fedora-system:METSFedoraExt-1.1" value="org.fcrepo.server.storage.translation.METSFedoraExt1_1DODeserializer"/>
408
- <param name="serializer_info:fedora/fedora-system:METSFedoraExt-1.1" value="org.fcrepo.server.storage.translation.METSFedoraExt1_1DOSerializer"/>
409
- <param name="deserializer_info:fedora/fedora-system:METSFedoraExt-1.0" value="org.fcrepo.server.storage.translation.METSFedoraExt1_0DODeserializer"/>
410
- <param name="serializer_info:fedora/fedora-system:FOXML-1.0" value="org.fcrepo.server.storage.translation.FOXML1_0DOSerializer"/>
411
- <param name="deserializer_info:fedora/fedora-system:ATOMZip-1.1" value="org.fcrepo.server.storage.translation.AtomZip1_1DODeserializer"/>
412
- <param name="serializer_info:fedora/fedora-system:FOXML-1.1" value="org.fcrepo.server.storage.translation.FOXML1_1DOSerializer"/>
413
- <param name="deserializer_info:fedora/fedora-system:ATOM-1.1" value="org.fcrepo.server.storage.translation.Atom1_1DODeserializer"/>
414
- <param name="deserializer_info:fedora/fedora-system:FOXML-1.0" value="org.fcrepo.server.storage.translation.FOXML1_0DODeserializer"/>
415
- <param name="serializer_info:fedora/fedora-system:ATOMZip-1.1" value="org.fcrepo.server.storage.translation.AtomZip1_1DOSerializer"/>
416
- </module>
417
- <module role="org.fcrepo.server.management.PIDGenerator" class="org.fcrepo.server.management.BasicPIDGenerator">
418
- <comment>The pid generator.</comment>
419
- <param name="pidgen_log_dir" value="pidgen"/>
420
- </module>
421
- <module role="org.fcrepo.server.messaging.Messaging" class="org.fcrepo.server.messaging.MessagingModule">
422
- <comment>Fedora's Java Messaging Service (JMS) Module</comment>
423
- <param name="enabled" value="false"/>
424
- <param name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
425
- <param name="java.naming.provider.url" value="vm:(broker:(tcp://localhost:61616))"/>
426
- <param name="datastore1" value="apimUpdateMessages">
427
- <comment>A datastore representing a JMS Destination for APIM events which update the repository</comment>
428
- </param>
429
- <param name="datastore2" value="apimAccessMessages">
430
- <comment>A datastore representing a JMS Destination for APIM events which do not update the repository</comment>
431
- </param>
432
- </module>
433
- <module role="org.fcrepo.server.storage.ConnectionPoolManager" class="org.fcrepo.server.storage.ConnectionPoolManagerImpl">
434
- <comment>This module facilitates obtaining ConnectionPools</comment>
435
- <param name="defaultPoolName" value="localDerbyPool"/>
436
- <param name="poolNames" value="localDerbyPool"/>
437
- </module>
438
- <module role="org.fcrepo.server.validation.DOValidator" class="org.fcrepo.server.validation.DOValidatorModule">
439
- <comment>Description: Supports validation of digital objects, including
440
- XML Schema validation, Schematron validation (to Fedora Rules schema
441
- written in Schematron language), and other programatic validation
442
- including referential integrity checking of existence and
443
- availability of distributed data and/or services.</comment>
444
- <param name="tempDir" value="work">
445
- <comment>(required)
446
- This is a directory that the validation module can use as a work space, as
447
- when it must write a temporary file.</comment>
448
- </param>
449
- <param name="rules_info:fedora/fedora-system:ATOM-1.1" value="schematron/atom-bogus.xml">
450
- <comment>The local path to the Schematron Rules used for
451
- Fedora-specific on Atom XML files.</comment>
452
- </param>
453
- <param name="schtron_preprocessor" value="schematron/preprocessor.xslt"/>
454
- <param name="rules_info:fedora/fedora-system:ATOMZip-1.1" value="schematron/atom-bogus.xml">
455
- <comment>The local path to the Schematron Rules used for
456
- Fedora-specific on Atom Zip files.</comment>
457
- </param>
458
- <param name="rules_info:fedora/fedora-system:FOXML-1.1" value="schematron/foxmlRules1-1.xml">
459
- <comment>The local path to the Schematron Rules used for
460
- Fedora-specific validation on FOXML 1.1 XML files.</comment>
461
- </param>
462
- <param name="rules_info:fedora/fedora-system:FOXML-1.0" value="schematron/foxmlRules1-0.xml">
463
- <comment>The local path to the Schematron Rules used for
464
- Fedora-specific validation on FOXML 1.0 XML files.</comment>
465
- </param>
466
- <param name="xsd_info:fedora/fedora-system:METSFedoraExt-1.1" value="xsd/mets-fedora-ext1-1.xsd">
467
- <comment>The local path for the Fedora-METS XML
468
- schema used to do XML schema validation of digital objects.</comment>
469
- </param>
470
- <param name="xsd_info:fedora/fedora-system:METSFedoraExt-1.0" value="xsd/mets-fedora-ext.xsd">
471
- <comment>The local path for the Fedora-METS 1.0 XML
472
- schema used to do XML schema validation of digital objects.</comment>
473
- </param>
474
- <param name="xsd_xacml_policy1.0" value="xsd/cs-xacml-schema-policy-1.0.xsd">
475
- <comment>The local path for the OASIS XACML XML policy schema
476
- used to do XML schema validation of XACML policies.</comment>
477
- </param>
478
- <param name="xsd_info:fedora/fedora-system:FOXML-1.1" value="xsd/foxml1-1.xsd">
479
- <comment>The local path for the Fedora FOXML 1.1 XML schema
480
- used to do XML schema validation of digital objects</comment>
481
- </param>
482
- <param name="xsd_info:fedora/fedora-system:FOXML-1.0" value="xsd/foxml1-0.xsd">
483
- <comment>The local path for the Fedora FOXML 1.0 XML schema
484
- used to do XML schema validation of digital objects</comment>
485
- </param>
486
- <param name="xsd_info:fedora/fedora-system:ATOM-1.1" value="xsd/atom.xsd">
487
- <comment>The local path for the Atom XML schema used to do XML
488
- schema validation of digital objects</comment>
489
- </param>
490
- <param name="rules_info:fedora/fedora-system:METSFedoraExt-1.0" value="schematron/metsExtRules1-0.xml">
491
- <comment>The local path to the Schematron Rules used for
492
- Fedora-specific validation on Fedora-METS 1.0 XML files.</comment>
493
- </param>
494
- <param name="xsd_info:fedora/fedora-system:ATOMZip-1.1" value="xsd/atom.xsd">
495
- <comment>The local path for the Atom XML schema used to do XML
496
- schema validation of digital objects</comment>
497
- </param>
498
- <param name="rules_info:fedora/fedora-system:METSFedoraExt-1.1" value="schematron/metsExtRules1-1.xml">
499
- <comment>The local path to the Schematron Rules used for
500
- Fedora-specific validation on Fedora-METS XML files.</comment>
501
- </param>
502
- </module>
503
- <module role="org.fcrepo.server.storage.ExternalContentManager" class="org.fcrepo.server.storage.DefaultExternalContentManager">
504
- <comment>This module facilitates obtaining external content via HTTP</comment>
505
- </module>
506
- <datastore id="localMySQLPool">
507
- <comment>MySQL database on localhost with db name of fedora3. Each
508
- connection pool instance has several configuration parameter that
509
- can be used to tune the options for the connection pool. It is
510
- recommended that you not change the default values unless you are
511
- trying to address a specific performance issue. For additional
512
- information regarding connection pool options, refer to the Apache
513
- Commons Pool API documentation at
514
- http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
515
- <param name="maxIdle" value="10">
516
- <comment>The maximum number of idle instances in pool.</comment>
517
- </param>
518
- <param name="testOnBorrow" value="true">
519
- <comment>When true objects are validated before borrowed from the
520
- pool.</comment>
521
- </param>
522
- <param name="testWhileIdle" value="true">
523
- <comment>When true, objects are validated by the idle object evictor
524
- thread.</comment>
525
- </param>
526
- <param name="validationQuery" value="select 1">
527
- <comment>The query to run when validating connections.
528
- Connections are validated according to the testOnBorrow,
529
- testOnReturn, and testWhileIdle configuration values.
530
- If this is specified, it must be a SQL SELECT statement
531
- that returns at least one row. If this is NOT specified,
532
- validation tests will not be run.</comment>
533
- </param>
534
- <param name="ddlConverter" value="org.fcrepo.server.utilities.MySQLDDLConverter"/>
535
- <param name="dbUsername" value="fedoraAdmin">
536
- <comment>The database user name.</comment>
537
- </param>
538
- <param name="testOnReturn" value="true">
539
- <comment>When true, objects are validated before returned to the
540
- pool.</comment>
541
- </param>
542
- <param name="maxActive" value="100">
543
- <comment>The maximum number of active instances in pool.</comment>
544
- </param>
545
- <param name="dbPassword" value="fedoraAdmin">
546
- <comment>The database password.</comment>
547
- </param>
548
- <param name="jdbcURL" value="jdbc:mysql://localhost/fedora3?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true">
549
- <comment>The JDBC connection URL.</comment>
550
- </param>
551
- <param name="whenExhaustedAction" value="1">
552
- <comment>Action to take when a new object is requested and the the pool has
553
- reached maximum number of active objects. Valid values are:
554
- 0 (fail i.e., throw Exception)
555
- 1 (block i.e., wait until pool resources are freed)
556
- 2 (grow i.e., increase the size of the pool).</comment>
557
- </param>
558
- <param name="numTestsPerEvictionRun" value="3">
559
- <comment>The number of objects to be examined on each run of idle
560
- evictor thread (if applicable). A value less than zero indicates
561
- that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
562
- </param>
563
- <param name="jdbcDriverClass" value="com.mysql.jdbc.Driver">
564
- <comment>The JDBC driver class name.</comment>
565
- </param>
566
- <param name="maxWait" value="-1">
567
- <comment>The maximum amount of time in milliseconds the
568
- borrowObject() method should wait before throwing an Exception when
569
- whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
570
- than zero indicates block indefinitely.</comment>
571
- </param>
572
- <param name="minIdle" value="0">
573
- <comment>The minimum of idle instances in pool.</comment>
574
- </param>
575
- <param name="minEvictableIdleTimeMillis" value="1800000">
576
- <comment>The minimum amount of time in milliseconds an object can be
577
- idle in pool before eligible for eviction (if applicable). A value
578
- less than zero indicates no object will be evicted due to idle time
579
- alone.</comment>
580
- </param>
581
- <param name="timeBetweenEvictionRunsMillis" value="-1">
582
- <comment>The time in milliseconds to sleep between runs of the idle
583
- object evictor thread. A value less than zero indicates no idle
584
- evictor thread is run.</comment>
585
- </param>
586
- </datastore>
587
- <datastore id="localDerbyPool">
588
- <comment>Derby database on localhost running on port 1527 Each
589
- connection pool instance has several configuration parameter that
590
- can be used to tune the options for the connection pool. It is
591
- recommended that you not change the default values unless you are
592
- trying to address a specific performance issue. For additional
593
- information regarding connection pool options, refer to the Apache
594
- Commons Pool API documentation at
595
- http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
596
- <param name="maxIdle" value="10">
597
- <comment>The maximum number of idle instances in pool.</comment>
598
- </param>
599
- <param name="testOnBorrow" value="true">
600
- <comment>When true objects are validated before borrowed from the
601
- pool.</comment>
602
- </param>
603
- <param name="testWhileIdle" value="true">
604
- <comment>When true, objects are validated by the idle object evictor
605
- thread.</comment>
606
- </param>
607
- <param name="ddlConverter" value="org.fcrepo.server.utilities.DerbyDDLConverter"/>
608
- <param name="dbUsername" value="fedoraAdmin">
609
- <comment>The database user name.</comment>
610
- </param>
611
- <param name="testOnReturn" value="true">
612
- <comment>When true, objects are validated before returned to the
613
- pool.</comment>
614
- </param>
615
- <param name="maxActive" value="100">
616
- <comment>The maximum number of active instances in pool.</comment>
617
- </param>
618
- <param name="dbPassword" value="fedoraAdmin">
619
- <comment>The database password.</comment>
620
- </param>
621
- <param name="jdbcURL" value="jdbc:derby:fedora/test/derby/fedora3;create=true">
622
- <comment>The JDBC connection URL.</comment>
623
- </param>
624
- <param name="whenExhaustedAction" value="1">
625
- <comment>Action to take when a new object is requested and the the pool has
626
- reached maximum number of active objects. Valid values are:
627
- 0 (fail i.e., throw Exception)
628
- 1 (block i.e., wait until pool resources are freed)
629
- 2 (grow i.e., increase the size of the pool).</comment>
630
- </param>
631
- <param name="numTestsPerEvictionRun" value="3">
632
- <comment>The number of objects to be examined on each run of idle
633
- evictor thread (if applicable). A value less than zero indicates
634
- that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
635
- </param>
636
- <param name="jdbcDriverClass" value="org.apache.derby.jdbc.EmbeddedDriver">
637
- <comment>The JDBC driver class name.</comment>
638
- </param>
639
- <param name="maxWait" value="-1">
640
- <comment>The maximum amount of time in milliseconds the
641
- borrowObject() method should wait before throwing an Exception when
642
- whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
643
- than zero indicates block indefinitely.</comment>
644
- </param>
645
- <param name="minIdle" value="0">
646
- <comment>The minimum of idle instances in pool.</comment>
647
- </param>
648
- <param name="minEvictableIdleTimeMillis" value="1800000">
649
- <comment>The minimum amount of time in milliseconds an object can be
650
- idle in pool before eligible for eviction (if applicable). A value
651
- less than zero indicates no object will be evicted due to idle time
652
- alone.</comment>
653
- </param>
654
- <param name="timeBetweenEvictionRunsMillis" value="-1">
655
- <comment>The time in milliseconds to sleep between runs of the idle
656
- object evictor thread. A value less than zero indicates no idle
657
- evictor thread is run.</comment>
658
- </param>
659
- </datastore>
660
- <datastore id="localOraclePool">
661
- <comment>Oracle database on localhost with SID=fedora3 Each
662
- connection pool instance has several configuration parameter that
663
- can be used to tune the options for the connection pool. It is
664
- recommended that you not change the default values unless you are
665
- trying to address a specific performance issue. For additional
666
- information regarding connection pool options, refer to the Apache
667
- Commons Pool API documentation at
668
- http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
669
- <param name="maxIdle" value="10">
670
- <comment>The maximum number of idle instances in pool.</comment>
671
- </param>
672
- <param name="testOnBorrow" value="true">
673
- <comment>When true objects are validated before borrowed from the
674
- pool.</comment>
675
- </param>
676
- <param name="testWhileIdle" value="true">
677
- <comment>When true, objects are validated by the idle object evictor
678
- thread.</comment>
679
- </param>
680
- <param name="validationQuery" value="select &apos;validationQuery&apos; from dual">
681
- <comment>The query to run when validating connections.
682
- Connections are validated according to the testOnBorrow,
683
- testOnReturn, and testWhileIdle configuration values.
684
- If this is specified, it must be a SQL SELECT statement
685
- that returns at least one row. If this is NOT specified,
686
- validation tests will not be run.</comment>
687
- </param>
688
- <param name="ddlConverter" value="org.fcrepo.server.utilities.OracleDDLConverter"/>
689
- <param name="dbUsername" value="fedoraAdmin">
690
- <comment>The database user name.</comment>
691
- </param>
692
- <param name="connection.SetBigStringTryClob" value="true"/>
693
- <param name="testOnReturn" value="true">
694
- <comment>When true, objects are validated before returned to the
695
- pool.</comment>
696
- </param>
697
- <param name="maxActive" value="100">
698
- <comment>The maximum number of active instances in pool.</comment>
699
- </param>
700
- <param name="dbPassword" value="fedoraAdmin">
701
- <comment>The database password.</comment>
702
- </param>
703
- <param name="jdbcURL" value="jdbc:oracle:thin:@localhost:1521:fedora3">
704
- <comment>The JDBC connection URL.</comment>
705
- </param>
706
- <param name="whenExhaustedAction" value="1">
707
- <comment>Action to take when a new object is requested and the the pool has
708
- reached maximum number of active objects. Valid values are:
709
- 0 (fail i.e., throw Exception)
710
- 1 (block i.e., wait until pool resources are freed)
711
- 2 (grow i.e., increase the size of the pool).</comment>
712
- </param>
713
- <param name="numTestsPerEvictionRun" value="3">
714
- <comment>The number of objects to be examined on each run of idle
715
- evictor thread (if applicable). A value less than zero indicates
716
- that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
717
- </param>
718
- <param name="jdbcDriverClass" value="oracle.jdbc.OracleDriver">
719
- <comment>The JDBC driver class name.</comment>
720
- </param>
721
- <param name="maxWait" value="-1">
722
- <comment>The maximum amount of time in milliseconds the
723
- borrowObject() method should wait before throwing an Exception when
724
- whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
725
- than zero indicates block indefinitely.</comment>
726
- </param>
727
- <param name="minIdle" value="0">
728
- <comment>The minimum of idle instances in pool.</comment>
729
- </param>
730
- <param name="minEvictableIdleTimeMillis" value="1800000">
731
- <comment>The minimum amount of time in milliseconds an object can be
732
- idle in pool before eligible for eviction (if applicable). A value
733
- less than zero indicates no object will be evicted due to idle time
734
- alone.</comment>
735
- </param>
736
- <param name="timeBetweenEvictionRunsMillis" value="-1">
737
- <comment>The time in milliseconds to sleep between runs of the idle
738
- object evictor thread. A value less than zero indicates no idle
739
- evictor thread is run.</comment>
740
- </param>
741
- </datastore>
742
- <datastore id="localPostgreSQLPool">
743
- <comment>PostgreSQL database on localhost with db name of fedora3. Each
744
- connection pool instance has several configuration parameter that
745
- can be used to tune the options for the connection pool. It is
746
- recommended that you not change the default values unless you are
747
- trying to address a specific performance issue. For additional
748
- information regarding connection pool options, refer to the Apache
749
- Commons Pool API documentation at
750
- http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
751
- <param name="maxIdle" value="10">
752
- <comment>The maximum number of idle instances in pool.</comment>
753
- </param>
754
- <param name="testOnBorrow" value="true">
755
- <comment>When true objects are validated before borrowed from the
756
- pool.</comment>
757
- </param>
758
- <param name="testWhileIdle" value="true">
759
- <comment>When true, objects are validated by the idle object evictor
760
- thread.</comment>
761
- </param>
762
- <param name="validationQuery" value="select 1">
763
- <comment>The query to run when validating connections.
764
- Connections are validated according to the testOnBorrow,
765
- testOnReturn, and testWhileIdle configuration values.
766
- If this is specified, it must be a SQL SELECT statement
767
- that returns at least one row. If this is NOT specified,
768
- validation tests will not be run.</comment>
769
- </param>
770
- <param name="ddlConverter" value="org.fcrepo.server.utilities.PostgresDDLConverter"/>
771
- <param name="dbUsername" value="fedoraAdmin">
772
- <comment>The database user name.</comment>
773
- </param>
774
- <param name="testOnReturn" value="true">
775
- <comment>When true, objects are validated before returned to the
776
- pool.</comment>
777
- </param>
778
- <param name="maxActive" value="100">
779
- <comment>The maximum number of active instances in pool.</comment>
780
- </param>
781
- <param name="dbPassword" value="fedoraAdmin">
782
- <comment>The database password.</comment>
783
- </param>
784
- <param name="jdbcURL" value="jdbc:postgresql:fedora3">
785
- <comment>The JDBC connection URL.</comment>
786
- </param>
787
- <param name="whenExhaustedAction" value="1">
788
- <comment>Action to take when a new object is requested and the the pool has
789
- reached maximum number of active objects. Valid values are:
790
- 0 (fail i.e., throw Exception)
791
- 1 (block i.e., wait until pool resources are freed)
792
- 2 (grow i.e., increase the size of the pool).</comment>
793
- </param>
794
- <param name="numTestsPerEvictionRun" value="3">
795
- <comment>The number of objects to be examined on each run of idle
796
- evictor thread (if applicable). A value less than zero indicates
797
- that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
798
- </param>
799
- <param name="jdbcDriverClass" value="org.postgresql.Driver">
800
- <comment>The JDBC driver class name.</comment>
801
- </param>
802
- <param name="maxWait" value="-1">
803
- <comment>The maximum amount of time in milliseconds the
804
- borrowObject() method should wait before throwing an Exception when
805
- whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
806
- than zero indicates block indefinitely.</comment>
807
- </param>
808
- <param name="minIdle" value="0">
809
- <comment>The minimum of idle instances in pool.</comment>
810
- </param>
811
- <param name="minEvictableIdleTimeMillis" value="1800000">
812
- <comment>The minimum amount of time in milliseconds an object can be
813
- idle in pool before eligible for eviction (if applicable). A value
814
- less than zero indicates no object will be evicted due to idle time
815
- alone.</comment>
816
- </param>
817
- <param name="timeBetweenEvictionRunsMillis" value="-1">
818
- <comment>The time in milliseconds to sleep between runs of the idle
819
- object evictor thread. A value less than zero indicates no idle
820
- evictor thread is run.</comment>
821
- </param>
822
- </datastore>
823
- <datastore id="localMulgaraTriplestore">
824
- <comment>local Mulgara Triplestore used by the Resource Index</comment>
825
- <param name="poolInitialSize" value="3">
826
- <comment>The initial size of the session pool used for queries.
827
- Note: A value of 0 will cause the Resource Index to operate in
828
- synchronized mode: concurrent read/write requests are put in a queue
829
- and handled in FIFO order; this will severely impair performance and
830
- is only intended for debugging.</comment>
831
- </param>
832
- <param name="bufferSafeCapacity" value="40000">
833
- <comment>The maximum size the buffer can reach before being forcibly
834
- flushed. If this threshold is reached, flushing will occur in the
835
- foreground and the buffer will be locked for writing until it is
836
- finished. This should be larger than autoFlushBufferSize.</comment>
837
- </param>
838
- <param name="autoCreate" value="true">
839
- <comment>Create the model if it doesn&apos;t already exist.
840
- At startup, the model will be automatically created. In addition, an
841
- XML schema datatyped model named &quot;xsd&quot; will also be automatically
842
- created.</comment>
843
- </param>
844
- <param name="bufferFlushBatchSize" value="20000">
845
- <comment>The number of updates to send to the triplestore at a time.
846
- This should be the same size as, or smaller than
847
- autoFlushBufferSize.</comment>
848
- </param>
849
- <param name="autoTextIndex" value="false">
850
- <comment>Whether to propagate adds/deletes to a full-text
851
- [Full-Text] model automatically. While a very useful feature,
852
- enabling full-text indexing adds significantly to object ingest
853
- times. If true, the text model will be named modelName-fullText.
854
- Note that if this is true and autoCreate is true, the text model
855
- will also be created if it doesn&apos;t already exist.</comment>
856
- </param>
857
- <param name="poolMaxGrowth" value="-1">
858
- <comment>Maximum number of additional sessions the pool may add. If
859
- specified as -1, no limit will be placed on pool growth.</comment>
860
- </param>
861
- <param name="remote" value="false">
862
- <comment>Tells the connector to communicate with Mulgara in remote or
863
- local mode. If true, the host parameter must be defined. If false,
864
- the path parameter must be defined.</comment>
865
- </param>
866
- <param name="autoFlushDormantSeconds" value="5">
867
- <comment>Seconds of buffer inactivity that will trigger an
868
- auto-flush. If this threshold is reached, flushing will occur in the
869
- background, during which time the buffer is still available for
870
- writing.</comment>
871
- </param>
872
- <param name="serverName" value="fedora">
873
- <comment>The server name for rmi binding.</comment>
874
- </param>
875
- <param name="autoFlushBufferSize" value="20000">
876
- <comment>The size at which the buffer should be auto-flushed. If
877
- this threshold is reached, flushing will occur in the background,
878
- during which time the buffer is still available for
879
- writing.</comment>
880
- </param>
881
- <param name="modelName" value="ri">
882
- <comment>The name of the model to use.</comment>
883
- </param>
884
- <param name="readOnly" value="false">
885
- <comment>Whether the triplestore should be read-only. Most Fedora
886
- repositories will set this to false.</comment>
887
- </param>
888
- <param name="path" value="data/resourceIndex" isFilePath="true">
889
- <comment>The local path to the main triplestore directory.</comment>
890
- </param>
891
- <param name="connectorClassName" value="org.trippi.impl.mulgara.MulgaraConnector">
892
- <comment>The name of the Trippi Connector class used to communicate
893
- with the triplestore.</comment>
894
- </param>
895
- </datastore>
896
- <datastore id="localPostgresMPTTriplestore">
897
- <comment>Example local MPTStore backed by Postgres.
898
- To use this triplestore for the Resource Index:
899
- 1) In fedora.fcfg, change the "datastore" parameter of the
900
- ResourceIndex module to localPostgresMPTTriplestore.
901
- 2) Login to your Postgres server as an administrative user and
902
- run the following commands:
903
- CREATE ROLE "fedoraAdmin" LOGIN PASSWORD 'fedoraAdmin'
904
- NOINHERIT CREATEDB
905
- VALID UNTIL 'infinity';
906
- CREATE DATABASE "riTriples"
907
- WITH ENCODING='SQL_ASCII'
908
- OWNER="fedoraAdmin";
909
- 3) Make sure you can login to your Postgres server as fedoraAdmin.
910
- 4) Download the appropriate Postgres JDBC 3 driver from
911
- http://jdbc.postgresql.org/download.html
912
- and make sure it's accessible to your servlet container.
913
- If you're running Tomcat, putting it in common/lib/ will work.</comment>
914
- <param name="fetchSize" value="1000"/>
915
- <param name="poolInitialSize" value="3"/>
916
- <param name="bufferSafeCapacity" value="2000"/>
917
- <param name="bufferFlushBatchSize" value="1000"/>
918
- <param name="backslashIsEscape" value="true"/>
919
- <param name="autoFlushDormantSeconds" value="5"/>
920
- <param name="password" value="fedoraAdmin"/>
921
- <param name="autoFlushBufferSize" value="1000"/>
922
- <param name="username" value="fedoraAdmin"/>
923
- <param name="poolMaxSize" value="10"/>
924
- <param name="jdbcURL" value="jdbc:postgresql://localhost/riTriples"/>
925
- <param name="ddlGenerator" value="org.nsdl.mptstore.impl.postgres.PostgresDDLGenerator"/>
926
- <param name="connectorClassName" value="org.trippi.impl.mpt.MPTConnector"/>
927
- <param name="jdbcDriver" value="org.postgresql.Driver"/>
928
- </datastore>
929
- <datastore id="apimUpdateMessages">
930
- <comment>Messaging Destination for API-M events which update the repository</comment>
931
- <param name="messageTypes" value="apimUpdate">
932
- <comment>A space-separated list of message types that will be
933
- delivered to this Destination. Currently, &quot;apimUpdate&quot; and
934
- &quot;apimAccess&quot; are the only supported message types.</comment>
935
- </param>
936
- <param name="name" value="fedora.apim.update"/>
937
- <param name="type" value="topic">
938
- <comment>Optional, defaults to topic.</comment>
939
- </param>
940
- </datastore>
941
- <datastore id="apimAccessMessages">
942
- <comment>Messaging Destination for API-M events which did not make changes to the repository</comment>
943
- <param name="messageTypes" value="apimAccess">
944
- <comment>A space-separated list of message types that will be
945
- delivered to this Destination. Currently, &quot;apimUpdate&quot; and
946
- &quot;apimAccess&quot; are the only supported message types.</comment>
947
- </param>
948
- <param name="name" value="fedora.apim.access"/>
949
- <param name="type" value="topic">
950
- <comment>Optional, defaults to topic.</comment>
951
- </param>
952
- </datastore>
953
- </server>