active-fedora 8.7.0 → 9.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (242) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +8 -15
  3. data/Gemfile +5 -5
  4. data/History.txt +0 -80
  5. data/README.md +1 -0
  6. data/Rakefile +0 -3
  7. data/active-fedora.gemspec +8 -7
  8. data/config/fedora.yml +5 -4
  9. data/config/predicate_mappings.yml +5 -5
  10. data/gemfiles/rails4.1.gemfile +10 -0
  11. data/gemfiles/rails4.2.beta.gemfile +10 -0
  12. data/lib/active_fedora.rb +151 -117
  13. data/lib/active_fedora/associations.rb +47 -15
  14. data/lib/active_fedora/associations/association.rb +29 -8
  15. data/lib/active_fedora/associations/association_scope.rb +5 -5
  16. data/lib/active_fedora/associations/belongs_to_association.rb +20 -63
  17. data/lib/active_fedora/associations/builder/association.rb +61 -25
  18. data/lib/active_fedora/associations/builder/belongs_to.rb +7 -94
  19. data/lib/active_fedora/associations/builder/collection_association.rb +11 -43
  20. data/lib/active_fedora/associations/builder/contains.rb +28 -0
  21. data/lib/active_fedora/associations/builder/has_and_belongs_to_many.rb +13 -3
  22. data/lib/active_fedora/associations/builder/has_many.rb +16 -10
  23. data/lib/active_fedora/associations/builder/property.rb +14 -0
  24. data/lib/active_fedora/associations/builder/singular_association.rb +14 -18
  25. data/lib/active_fedora/associations/builder/singular_property.rb +12 -0
  26. data/lib/active_fedora/associations/collection_association.rb +57 -80
  27. data/lib/active_fedora/associations/contains_association.rb +50 -0
  28. data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +44 -24
  29. data/lib/active_fedora/associations/has_many_association.rb +46 -14
  30. data/lib/active_fedora/associations/rdf.rb +86 -0
  31. data/lib/active_fedora/associations/singular_association.rb +4 -8
  32. data/lib/active_fedora/associations/singular_rdf.rb +15 -0
  33. data/lib/active_fedora/attached_files.rb +195 -0
  34. data/lib/active_fedora/attribute_methods.rb +122 -0
  35. data/lib/active_fedora/attribute_methods/dirty.rb +16 -0
  36. data/lib/active_fedora/attribute_methods/read.rb +61 -0
  37. data/lib/active_fedora/attribute_methods/write.rb +47 -0
  38. data/lib/active_fedora/attributes.rb +93 -44
  39. data/lib/active_fedora/attributes/primary_key.rb +12 -0
  40. data/lib/active_fedora/autosave_association.rb +2 -2
  41. data/lib/active_fedora/base.rb +16 -15
  42. data/lib/active_fedora/callbacks.rb +7 -7
  43. data/lib/active_fedora/change_set.rb +34 -0
  44. data/lib/active_fedora/cleaner.rb +62 -0
  45. data/lib/active_fedora/config.rb +4 -22
  46. data/lib/active_fedora/core.rb +173 -99
  47. data/lib/active_fedora/datastream.rb +4 -117
  48. data/lib/active_fedora/datastreams.rb +2 -263
  49. data/lib/active_fedora/datastreams/nokogiri_datastreams.rb +28 -51
  50. data/lib/active_fedora/{datastream_attribute.rb → delegated_attribute.rb} +57 -26
  51. data/lib/active_fedora/errors.rb +61 -0
  52. data/lib/active_fedora/fedora.rb +19 -0
  53. data/lib/active_fedora/fedora_attributes.rb +58 -26
  54. data/lib/active_fedora/file.rb +318 -0
  55. data/lib/active_fedora/file_configurator.rb +32 -32
  56. data/lib/active_fedora/file_path_builder.rb +24 -0
  57. data/lib/active_fedora/files_hash.rb +82 -0
  58. data/lib/active_fedora/fixity_service.rb +40 -0
  59. data/lib/active_fedora/indexing.rb +55 -82
  60. data/lib/active_fedora/indexing_service.rb +70 -0
  61. data/lib/active_fedora/ldp_resource.rb +26 -0
  62. data/lib/active_fedora/loadable_from_json.rb +112 -0
  63. data/lib/active_fedora/model.rb +5 -19
  64. data/lib/active_fedora/nested_attributes.rb +5 -6
  65. data/lib/active_fedora/nom_datastream.rb +15 -25
  66. data/lib/active_fedora/om_datastream.rb +26 -197
  67. data/lib/active_fedora/persistence.rb +95 -71
  68. data/lib/active_fedora/predicates.rb +4 -4
  69. data/lib/active_fedora/qualified_dublin_core_datastream.rb +17 -18
  70. data/lib/active_fedora/querying.rb +3 -4
  71. data/lib/active_fedora/railtie.rb +3 -6
  72. data/lib/active_fedora/rdf.rb +3 -1
  73. data/lib/active_fedora/rdf/datastream_indexing.rb +11 -0
  74. data/lib/active_fedora/rdf/fcrepo.rb +10 -324
  75. data/lib/active_fedora/rdf/indexing.rb +20 -16
  76. data/lib/active_fedora/rdf/ldp.rb +6 -0
  77. data/lib/active_fedora/rdf/ntriples_rdf_datastream.rb +1 -1
  78. data/lib/active_fedora/rdf/persistence.rb +5 -6
  79. data/lib/active_fedora/rdf/rdf_datastream.rb +44 -37
  80. data/lib/active_fedora/rdf/rdfxml_datastream.rb +13 -0
  81. data/lib/active_fedora/rdf/rels_ext.rb +26 -0
  82. data/lib/active_fedora/reflection.rb +256 -199
  83. data/lib/active_fedora/relation.rb +18 -6
  84. data/lib/active_fedora/relation/finder_methods.rb +69 -38
  85. data/lib/active_fedora/relation/query_methods.rb +7 -3
  86. data/lib/active_fedora/rspec_matchers/belong_to_associated_active_fedora_object_matcher.rb +7 -7
  87. data/lib/active_fedora/rspec_matchers/have_many_associated_active_fedora_objects_matcher.rb +8 -8
  88. data/lib/active_fedora/rspec_matchers/have_predicate_matcher.rb +9 -11
  89. data/lib/active_fedora/simple_datastream.rb +18 -13
  90. data/lib/active_fedora/solr_instance_loader.rb +18 -38
  91. data/lib/active_fedora/solr_service.rb +37 -20
  92. data/lib/active_fedora/sparql_insert.rb +45 -0
  93. data/lib/active_fedora/test_support.rb +1 -22
  94. data/lib/active_fedora/version.rb +1 -1
  95. data/lib/active_fedora/versionable.rb +90 -0
  96. data/lib/active_fedora/with_metadata.rb +37 -0
  97. data/lib/active_fedora/with_metadata/metadata_node.rb +70 -0
  98. data/lib/generators/active_fedora/config/config_generator.rb +0 -1
  99. data/lib/generators/active_fedora/config/solr/solr_generator.rb +1 -1
  100. data/lib/generators/active_fedora/model/model_generator.rb +5 -5
  101. data/lib/generators/active_fedora/model/templates/datastream_spec.rb.erb +1 -1
  102. data/lib/generators/active_fedora/model/templates/model_spec.rb.erb +2 -2
  103. data/lib/tasks/active_fedora_dev.rake +21 -27
  104. data/spec/config_helper.rb +1 -1
  105. data/spec/fixtures/mixed_rdf_descMetadata.nt +6 -6
  106. data/spec/fixtures/rails_root/config/predicate_mappings.yml +3 -19
  107. data/spec/fixtures/solr_rdf_descMetadata.nt +6 -6
  108. data/spec/integration/associations_spec.rb +133 -153
  109. data/spec/integration/attached_files_spec.rb +164 -0
  110. data/spec/integration/attributes_spec.rb +73 -12
  111. data/spec/integration/autosave_association_spec.rb +3 -3
  112. data/spec/integration/base_spec.rb +57 -351
  113. data/spec/integration/belongs_to_association_spec.rb +86 -76
  114. data/spec/integration/bug_spec.rb +3 -3
  115. data/spec/integration/collection_association_spec.rb +4 -4
  116. data/spec/integration/complex_rdf_datastream_spec.rb +54 -56
  117. data/spec/integration/delete_all_spec.rb +18 -15
  118. data/spec/integration/eradicate_spec.rb +54 -0
  119. data/spec/integration/fedora_solr_sync_spec.rb +7 -5
  120. data/spec/integration/field_to_solr_name_spec.rb +5 -5
  121. data/spec/integration/file_fixity_spec.rb +40 -0
  122. data/spec/integration/file_spec.rb +122 -0
  123. data/spec/integration/full_featured_model_spec.rb +53 -63
  124. data/spec/integration/has_and_belongs_to_many_associations_spec.rb +141 -114
  125. data/spec/integration/has_many_associations_spec.rb +142 -64
  126. data/spec/integration/json_serialization_spec.rb +50 -8
  127. data/spec/integration/model_spec.rb +12 -29
  128. data/spec/integration/nested_attribute_spec.rb +28 -20
  129. data/spec/integration/ntriples_datastream_spec.rb +60 -57
  130. data/spec/integration/om_datastream_spec.rb +51 -140
  131. data/spec/integration/rdf_nested_attributes_spec.rb +16 -14
  132. data/spec/integration/relation_delegation_spec.rb +7 -9
  133. data/spec/integration/relation_spec.rb +9 -7
  134. data/spec/integration/scoped_query_spec.rb +26 -26
  135. data/spec/integration/solr_instance_loader_spec.rb +69 -53
  136. data/spec/integration/solr_service_spec.rb +12 -73
  137. data/spec/integration/versionable_spec.rb +477 -0
  138. data/spec/integration/with_metadata_spec.rb +52 -0
  139. data/spec/samples/hydra-mods_article_datastream.rb +10 -6
  140. data/spec/samples/models/mods_article.rb +6 -2
  141. data/spec/samples/oral_history_sample.xml +1 -1
  142. data/spec/samples/oral_history_xml.xml +1 -1
  143. data/spec/samples/special_thing.rb +3 -3
  144. data/spec/spec_helper.rb +22 -12
  145. data/spec/support/an_active_model.rb +3 -7
  146. data/spec/unit/active_fedora_spec.rb +20 -17
  147. data/spec/unit/attached_files_spec.rb +203 -0
  148. data/spec/unit/attributes_spec.rb +286 -207
  149. data/spec/unit/base_active_model_spec.rb +8 -8
  150. data/spec/unit/base_datastream_management_spec.rb +11 -24
  151. data/spec/unit/base_extra_spec.rb +17 -67
  152. data/spec/unit/base_spec.rb +163 -428
  153. data/spec/unit/builder/has_and_belongs_to_many_spec.rb +2 -2
  154. data/spec/unit/callback_spec.rb +38 -23
  155. data/spec/unit/change_set_spec.rb +46 -0
  156. data/spec/unit/code_configurator_spec.rb +5 -5
  157. data/spec/unit/config_spec.rb +9 -14
  158. data/spec/unit/core_spec.rb +59 -8
  159. data/spec/unit/file_configurator_spec.rb +55 -53
  160. data/spec/unit/file_path_builder_spec.rb +18 -0
  161. data/spec/unit/file_spec.rb +221 -0
  162. data/spec/unit/files_hash_spec.rb +53 -0
  163. data/spec/unit/fixity_service_spec.rb +34 -0
  164. data/spec/unit/has_and_belongs_to_many_association_spec.rb +134 -0
  165. data/spec/unit/has_many_association_spec.rb +51 -0
  166. data/spec/unit/indexing_service_spec.rb +23 -0
  167. data/spec/unit/indexing_spec.rb +26 -0
  168. data/spec/unit/inheritance_spec.rb +9 -10
  169. data/spec/unit/model_spec.rb +15 -33
  170. data/spec/unit/nom_datastream_spec.rb +13 -10
  171. data/spec/unit/ntriples_datastream_spec.rb +81 -96
  172. data/spec/unit/om_datastream_spec.rb +137 -227
  173. data/spec/unit/persistence_spec.rb +28 -34
  174. data/spec/unit/predicates_spec.rb +29 -29
  175. data/spec/unit/property_spec.rb +1 -3
  176. data/spec/unit/qualified_dublin_core_datastream_spec.rb +27 -32
  177. data/spec/unit/query_spec.rb +116 -149
  178. data/spec/unit/rdf_datastream_spec.rb +25 -43
  179. data/spec/unit/rdf_resource_datastream_spec.rb +24 -123
  180. data/spec/unit/{rdfxml_rdf_datastream_spec.rb → rdfxml_datastream_spec.rb} +21 -25
  181. data/spec/unit/readonly_spec.rb +23 -0
  182. data/spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb +6 -6
  183. data/spec/unit/rspec_matchers/have_many_associated_active_fedora_objects_matcher_spec.rb +6 -6
  184. data/spec/unit/rspec_matchers/have_predicate_matcher_spec.rb +6 -6
  185. data/spec/unit/serializers_spec.rb +1 -1
  186. data/spec/unit/simple_datastream_spec.rb +12 -23
  187. data/spec/unit/solr_config_options_spec.rb +14 -17
  188. data/spec/unit/solr_service_spec.rb +38 -77
  189. data/spec/unit/sparql_insert_spec.rb +32 -0
  190. data/spec/unit/validations_spec.rb +8 -11
  191. metadata +96 -121
  192. data/lib/active_fedora/auditable.rb +0 -9
  193. data/lib/active_fedora/content_model.rb +0 -70
  194. data/lib/active_fedora/datastream_collections.rb +0 -302
  195. data/lib/active_fedora/datastream_hash.rb +0 -35
  196. data/lib/active_fedora/digital_object.rb +0 -55
  197. data/lib/active_fedora/fixture_exporter.rb +0 -33
  198. data/lib/active_fedora/fixture_loader.rb +0 -48
  199. data/lib/active_fedora/rdf/identifiable.rb +0 -66
  200. data/lib/active_fedora/rdf/project_hydra.rb +0 -12
  201. data/lib/active_fedora/rdf/rdfxml_rdf_datastream.rb +0 -13
  202. data/lib/active_fedora/rdf_xml_writer.rb +0 -49
  203. data/lib/active_fedora/relationship_graph.rb +0 -101
  204. data/lib/active_fedora/reload_on_save.rb +0 -16
  205. data/lib/active_fedora/rels_ext_datastream.rb +0 -100
  206. data/lib/active_fedora/rspec_matchers/match_fedora_datastream_matcher.rb +0 -41
  207. data/lib/active_fedora/rubydora_connection.rb +0 -35
  208. data/lib/active_fedora/semantic_node.rb +0 -164
  209. data/lib/active_fedora/service_definitions.rb +0 -88
  210. data/lib/active_fedora/sharding.rb +0 -58
  211. data/lib/active_fedora/solr_digital_object.rb +0 -68
  212. data/lib/active_fedora/unsaved_digital_object.rb +0 -58
  213. data/lib/generators/active_fedora/config/fedora/fedora_generator.rb +0 -12
  214. data/lib/generators/active_fedora/config/fedora/templates/fedora.yml +0 -38
  215. data/lib/generators/active_fedora/config/fedora/templates/fedora_conf/conf/development/fedora.fcfg +0 -953
  216. data/lib/generators/active_fedora/config/fedora/templates/fedora_conf/conf/test/fedora.fcfg +0 -953
  217. data/lib/tasks/active_fedora.rake +0 -83
  218. data/spec/fixtures/sharded_fedora.yml +0 -11
  219. data/spec/integration/auditable_spec.rb +0 -29
  220. data/spec/integration/datastream_collections_spec.rb +0 -127
  221. data/spec/integration/datastream_spec.rb +0 -90
  222. data/spec/integration/datastreams_spec.rb +0 -173
  223. data/spec/integration/load_from_solr_spec.rb +0 -66
  224. data/spec/integration/rels_ext_datastream_spec.rb +0 -82
  225. data/spec/support/mock_fedora.rb +0 -44
  226. data/spec/unit/content_model_spec.rb +0 -86
  227. data/spec/unit/datastream_collections_spec.rb +0 -420
  228. data/spec/unit/datastream_spec.rb +0 -83
  229. data/spec/unit/datastreams_spec.rb +0 -243
  230. data/spec/unit/has_and_belongs_to_many_collection_spec.rb +0 -96
  231. data/spec/unit/has_many_collection_spec.rb +0 -35
  232. data/spec/unit/rdf_vocab_spec.rb +0 -30
  233. data/spec/unit/rdf_xml_writer_spec.rb +0 -63
  234. data/spec/unit/relationship_graph_spec.rb +0 -115
  235. data/spec/unit/reload_on_save_spec.rb +0 -24
  236. data/spec/unit/rels_ext_datastream_spec.rb +0 -170
  237. data/spec/unit/rspec_matchers/match_fedora_datastream_matcher_spec.rb +0 -44
  238. data/spec/unit/rubydora_connection_spec.rb +0 -12
  239. data/spec/unit/semantic_node_spec.rb +0 -112
  240. data/spec/unit/service_definitions_spec.rb +0 -63
  241. data/spec/unit/solr_digital_object_spec.rb +0 -97
  242. data/spec/unit/unsaved_digital_object_spec.rb +0 -48
@@ -1,58 +0,0 @@
1
- module ActiveFedora
2
- # Helps Rubydora create datastreams of the type defined by the ActiveFedora::Base#datastream_class_for_name
3
- class UnsavedDigitalObject
4
- include DigitalObject::DatastreamBootstrap
5
- attr_accessor :original_class, :ownerId, :state, :datastreams, :label, :namespace
6
-
7
- PLACEHOLDER = nil
8
-
9
- def initialize(original_class, namespace, pid=nil)
10
- @pid = pid
11
- self.original_class = original_class
12
- self.namespace = namespace
13
- self.datastreams = {}
14
- end
15
-
16
- def pid
17
- @pid || PLACEHOLDER
18
- end
19
-
20
- def uri
21
- "unsaved:#{pid}"
22
- end
23
-
24
- # Set the pid. This method is only avaialable before the object has been persisted in fedora.
25
- def pid=pid
26
- @pid = pid
27
- end
28
-
29
- def new_record?
30
- true
31
- end
32
-
33
- alias :new? :new_record?
34
-
35
- ### Change this into a real digital object
36
- def save
37
- obj = DigitalObject.find_or_initialize(self.original_class, assign_pid)
38
- self.datastreams.each do |k, v|
39
- v.digital_object = obj
40
- obj.datastreams[k] = v
41
- end
42
- obj.ownerId = ownerId if ownerId
43
- obj.label = label if label
44
- obj.state = state if state
45
- obj
46
- end
47
-
48
- def assign_pid
49
- return @pid if @pid
50
- self.original_class.assign_pid(self)
51
- end
52
-
53
- def delete
54
- #nop
55
- end
56
- end
57
- end
58
-
@@ -1,12 +0,0 @@
1
- require 'rails/generators'
2
-
3
- module ActiveFedora
4
- class Config::FedoraGenerator < Rails::Generators::Base
5
- source_root File.expand_path('../templates', __FILE__)
6
-
7
- def generate
8
- copy_file('fedora.yml', 'config/fedora.yml')
9
- directory('fedora_conf', 'fedora_conf')
10
- end
11
- end
12
- end
@@ -1,38 +0,0 @@
1
- development:
2
- user: fedoraAdmin
3
- password: fedoraAdmin
4
- url: http://127.0.0.1:8983/fedora
5
- ########
6
- # optional parameters available for active fedora uncomment to send values
7
- ########
8
- # timeout: 60
9
- # open_timeout: nil
10
- # ssl_client_cert: <ssl certificate>
11
- # ssl_client_key: <ssl key>
12
- # validateChecksum: false
13
- test: &TEST
14
- user: fedoraAdmin
15
- password: fedoraAdmin
16
- url: <%= "http://127.0.0.1:#{ENV['TEST_JETTY_PORT'] || 8983}/fedora-test" %>
17
- ########
18
- # optional parameters available for active fedora uncomment to send values
19
- ########
20
- # timeout: 60
21
- # open_timeout: nil
22
- # ssl_client_cert: <ssl certificate>
23
- # ssl_client_key: <ssl key>
24
- # validateChecksum: false
25
- production:
26
- user: fedoraAdmin
27
- password: fedoraAdmin
28
- url: http://your.production.server:8080/fedora
29
- ########
30
- # optional parameters available for active fedora uncomment to send values
31
- ########
32
- # timeout: 60
33
- # open_timeout: nil
34
- # ssl_client_cert: <ssl certificate>
35
- # ssl_client_key: <ssl key>
36
- # validateChecksum: false
37
- cucumber:
38
- <<: *TEST
@@ -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="MD5">
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="false">
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-01.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/default/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>