hydra-head 3.0.0pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (366) hide show
  1. data/.gitignore +71 -0
  2. data/.gitmodules +6 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +257 -0
  5. data/README.textile +150 -0
  6. data/README_RAILS3_CHANGES.textile +42 -0
  7. data/Rakefile +5 -0
  8. data/TESTING.textile +85 -0
  9. data/app/controllers/assets_controller.rb +117 -0
  10. data/app/controllers/contributors_controller.rb +54 -0
  11. data/app/controllers/file_assets_controller.rb +152 -0
  12. data/app/controllers/permissions_controller.rb +137 -0
  13. data/app/controllers/user_sessions_controller.rb +14 -0
  14. data/app/helpers/article_metadata_helper.rb +80 -0
  15. data/app/helpers/blacklight_helper.rb +192 -0
  16. data/app/helpers/downloads_helper.rb +19 -0
  17. data/app/helpers/generic_content_objects_helper.rb +16 -0
  18. data/app/helpers/hydra_assets_helper.rb +75 -0
  19. data/app/helpers/hydra_djatoka_helper.rb +23 -0
  20. data/app/helpers/hydra_fedora_metadata_helper.rb +365 -0
  21. data/app/helpers/hydra_helper.rb +155 -0
  22. data/app/helpers/hydra_uploader_helper.rb +18 -0
  23. data/app/helpers/inline_editable_metadata_helper.rb +15 -0
  24. data/app/helpers/javascript_includes_helper.rb +93 -0
  25. data/app/helpers/release_process_helper.rb +32 -0
  26. data/app/models/audio_asset.rb +8 -0
  27. data/app/models/file_asset.rb +111 -0
  28. data/app/models/generic_content.rb +21 -0
  29. data/app/models/generic_image.rb +62 -0
  30. data/app/models/image_asset.rb +8 -0
  31. data/app/models/mods_asset.rb +6 -0
  32. data/app/models/role_mapper.rb +22 -0
  33. data/app/models/superuser.rb +6 -0
  34. data/app/models/video_asset.rb +8 -0
  35. data/app/views/_add_assets_links.html.erb +13 -0
  36. data/app/views/_brown_sidebar.html +15 -0
  37. data/app/views/_user_util_links.html.erb +31 -0
  38. data/app/views/catalog/_citation.html.erb +11 -0
  39. data/app/views/catalog/_constraints_element.html.erb +34 -0
  40. data/app/views/catalog/_delete_partials/_default.html.erb +29 -0
  41. data/app/views/catalog/_document_list.html.erb +11 -0
  42. data/app/views/catalog/_edit_partials/_default.html.erb +64 -0
  43. data/app/views/catalog/_edit_partials/_default_details.html.erb +15 -0
  44. data/app/views/catalog/_email_form.html.erb +9 -0
  45. data/app/views/catalog/_facets.html.erb +37 -0
  46. data/app/views/catalog/_flash_msg.html.erb +17 -0
  47. data/app/views/catalog/_home.html.erb +6 -0
  48. data/app/views/catalog/_home_text.html.erb +10 -0
  49. data/app/views/catalog/_index_partials/_default.html.erb +20 -0
  50. data/app/views/catalog/_index_partials/_default_details.html.erb +11 -0
  51. data/app/views/catalog/_index_partials/_default_group.html.erb +15 -0
  52. data/app/views/catalog/_search_form.html.erb +12 -0
  53. data/app/views/catalog/_show_partials/_default.html.erb +23 -0
  54. data/app/views/catalog/_show_partials/_default_details.html.erb +12 -0
  55. data/app/views/catalog/_show_partials/_facets.html.erb +52 -0
  56. data/app/views/catalog/_sms_form.html.erb +21 -0
  57. data/app/views/catalog/_sort_and_per_page.html.erb +22 -0
  58. data/app/views/catalog/_uva_tabs.html.erb +10 -0
  59. data/app/views/catalog/about.html.erb +0 -0
  60. data/app/views/catalog/show.html.erb +48 -0
  61. data/app/views/contributors/_add_contributor_split_button.html.erb +10 -0
  62. data/app/views/contributors/_edit_conference.html.erb +29 -0
  63. data/app/views/contributors/_edit_organization.html.erb +29 -0
  64. data/app/views/contributors/_edit_person.html.erb +42 -0
  65. data/app/views/contributors/_index.html.erb +12 -0
  66. data/app/views/contributors/_new.html.erb +10 -0
  67. data/app/views/contributors/_show_conference.html.erb +22 -0
  68. data/app/views/contributors/_show_organization.html.erb +29 -0
  69. data/app/views/contributors/_show_person.html.erb +17 -0
  70. data/app/views/contributors/new.html.erb +13 -0
  71. data/app/views/downloads/index.html.erb +1 -0
  72. data/app/views/file_assets/_deletable_result.html.erb +5 -0
  73. data/app/views/file_assets/_index.html.erb +15 -0
  74. data/app/views/file_assets/_new.html.erb +2 -0
  75. data/app/views/file_assets/_result.html.erb +16 -0
  76. data/app/views/file_assets/index.html.erb +5 -0
  77. data/app/views/fluid_infusion/_uploader.html.erb +81 -0
  78. data/app/views/fluid_infusion/_uploader_generic_content_objects.js.erb +38 -0
  79. data/app/views/fluid_infusion/_uploader_js.erb +45 -0
  80. data/app/views/generic_content_objects/_edit_description.html.erb +50 -0
  81. data/app/views/generic_content_objects/_new.html.erb +0 -0
  82. data/app/views/generic_content_objects/_show_description.html.erb +68 -0
  83. data/app/views/generic_content_objects/contributors/_edit_conference.html.erb +29 -0
  84. data/app/views/generic_content_objects/contributors/_edit_organization.html.erb +29 -0
  85. data/app/views/generic_content_objects/contributors/_edit_person.html.erb +37 -0
  86. data/app/views/generic_content_objects/contributors/_new.html.erb +10 -0
  87. data/app/views/generic_content_objects/contributors/_show_conference.html.erb +22 -0
  88. data/app/views/generic_content_objects/contributors/_show_organization.html.erb +22 -0
  89. data/app/views/generic_content_objects/contributors/_show_person.html.erb +38 -0
  90. data/app/views/generic_contents/_edit.html.erb +59 -0
  91. data/app/views/generic_contents/_index.html.erb +23 -0
  92. data/app/views/generic_contents/_show.html.erb +18 -0
  93. data/app/views/generic_contents/_show_content.html.erb +4 -0
  94. data/app/views/generic_images/_edit.html.erb +59 -0
  95. data/app/views/generic_images/_index.html.erb +24 -0
  96. data/app/views/generic_images/_show.html.erb +18 -0
  97. data/app/views/generic_images/_show_all.html.erb +14 -0
  98. data/app/views/generic_images/_show_content.html.erb +7 -0
  99. data/app/views/layouts/application.html.erb +57 -0
  100. data/app/views/layouts/hydra-head.html.erb +12 -0
  101. data/app/views/mods_assets/_edit.html.erb +49 -0
  102. data/app/views/mods_assets/_edit_description.html.erb +82 -0
  103. data/app/views/mods_assets/_edit_journal.html.erb +72 -0
  104. data/app/views/mods_assets/_index.html.erb +1 -0
  105. data/app/views/mods_assets/_index_list.html.erb +37 -0
  106. data/app/views/mods_assets/_index_table.html.erb +7 -0
  107. data/app/views/mods_assets/_progress_box.html.erb +82 -0
  108. data/app/views/mods_assets/_show.html.erb +44 -0
  109. data/app/views/mods_assets/_show_description.html.erb +44 -0
  110. data/app/views/mods_assets/_show_journal.html.erb +42 -0
  111. data/app/views/mods_assets/_show_permissions.html.erb +14 -0
  112. data/app/views/permissions/_edit_person_permissions.html.erb +35 -0
  113. data/app/views/permissions/_index.html.erb +55 -0
  114. data/app/views/permissions/_new.html.erb +18 -0
  115. data/app/views/permissions/index.html.erb +1 -0
  116. data/app/views/permissions/new.html.erb +1 -0
  117. data/app/views/shared/_delete_asset_confirmation.html.erb +17 -0
  118. data/app/views/user_sessions/_login_form.html.erb +10 -0
  119. data/app/views/user_sessions/logged_out.html.erb +1 -0
  120. data/config/routes.rb +12 -0
  121. data/fedora_conf/conf/fedora.fcfg +1021 -0
  122. data/hydra-head.gemspec +70 -0
  123. data/lib/application_controller.rb +25 -0
  124. data/lib/application_helper.rb +2 -0
  125. data/lib/engine.rb +30 -0
  126. data/lib/generators/hydra/head_generator.rb +152 -0
  127. data/lib/generators/hydra/templates/config/fedora.yml +17 -0
  128. data/lib/generators/hydra/templates/config/initializers/blacklight_config.rb +246 -0
  129. data/lib/generators/hydra/templates/config/initializers/fedora_config.rb +23 -0
  130. data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +29 -0
  131. data/lib/generators/hydra/templates/config/role_map_cucumber.yml +10 -0
  132. data/lib/generators/hydra/templates/config/role_map_development.yml +12 -0
  133. data/lib/generators/hydra/templates/config/role_map_production.yml +2 -0
  134. data/lib/generators/hydra/templates/config/role_map_test.yml +15 -0
  135. data/lib/generators/hydra/templates/config/solr.yml +10 -0
  136. data/lib/generators/hydra/templates/config/solr_mappings.yml +22 -0
  137. data/lib/generators/hydra/templates/fedora_conf/conf/fedora.fcfg +1021 -0
  138. data/lib/generators/hydra/templates/migrations/add_user_attributes_table.rb +15 -0
  139. data/lib/generators/hydra/templates/migrations/create_superusers.rb +12 -0
  140. data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +118 -0
  141. data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +332 -0
  142. data/lib/generators/hydra/templates/solr_conf/solr.xml +35 -0
  143. data/lib/hydra-head.rb +29 -0
  144. data/lib/hydra-head/engine.rb +9 -0
  145. data/lib/hydra-head/routes.rb +87 -0
  146. data/lib/hydra-head/version.rb +4 -0
  147. data/lib/hydra.rb +22 -0
  148. data/lib/hydra/access_controls_enforcement.rb +236 -0
  149. data/lib/hydra/access_controls_evaluation.rb +97 -0
  150. data/lib/hydra/assets_controller_helper.rb +144 -0
  151. data/lib/hydra/catalog.rb +64 -0
  152. data/lib/hydra/common_mods_index_methods.rb +42 -0
  153. data/lib/hydra/controller.rb +7 -0
  154. data/lib/hydra/file_assets_helper.rb +144 -0
  155. data/lib/hydra/fixtures.rb +43 -0
  156. data/lib/hydra/generic_content.rb +113 -0
  157. data/lib/hydra/generic_image.rb +100 -0
  158. data/lib/hydra/image.rb +177 -0
  159. data/lib/hydra/model_methods.rb +95 -0
  160. data/lib/hydra/model_mixins.rb +2 -0
  161. data/lib/hydra/model_mixins/common_metadata.rb +24 -0
  162. data/lib/hydra/model_mixins/mods_object.rb +16 -0
  163. data/lib/hydra/mods_article.rb +505 -0
  164. data/lib/hydra/mods_dataset.rb +165 -0
  165. data/lib/hydra/mods_generic_content.rb +494 -0
  166. data/lib/hydra/mods_image.rb +494 -0
  167. data/lib/hydra/repository_controller.rb +102 -0
  168. data/lib/hydra/rights_metadata.rb +189 -0
  169. data/lib/hydra/superuser_attributes.rb +12 -0
  170. data/lib/hydra/testing_server.rb +183 -0
  171. data/lib/hydra/user.rb +22 -0
  172. data/lib/mediashelf/active_fedora_helper.rb +72 -0
  173. data/lib/railties/all_tests.rake +23 -0
  174. data/lib/railties/hydra-fixtures.rake +184 -0
  175. data/lib/railties/hydra_jetty.rake +79 -0
  176. data/lib/railties/hyhead_cucumber.rake +127 -0
  177. data/lib/railties/hyhead_rspec.rake +137 -0
  178. data/lib/stanford/searchworks_helper.rb +1338 -0
  179. data/lib/stanford/solr_helper.rb +108 -0
  180. data/lib/uva/mods_index_methods.rb +24 -0
  181. data/solr_conf/conf/schema.xml +122 -0
  182. data/solr_conf/conf/solrconfig.xml +332 -0
  183. data/solr_conf/solr.xml +35 -0
  184. data/tasks/hydra-head-fixtures.rake +54 -0
  185. data/tasks/hydra-head.rake +247 -0
  186. data/tasks/hydra_jetty.rake +79 -0
  187. data/tasks/replicator.rake +27 -0
  188. data/tasks/solrizer-fedora.rake +53 -0
  189. data/tasks/solrizer.rake +13 -0
  190. data/test_support/etc/Gemfile +29 -0
  191. data/test_support/etc/rvmrc +32 -0
  192. data/test_support/features/button_add_assets.feature +22 -0
  193. data/test_support/features/button_add_generic_content.feature +11 -0
  194. data/test_support/features/button_add_image.feature +11 -0
  195. data/test_support/features/button_add_mods_asset.feature +11 -0
  196. data/test_support/features/contributor_add.feature +39 -0
  197. data/test_support/features/file_assets_list.feature +32 -0
  198. data/test_support/features/file_upload.feature +40 -0
  199. data/test_support/features/home_page.feature +9 -0
  200. data/test_support/features/html_validity.feature +47 -0
  201. data/test_support/features/mods_asset_contributors_edit.feature +80 -0
  202. data/test_support/features/mods_asset_create.feature +12 -0
  203. data/test_support/features/mods_asset_edit.feature +33 -0
  204. data/test_support/features/mods_asset_edit_without_permission.feature +10 -0
  205. data/test_support/features/mods_asset_search_result.feature +13 -0
  206. data/test_support/features/mods_asset_show.feature +39 -0
  207. data/test_support/features/permissions_add.feature +15 -0
  208. data/test_support/features/permissions_edit.feature +63 -0
  209. data/test_support/features/step_definitions/catalog_index_steps.rb +14 -0
  210. data/test_support/features/step_definitions/create_asset_steps.rb +7 -0
  211. data/test_support/features/step_definitions/edit_metadata_steps.rb +73 -0
  212. data/test_support/features/step_definitions/file_list_steps.rb +28 -0
  213. data/test_support/features/step_definitions/hydra_metadata_steps.rb +3 -0
  214. data/test_support/features/step_definitions/hydra_steps.rb +8 -0
  215. data/test_support/features/step_definitions/inline_editable_edit_steps.rb +77 -0
  216. data/test_support/features/step_definitions/search_steps.rb +88 -0
  217. data/test_support/features/step_definitions/searching_steps.rb +22 -0
  218. data/test_support/features/step_definitions/show_document_steps.rb +85 -0
  219. data/test_support/features/step_definitions/user_steps.rb +36 -0
  220. data/test_support/features/step_definitions/web_steps.rb +219 -0
  221. data/test_support/features/support/env.rb +55 -0
  222. data/test_support/features/support/paths.rb +80 -0
  223. data/test_support/features/switch_users.feature +14 -0
  224. data/test_support/features/view_catalog_index.feature +18 -0
  225. data/test_support/fixtures/empty_file.txt +0 -0
  226. data/test_support/fixtures/hydrangea_fixture_archivist_only_mods_article.foxml.xml +1212 -0
  227. data/test_support/fixtures/hydrangea_fixture_file_asset1.foxml.xml +4946 -0
  228. data/test_support/fixtures/hydrangea_fixture_mods_article1.foxml.xml +234 -0
  229. data/test_support/fixtures/hydrangea_fixture_mods_article2.foxml.xml +177 -0
  230. data/test_support/fixtures/hydrangea_fixture_mods_article3.foxml.xml +170 -0
  231. data/test_support/fixtures/hydrangea_fixture_mods_dataset1.foxml.xml +187 -0
  232. data/test_support/fixtures/hydrangea_fixture_uploaded_svg1.foxml.xml +676 -0
  233. data/test_support/fixtures/image.jp2 +0 -0
  234. data/test_support/fixtures/libra-oa_1.foxml.xml +2324 -0
  235. data/test_support/fixtures/libra-oa_2.foxml.xml +2422 -0
  236. data/test_support/spec/controllers/assets_controller_spec.rb +113 -0
  237. data/test_support/spec/controllers/catalog_controller_spec.rb +148 -0
  238. data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +62 -0
  239. data/test_support/spec/controllers/contributors_controller_spec.rb +47 -0
  240. data/test_support/spec/controllers/file_assets_controller_spec.rb +189 -0
  241. data/test_support/spec/controllers/hydra_controller_spec.rb +15 -0
  242. data/test_support/spec/controllers/permissions_controller_spec.rb +80 -0
  243. data/test_support/spec/controllers/user_sessions_controller_spec.rb +35 -0
  244. data/test_support/spec/generators/hydra-head_generator_spec.rb +14 -0
  245. data/test_support/spec/helpers/access_controls_enforcement_spec.rb +212 -0
  246. data/test_support/spec/helpers/access_controls_evaluation_spec.rb +35 -0
  247. data/test_support/spec/helpers/assets_controller_helper_spec.rb +71 -0
  248. data/test_support/spec/helpers/blacklight_helper_spec.rb +64 -0
  249. data/test_support/spec/helpers/file_assets_helper_spec.rb +107 -0
  250. data/test_support/spec/helpers/hydra-repository_controller_spec.rb +32 -0
  251. data/test_support/spec/helpers/hydra_assets_helper_spec.rb +195 -0
  252. data/test_support/spec/helpers/hydra_djatoka_helper_spec.rb +32 -0
  253. data/test_support/spec/helpers/hydra_fedora_metadata_helper_spec.rb +215 -0
  254. data/test_support/spec/helpers/hydra_helper_spec.rb +73 -0
  255. data/test_support/spec/helpers/hydra_model_methods_spec.rb +95 -0
  256. data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +18 -0
  257. data/test_support/spec/helpers/javascript_includes_helper_spec.rb +43 -0
  258. data/test_support/spec/integration/file_asset_spec.rb +150 -0
  259. data/test_support/spec/lib/active_fedora_helper_spec.rb +56 -0
  260. data/test_support/spec/lib/catalog_spec.rb +16 -0
  261. data/test_support/spec/lib/common_mods_index_methods_spec.rb +28 -0
  262. data/test_support/spec/models/audio_asset_spec.rb +23 -0
  263. data/test_support/spec/models/file_asset_spec.rb +42 -0
  264. data/test_support/spec/models/generic_content_spec.rb +29 -0
  265. data/test_support/spec/models/generic_image_spec.rb +58 -0
  266. data/test_support/spec/models/hydra_rights_metadata_spec.rb +162 -0
  267. data/test_support/spec/models/image_asset_spec.rb +23 -0
  268. data/test_support/spec/models/mods_asset_spec.rb +29 -0
  269. data/test_support/spec/models/role_mapper_spec.rb +22 -0
  270. data/test_support/spec/models/user_spec.rb +52 -0
  271. data/test_support/spec/models/video_asset_spec.rb +23 -0
  272. data/test_support/spec/rcov.opts +3 -0
  273. data/test_support/spec/spec.opts +4 -0
  274. data/test_support/spec/spec_helper.rb +44 -0
  275. data/test_support/spec/support/matchers/helper_matcher.rb +14 -0
  276. data/test_support/spec/support/matchers/solr_matchers.rb +60 -0
  277. data/test_support/spec/unit/hydra-head-engine_spec.rb +8 -0
  278. data/test_support/spec/unit/hydra-head_spec.rb +8 -0
  279. data/test_support/spec/utilities/hydra_testing_server_spec.rb +49 -0
  280. data/test_support/spec/views/uploader.html.erb_spec.rb +30 -0
  281. data/vendor/cache/RedCloth-4.2.3.gem +0 -0
  282. data/vendor/cache/abstract-1.0.0.gem +0 -0
  283. data/vendor/cache/actionmailer-3.0.9.gem +0 -0
  284. data/vendor/cache/actionpack-3.0.9.gem +0 -0
  285. data/vendor/cache/active-fedora-2.3.3.gem +0 -0
  286. data/vendor/cache/activemodel-3.0.9.gem +0 -0
  287. data/vendor/cache/activerecord-3.0.9.gem +0 -0
  288. data/vendor/cache/activeresource-3.0.9.gem +0 -0
  289. data/vendor/cache/activesupport-3.0.9.gem +0 -0
  290. data/vendor/cache/arel-2.0.10.gem +0 -0
  291. data/vendor/cache/blacklight-3.0.0.gem +0 -0
  292. data/vendor/cache/block_helpers-0.3.3.gem +0 -0
  293. data/vendor/cache/builder-2.1.2.gem +0 -0
  294. data/vendor/cache/capybara-1.0.0.gem +0 -0
  295. data/vendor/cache/childprocess-0.2.0.gem +0 -0
  296. data/vendor/cache/columnize-0.3.4.gem +0 -0
  297. data/vendor/cache/crack-0.1.8.gem +0 -0
  298. data/vendor/cache/cucumber-1.0.2.gem +0 -0
  299. data/vendor/cache/cucumber-rails-1.0.2.gem +0 -0
  300. data/vendor/cache/curb-0.7.15.gem +0 -0
  301. data/vendor/cache/daemons-1.1.4.gem +0 -0
  302. data/vendor/cache/database_cleaner-0.6.7.gem +0 -0
  303. data/vendor/cache/diff-lcs-1.1.2.gem +0 -0
  304. data/vendor/cache/equivalent-xml-0.2.7.gem +0 -0
  305. data/vendor/cache/erubis-2.6.6.gem +0 -0
  306. data/vendor/cache/facets-2.8.4.gem +0 -0
  307. data/vendor/cache/factory_girl-1.3.3.gem +0 -0
  308. data/vendor/cache/fastercsv-1.5.4.gem +0 -0
  309. data/vendor/cache/ffi-1.0.9.gem +0 -0
  310. data/vendor/cache/gherkin-2.4.5.gem +0 -0
  311. data/vendor/cache/haml-3.1.2.gem +0 -0
  312. data/vendor/cache/httparty-0.7.8.gem +0 -0
  313. data/vendor/cache/i18n-0.5.0.gem +0 -0
  314. data/vendor/cache/jettywrapper-0.0.10.gem +0 -0
  315. data/vendor/cache/json-1.5.3.gem +0 -0
  316. data/vendor/cache/json_pure-1.5.3.gem +0 -0
  317. data/vendor/cache/kaminari-0.12.4.gem +0 -0
  318. data/vendor/cache/launchy-2.0.3.gem +0 -0
  319. data/vendor/cache/linecache-0.46.gem +0 -0
  320. data/vendor/cache/logger-1.2.8.gem +0 -0
  321. data/vendor/cache/mail-2.2.19.gem +0 -0
  322. data/vendor/cache/marc-0.4.3.gem +0 -0
  323. data/vendor/cache/mediashelf-loggable-0.4.2.gem +0 -0
  324. data/vendor/cache/mime-types-1.16.gem +0 -0
  325. data/vendor/cache/mocha-0.9.12.gem +0 -0
  326. data/vendor/cache/multipart-post-1.1.2.gem +0 -0
  327. data/vendor/cache/nokogiri-1.5.0.gem +0 -0
  328. data/vendor/cache/om-1.2.5.gem +0 -0
  329. data/vendor/cache/polyglot-0.3.1.gem +0 -0
  330. data/vendor/cache/rack-1.2.3.gem +0 -0
  331. data/vendor/cache/rack-mount-0.6.14.gem +0 -0
  332. data/vendor/cache/rack-test-0.5.7.gem +0 -0
  333. data/vendor/cache/rails-3.0.9.gem +0 -0
  334. data/vendor/cache/railties-3.0.9.gem +0 -0
  335. data/vendor/cache/rake-0.9.2.gem +0 -0
  336. data/vendor/cache/rbx-require-relative-0.0.5.gem +0 -0
  337. data/vendor/cache/rcov-0.9.9.gem +0 -0
  338. data/vendor/cache/rdoc-3.8.gem +0 -0
  339. data/vendor/cache/rsolr-1.0.2.gem +0 -0
  340. data/vendor/cache/rsolr-ext-1.0.3.gem +0 -0
  341. data/vendor/cache/rspec-2.6.0.gem +0 -0
  342. data/vendor/cache/rspec-core-2.6.4.gem +0 -0
  343. data/vendor/cache/rspec-expectations-2.6.0.gem +0 -0
  344. data/vendor/cache/rspec-mocks-2.6.0.gem +0 -0
  345. data/vendor/cache/rspec-rails-2.6.1.gem +0 -0
  346. data/vendor/cache/ruby-debug-0.10.4.gem +0 -0
  347. data/vendor/cache/ruby-debug-base-0.10.4.gem +0 -0
  348. data/vendor/cache/rubyzip-0.9.4.gem +0 -0
  349. data/vendor/cache/sanitize-2.0.3.gem +0 -0
  350. data/vendor/cache/selenium-webdriver-0.2.2.gem +0 -0
  351. data/vendor/cache/solr-ruby-0.0.8.gem +0 -0
  352. data/vendor/cache/solrizer-1.1.0.gem +0 -0
  353. data/vendor/cache/solrizer-fedora-1.1.0.gem +0 -0
  354. data/vendor/cache/sqlite3-ruby-1.2.5.gem +0 -0
  355. data/vendor/cache/stomp-1.1.9.gem +0 -0
  356. data/vendor/cache/term-ansicolor-1.0.5.gem +0 -0
  357. data/vendor/cache/thor-0.14.6.gem +0 -0
  358. data/vendor/cache/treetop-1.4.9.gem +0 -0
  359. data/vendor/cache/trollop-1.16.2.gem +0 -0
  360. data/vendor/cache/tzinfo-0.3.29.gem +0 -0
  361. data/vendor/cache/unicode-0.4.0.gem +0 -0
  362. data/vendor/cache/will_paginate-2.3.15.gem +0 -0
  363. data/vendor/cache/xml-simple-1.1.0.gem +0 -0
  364. data/vendor/cache/xpath-0.1.4.gem +0 -0
  365. data/vendor/cache/yard-0.7.2.gem +0 -0
  366. metadata +1110 -0
@@ -0,0 +1,23 @@
1
+ require 'active-fedora'
2
+ #
3
+ # Misc Config for SALT Application
4
+ #
5
+
6
+
7
+ # This initializes ActiveFedora with config info from RAILS_ROOT/lib/fedora.yml
8
+ # Among other things, it allows you to access Fedora and Solr (ActiveFedora's copy) as ActiveFedora.fedora and ActiveFedora.solr
9
+ silence_warnings { ENABLE_SOLR_UPDATES=true }
10
+ ActiveFedora.init
11
+
12
+ #
13
+ # Loads EAD descriptors
14
+ # Attempts to parse any xml files in lib/stanford/ead/
15
+ #
16
+ # You can access any of the loaded descriptors using Descriptor.retrieve( id ), where "id" is the base filename of the descriptor xml file
17
+
18
+ # puts "Registering EADs..."
19
+ # Dir[File.join( RAILS_ROOT, 'lib', "stanford", "ead", "/*.xml" )].each do |f|
20
+ # puts "... EAD id #{File.basename(f, ".xml")}"
21
+ # Descriptor.register( File.basename(f, ".xml") )
22
+ # end
23
+
@@ -0,0 +1,29 @@
1
+ require "hydra"
2
+
3
+ if Hydra.respond_to?(:configure)
4
+ Hydra.configure(:shared) do |config|
5
+
6
+ # This is used as a reference by choose_model_by_filename in FileAssetsHelper
7
+ config[:file_asset_types] = {
8
+ # MZ -This can only be enabled if/when we adopt replacements for ImageAsset, AudioAsset, etc. as default primitives.
9
+ # :default => FileAsset,
10
+ # :extension_mappings => {
11
+ # AudioAsset => [".wav", ".mp3", ".aiff"] ,
12
+ # VideoAsset => [".mov", ".flv", ".mp4", ".m4v"] ,
13
+ # ImageAsset => [".jpeg", ".jpg", ".gif", ".png"]
14
+ # }
15
+ }
16
+
17
+ # This specifies the solr field names of permissions-related fields.
18
+ # You only need to change these values if you've indexed permissions by some means other than the Hydra's built-in tooling.
19
+ # If you change these, you must also update the permissions request handler in your solrconfig.xml to return those values
20
+ config[:permissions] = {
21
+ :catchall => "access_t",
22
+ :discover => {:group =>"discover_access_group_t", :individual=>"discover_access_person_t"},
23
+ :read => {:group =>"read_access_group_t", :individual=>"read_access_person_t"},
24
+ :edit => {:group =>"edit_access_group_t", :individual=>"edit_access_person_t"},
25
+ :owner => "depositor_t",
26
+ :embargo_release_date => "embargo_release_date_dt"
27
+ }
28
+ end
29
+ end
@@ -0,0 +1,10 @@
1
+ archivist:
2
+ - archivist1@example.com
3
+ donor:
4
+ - donor1@example.com
5
+ researcher:
6
+ - researcher1@example.com
7
+ patron:
8
+ - patron1@example.com
9
+ admin_policy_object_editor:
10
+ - archivist1@example.com
@@ -0,0 +1,12 @@
1
+ uva-only:
2
+ - uva-only
3
+ archivist:
4
+ - archivist1@example.com
5
+ donor:
6
+ - donor1@example.com
7
+ researcher:
8
+ - researcher1@example.com
9
+ patron:
10
+ - patron1@example.com
11
+ admin_policy_object_editor:
12
+ - archivist1@example.com
@@ -0,0 +1,2 @@
1
+ uva-only:
2
+ public:
@@ -0,0 +1,15 @@
1
+ archivist:
2
+ - archivist1@example.com
3
+ - archivist2@example.com
4
+ - leland_himself@example.com
5
+ admin_policy_object_editor:
6
+ - archivist1@example.com
7
+ donor:
8
+ - donor1@example.com
9
+ - leland_himself@example.com
10
+ researcher:
11
+ - archivist1@example.com
12
+ - researcher1@example.com
13
+ patron:
14
+ - patron1@example.com
15
+ - leland_himself@example.com
@@ -0,0 +1,10 @@
1
+ # This is a sample config file that does not have multiple solr instances. You will also need to be sure to
2
+ # edit the fedora.yml file to match the solr URL for active-fedora.
3
+ development:
4
+ url: http://localhost:8983/solr/development
5
+ test: &TEST
6
+ url: http://127.0.0.1:8983/solr/test
7
+ cucumber:
8
+ <<: *TEST
9
+ production:
10
+ url: http://your.production.server:8080/bl_solr/core0
@@ -0,0 +1,22 @@
1
+ # Define additional properties for OM terms to communicate with Solrizer
2
+ # (Solrizer's use of dynamic fields to turn OM terms into Solr fields)
3
+ # example: t.my_term(:index_as=>[:searchable, :displayable])
4
+ # implies that the Solr document will have fields my_term_t and my_term_display
5
+ # if there is a value for the OM term :my_term in an object.
6
+ id: id
7
+ default: searchable
8
+ searchable:
9
+ default: _t
10
+ date: _dt
11
+ string: _t
12
+ text: _t
13
+ symbol: _s
14
+ integer: _i
15
+ long: _l
16
+ boolean: _b
17
+ float: _f
18
+ double: _d
19
+ displayable: _display
20
+ facetable: _facet
21
+ sortable: _sort
22
+ unstemmed_searchable: _unstem_search
@@ -0,0 +1,1021 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <server xmlns="http://www.fedora.info/definitions/1/0/config/" class="org.fcrepo.server.BasicServer">
3
+ <param name="repositoryName" value="Fedora Repository">
4
+ <comment>Defines a human readable name for the Fedora server; default is
5
+ Fedora Repository.</comment>
6
+ </param>
7
+ <param name="adminEmailList" value="bob@example.org sally@example.org">
8
+ <comment>Defines one or more email addresses for server administrators;
9
+ list is space delimited.</comment>
10
+ </param>
11
+ <param name="fedoraServerPort" value="8080">
12
+ <comment>Defines the port number on which the Fedora server runs;
13
+ default is 8080.</comment>
14
+ </param>
15
+ <param name="fedoraShutdownPort" value="8005">
16
+ <comment>Defines the port number used to shutdown the Fedora sever;
17
+ default is 8005.</comment>
18
+ </param>
19
+ <param name="fedoraRedirectPort" value="8443">
20
+ <comment>Defines the redirect port of the Fedora sever; default is 8443.</comment>
21
+ </param>
22
+ <param name="fedoraServerHost" value="localhost">
23
+ <comment>Defines the host name for the Fedora server, as seen from the
24
+ outside world.</comment>
25
+ </param>
26
+ <param name="fedoraAppServerContext" value="fedora">
27
+ <comment>Defines the context name for the Fedora server within the
28
+ application server. If set to eg &quot;myfedora&quot; the URL for Fedora will result
29
+ in http[s]://fedoraServerHost[:fedoraServerPort]/myfedora.</comment>
30
+ </param>
31
+ <param name="datastreamExpirationLimit" value="300">
32
+ <comment>Controls the size of the datastream mediation hash by removing
33
+ entries outside the specified threshold. The value is specified in
34
+ seconds. Note this value must be greater than the limit specified for
35
+ the datastreamMediationLimit.</comment>
36
+ </param>
37
+ <param name="datastreamMediationLimit" value="5000">
38
+ <comment>Determines the time interval in which external mechanisms must
39
+ respond to requests by the Fedora server. The value is specified in
40
+ milliseconds. The value specified should be set high enough to allow
41
+ for an average response time from any single external mechanisms. Note
42
+ this value must be less than the limit specified for the
43
+ datastreamExpirationLimit.</comment>
44
+ </param>
45
+ <param name="datastreamContentDispositionInlineEnabled" value="true">
46
+ <comment>determines if a content-disposition header specifying &quot;inline&quot; and
47
+ a filename is added to the response for the REST API getDatastreamDissemination
48
+ when no query parameter of download=true is specified. Browser support for
49
+ recognising a filename in case of &quot;inline&quot; content disposition is patchy,
50
+ so you may wish to disable the content disposition header in this case and only
51
+ have it provided when download=true is specified, in which case the content disposition
52
+ of &quot;attachment&quot; will be used; which is generally supported.</comment>
53
+ </param>
54
+ <param name="datastreamFilenameSource" value="rels label id">
55
+ <comment>determines the source of the filename generated when download=true
56
+ on a datastream dissemination. Value is space separated list of label: use the datastream label;
57
+ id: use the datastream ID; rels: use the value defined in RELS-INT. Each
58
+ source is checked in order, and the first containing a value is used. Omit
59
+ any of the sources if that source is never to be used. If no sources are to be used,
60
+ and just the default filename and extension below are to be used, specify &quot; &quot;.</comment>
61
+ </param>
62
+ <param name="datastreamExtensionMappingLabel" value="always">
63
+ <comment>Controls filename extension mapping when the datastream label is used
64
+ as the source of the filename. Values are always: always generate an extension
65
+ based on the MIMETYPE, using the default extension if none can be determined;
66
+ ifmissing: generate an extension if the filename obtained from the source does not
67
+ already contain one (again returning the default if there is no MIMETYPE-to-extension
68
+ mapping is found); never: never generate an extension, use the filename from the source
69
+ as-is</comment>
70
+ </param>
71
+ <param name="datastreamExtensionMappingId" value="ifmissing">
72
+ <comment>Controls filename extension mapping when the datastream ID is used
73
+ as the source of the filename. Values are as above.</comment>
74
+ </param>
75
+ <param name="datastreamExtensionMappingRels" value="never">
76
+ <comment>Controls filename extension mapping when RELS-INT is used
77
+ as the source of the filename. Values are as above.</comment>
78
+ </param>
79
+ <param name="datastreamExtensionMappingDefault" value="never">
80
+ <comment>Controls filename extension mapping when no filename can be determined from
81
+ the sources listed in datastreamFilenameSource. Values are always: always generate an extension
82
+ based on the MIMETYPE (using the default if no appropriate mapping is specified);
83
+ never: never generate an extension.</comment>
84
+ </param>
85
+ <param name="datastreamDefaultFilename" value="download">
86
+ <comment>Filename to use for datastream downloads when none can be determined from the
87
+ sources listed in datastreamFilenameSource.</comment>
88
+ </param>
89
+ <param name="datastreamDefaultExtension" value="bin">
90
+ <comment>Extension to use when none can be determined from mappings</comment>
91
+ </param>
92
+ <param name="datastreamExtensionMappingSource" value="mime-to-extensions.xml">
93
+ <comment>Source of mappings from MIMETYPE to file extension</comment>
94
+ </param>
95
+ <param name="httpClientTimeoutSecs" value="20">
96
+ <comment>Number of seconds Fedora http client will wait for a connection before timing
97
+ out.</comment>
98
+ </param>
99
+ <param name="httpClientSocketTimeoutSecs" value="120">
100
+ <comment>Number of seconds Fedora http client will wait for data coming across an
101
+ established http connection.</comment>
102
+ </param>
103
+ <param name="httpClientMaxConnectionsPerHost" value="5">
104
+ <comment>Maximum number of Fedora http client connections allowed to a given host.</comment>
105
+ </param>
106
+ <param name="httpClientMaxTotalConnections" value="5">
107
+ <comment>Maximum number of total Fedora http client connections allowed at once.</comment>
108
+ </param>
109
+ <param name="httpClientFollowRedirects" value="true">
110
+ <comment>Should the Fedora http client follow redirects?</comment>
111
+ </param>
112
+ <param name="httpClientMaxFollowRedirects" value="3">
113
+ <comment>Maximun number of redirects the Fedora http client will follow (only if
114
+ httpClientFollowRedirects is set to true.)</comment>
115
+ </param>
116
+ <param name="httpClientUserAgent" value="Fedora">
117
+ <comment>The value to be set for the User-Agent HTTP request header.</comment>
118
+ </param>
119
+ <module role="org.fcrepo.server.storage.lowlevel.ILowlevelStorage" class="org.fcrepo.server.storage.lowlevel.akubra.AkubraLowlevelStorageModule">
120
+ </module>
121
+ <module role="org.fcrepo.server.security.Authorization" class="org.fcrepo.server.security.DefaultAuthorization">
122
+ <comment>Builds and manages Fedora's authorization structure.</comment>
123
+ <param name="REPOSITORY-POLICIES-DIRECTORY" value="data/fedora-xacml-policies/repository-policies" isFilePath="true"/>
124
+ <param name="REPOSITORY-POLICY-GUITOOL-POLICIES-DIRECTORY" value="data/fedora-xacml-policies/repository-policies-generated-by-policyguitool" isFilePath="true">
125
+ <comment>This parameter is for future use.</comment>
126
+ </param>
127
+ <param name="XACML-COMBINING-ALGORITHM" value="com.sun.xacml.combine.OrderedDenyOverridesPolicyAlg"/>
128
+ <param name="ENFORCE-MODE" value="permit-all-requests"/>
129
+ <param name="POLICY-SCHEMA-PATH" value="xsd/cs-xacml-schema-policy-01.xsd"/>
130
+ <param name="VALIDATE-REPOSITORY-POLICIES" value="true"/>
131
+ <param name="VALIDATE-OBJECT-POLICIES-FROM-FILE" value="false"/>
132
+ <param name="VALIDATE-OBJECT-POLICIES-FROM-DATASTREAM" value="false"/>
133
+ </module>
134
+ <module role="org.fcrepo.server.security.BackendSecurity" class="org.fcrepo.server.security.DefaultBackendSecurity">
135
+ <comment>Description: Interface to the backend service security
136
+ configuration. This module initializes backend service security
137
+ information in the server by parsing the beSecurity configuration file.
138
+ This file is located in the distribution in
139
+ $FEDORA_HOME/dist/server/config/beSecurity.xml. The configuration file
140
+ is read once at server startup.</comment>
141
+ <param name="beSecurity_validation" value="false">
142
+ <comment>Controls whether beSecurity config file is validated
143
+ against the beSecurityDescription schema. The default is
144
+ &quot;false&quot;. Valid values are &quot;true&quot; or
145
+ &quot;false&quot;.</comment>
146
+ </param>
147
+ <param name="beSecurity_char_encoding" value="utf-8">
148
+ <comment>The character encoding used for the beSecurity
149
+ configuration file. The default is &quot;utf-8&quot;. The value
150
+ specified must correspond to the character encoding used in the
151
+ beSecurity configuration file.</comment>
152
+ </param>
153
+ </module>
154
+ <module role="org.fcrepo.server.storage.DOManager" class="org.fcrepo.server.storage.DefaultDOManager">
155
+ <comment>The interface to the storage subsystem. This provides
156
+ context-appropriate DOReaders and DOWriters for reflecting on and
157
+ writing to the objects stored in the repository. It also provides
158
+ methods for reflecting on the contents of the repository as a whole..</comment>
159
+ <param name="pidNamespace" value="hydrangea">
160
+ <comment>This is the namespace id for pids of newly-created objects.
161
+ This should be unique for a repository. It can be from 1 to 17
162
+ characters, and may only contain A-Z, a-z, 0-9, &apos;.&apos;, or &apos;-&apos; (dash).</comment>
163
+ </param>
164
+ <param name="storagePool" value="localDerbyPool">
165
+ <comment>The named connection pool from which read/write database
166
+ connections are to be provided for the storage subsystem (see the
167
+ ConnectionPoolManager module). Default is the default provided by the
168
+ ConnectionPoolManager.</comment>
169
+ </param>
170
+ <param name="storageCharacterEncoding" value="UTF-8">
171
+ <comment>If the serialization format is text-based, this is the
172
+ character encoding that should be used. Default is UTF-8.</comment>
173
+ </param>
174
+ <param name="defaultExportFormat" value="info:fedora/fedora-system:FOXML-1.1"/>
175
+ <param name="defaultDCControlGroup" value="X">
176
+ <comment>The control group to use for the system-generated DC datastream
177
+ if no DC datastream is present on ingest. Must be &quot;X&quot; or &quot;M&quot;.</comment>
178
+ </param>
179
+ <param name="defaultRELSControlGroup" value="X">
180
+ <comment>The control group to use for system-generated RELS-EXT and
181
+ RELS-INT datastreams where these are not already present when
182
+ adding relationships via addRelationship. Must be &quot;X&quot; or &quot;M&quot;.</comment>
183
+ </param>
184
+ <param name="gSearchRESTURL" value="http://localhost:8080/fedoragsearch/rest">
185
+ <comment>The REST endpoint of the Fedora Generic Search service.
186
+ This parameter is only required if GSearchDOManager is
187
+ used.</comment>
188
+ </param>
189
+ <param name="gSearchUsername" value="exampleUsername">
190
+ <comment>The username for accessing the REST endpoint of the
191
+ Fedora Generic Search service. This parameter is only required if
192
+ GSearchDOManager is used, and the service requires
193
+ authentication.</comment>
194
+ </param>
195
+ <param name="gSearchPassword" value="examplePassword">
196
+ <comment>The associated password for accessing the REST endpoint
197
+ of the Fedora Generic Search service. This parameter is only
198
+ required if GSearchDOManager is used, and the service requires
199
+ authentication.</comment>
200
+ </param>
201
+ </module>
202
+ <module role="org.fcrepo.server.management.Management" class="org.fcrepo.server.management.ManagementModule">
203
+ <comment>The management subsystem. This implements the methods necessary
204
+ to fulfill API-M requests without regard to:
205
+ - how the service is exposed
206
+ - how bytestreams and java types might be marshalled/demarshalled over the wire
207
+ - how the storage subsystem is implemented.</comment>
208
+ <param name="decorator1" value="org.fcrepo.server.messaging.NotificationInvocationHandler"/>
209
+ <param name="autoChecksum" value="false">
210
+ <comment>Controls whether a checksum is automatically computed for
211
+ every datastream as the datastream is added to the repository. This
212
+ will allow the integrity of datastream contents to be periodically
213
+ checked to insure the object is not corrupted.</comment>
214
+ </param>
215
+ <param name="checksumAlgorithm" value="MD5">
216
+ <comment>Specifies which checksumming algorithm is to be used when
217
+ automatically computing checksums as specified by the above
218
+ parameter. Valid values are: MD5 SHA-1 SHA-256 SHA-384 SHA-512.</comment>
219
+ </param>
220
+ <param name="purgeDelayInMillis" value="60000">
221
+ <comment>Optional, default is 60000 (1 minute).
222
+ This specifies the amount of time between checks to remove
223
+ temporary files uploaded via the API-M upload interface. During
224
+ each check, old files whose age exceeds uploadStorageMinutes
225
+ will be removed.</comment>
226
+ </param>
227
+ <param name="uploadStorageMinutes" value="5">
228
+ <comment>Optional, default is 5.
229
+ This specifies the minimum amount of time that each uploaded
230
+ file should be kept in temporary storage.</comment>
231
+ </param>
232
+ </module>
233
+ <module role="org.fcrepo.server.access.Access" class="org.fcrepo.server.access.DefaultAccess">
234
+ <comment>Description: The access subsystem. This implements the methods
235
+ necessary to fulfill API-A requests without regard to:
236
+ - how the service is exposed
237
+ - how bytestreams and java types might be marshalled/demarshalled
238
+ over the wire.</comment>
239
+ <param name="doMediateDatastreams" value="false">
240
+ <comment>A boolean switch indicating whether Datastream Mediation is
241
+ activated or not. Datastream Mediation is required if using basic
242
+ authentication for API-A. When basic authentication is enabled for
243
+ API-A, backend services used by custom disseminations may or may not be
244
+ capable of authenticating with the Fedora server. Datastream mediation
245
+ coupled with the backend service configuration information in the
246
+ beSecurity.xml file enables the Fedora server to determine which backend
247
+ services are required to authenticate and which ones are allowed to
248
+ connect without authentication. Datastream mediation provides additional
249
+ repository security by not exposing the physical location of Referenced
250
+ Content datastreams to external mechanisms(services). Instead of
251
+ exposing the actual physical location of Referenced Content datastreams,
252
+ Datastream Mediation functions as a proxy requiring all external
253
+ services to communicate through the Fedora server to resolve the
254
+ location of Referenced Content datastreams.
255
+
256
+ IMPORTANT: For Datastream Mediation to function, the Fedora server must
257
+ be internet accessible using the configured name for fedoraServerHost
258
+ and fedoraServerPort. For example, using the default fedoraServerHost
259
+ value of &quot;localhost&quot; will not work if you have remote backend services
260
+ since the hostname of &quot;localhost&quot; will not be resolvable as the Fedora
261
+ server by the remote backend services. This requirement can be difficult
262
+ to satisfy if the Fedora server is located behind a firewall and you do
263
+ not have ready access to the firewall&apos;s configuration to enable the
264
+ required access. If the Fedora server is behind a firewall and you have
265
+ no access to the firewall&apos;s configuration, you are limited to keeping
266
+ Datastream Mediation turned off. Note that this will also prevent you
267
+ from using basic authentication with API-A. The default value of
268
+ doMediateDatastreams is false.</comment>
269
+ </param>
270
+ </module>
271
+ <module role="org.fcrepo.server.access.DynamicAccess" class="org.fcrepo.server.access.DynamicAccessModule">
272
+ <comment>The dynamic behavior module for the access subsystem. This
273
+ implements the methods necessary to fulfill API-A requests without
274
+ regard to:
275
+ - dynamically associating a default behavior definition and mechanism with objects
276
+ - (Future) dynamically associating other behavior definitions and mechanisms
277
+ with objects
278
+ - running disseminations of dynamic behaviors</comment>
279
+ <param name="fedora-system:1" value="org.fcrepo.server.access.internalservices.Bootstrap">
280
+ <comment>The interface that defines the methods of the bootstrap
281
+ disseminator. These methods are &quot;built-in&quot; to the Fedora system, and
282
+ are dynamically associated with every behavior definition and
283
+ behavior mechanism object.</comment>
284
+ </param>
285
+ <param name="fedora-system:2" value="org.fcrepo.server.access.internalservices.BootstrapImpl">
286
+ <comment>The class that implements the methods of the bootstrap
287
+ disseminator. These method implementations are &quot;built-in&quot; to the
288
+ Fedora system, and are dynamically associated with every behavior
289
+ definition and behavior mechanism object. This class can be thought
290
+ of as implementing an &quot;internal service&quot; whereas other disseminators
291
+ use external services (described by WSDL) to do their work.</comment>
292
+ </param>
293
+ <param name="fedora-system:3" value="org.fcrepo.server.access.defaultdisseminator.DefaultDisseminator">
294
+ <comment>The interface that defines the methods of the default
295
+ disseminator. These methods are &quot;built-in&quot; to the Fedora system, and
296
+ are dynamically associated with every object.</comment>
297
+ </param>
298
+ <param name="fedora-system:4" value="org.fcrepo.server.access.defaultdisseminator.DefaultDisseminatorImpl">
299
+ <comment>The class that implements the methods of the default
300
+ disseminator. These method implementations are &quot;built-in&quot; to the
301
+ Fedora system, and are dynamically associated with every object.
302
+ This class can be though of as implementing an &quot;internal service&quot;
303
+ whereas other disseminators use external services (described by
304
+ WSDL) to do their work.</comment>
305
+ </param>
306
+ </module>
307
+ <module role="org.fcrepo.server.search.FieldSearch" class="org.fcrepo.server.search.FieldSearchSQLModule">
308
+ <comment>Supports the API-A simpleSearch and advancedSearch methods.</comment>
309
+ <param name="maxResults" value="100">
310
+ <comment>(required, must be &gt; 0)
311
+ The maximum number of records to
312
+ return as the result of a search. Even if a client requests more
313
+ results at a time, this is the cutoff value.</comment>
314
+ </param>
315
+ <param name="maxSecondsPerSession" value="500">
316
+ <comment>(required, must be &gt; 0)
317
+ The maximum number of seconds that the server guarantees subsequent
318
+ search results may be obtained. This is only used in cases where the
319
+ number of results is greater than maxResults (as specified by the
320
+ server [above] or the client [in the search request]).</comment>
321
+ </param>
322
+ <param name="connectionPool" value="localDerbyPool">
323
+ <comment>(optional) To make unspecified, comment out or delete the
324
+ whole param line as opposed to using an empty string,
325
+ default=ConnectionPoolManager&apos;s default) The connectionPool
326
+ providing the connection to the database to be used. Warning: When
327
+ setting these values, keep in mind that while a session is not timed
328
+ out (maxSecondsPerSession seconds haven&apos;t elapsed, and not all
329
+ results have been requested), a connection from the pool is tied up.
330
+ Therefore, the connectionPool should be at least of size n, large
331
+ enough to accomodate n simultaneous search sessions. The longer
332
+ maxSecondsPerSession is, the more chance you have of tying up all
333
+ available connections from the pool. Therefore, keep
334
+ maxSecondsPerSession fairly low, but still reasonable for an
335
+ automated program or user to serially get a long list of results,
336
+ and make sure you have a connectionPool large enough to accomodate
337
+ your users.</comment>
338
+ </param>
339
+ <param name="indexDCFields" value="true">
340
+ <comment>(optional, default is true) Whether the content of the DC
341
+ datastream should be examined and the contents indexed, for each object.
342
+ You may wish to save time and space by disabling DC field indexing,
343
+ particularly if you have an external search service (such as Fedora
344
+ Generic Search) that already fulfills this need.
345
+ Note: If you change this value on a Fedora repository that has been
346
+ running for some time, you will need to perform a SQL rebuild using the
347
+ Fedora Rebuilder tool if you want to change objects that have already
348
+ been ingested.</comment>
349
+ </param>
350
+ </module>
351
+ <module role="org.fcrepo.server.resourceIndex.ResourceIndex" class="org.fcrepo.server.resourceIndex.ResourceIndexModule">
352
+ <comment>Supports the ResourceIndex.</comment>
353
+ <param name="level" value="0">
354
+ <comment>(required)
355
+ Index level. Currently, only 0, and 1 are supported levels.
356
+ 0 = off and 1 = on.
357
+ WARNING: changing the level (except to 0) requires
358
+ running the Resource Index Rebuilder.</comment>
359
+ </param>
360
+ <param name="datastore" value="localMulgaraTriplestore">
361
+ <comment>(required)
362
+ Name of the triplestore to use. WARNING: changing the
363
+ triplestore running the Resource Index Rebuilder.</comment>
364
+ </param>
365
+ <param name="syncUpdates" value="false">
366
+ <comment>(optional, default is false)
367
+ Whether to flush the triple buffer before
368
+ returning from object modification operations.
369
+ Specifying this as true will ensure that RI queries
370
+ immediately reflect the latest triples.
371
+ Specifying false will not provide this guarantee,
372
+ but can significantly reduce roundtrip time for
373
+ API-M operations (depending on the triplestore
374
+ implementation).</comment>
375
+ </param>
376
+ <param name="alias:test" value="http://example.org/terms#">
377
+ <comment>(optional) Aliases that can be used for queries. The param
378
+ name of an alias starts with the string &quot;alias:&quot; and is followed by
379
+ the name of the alias (shortcut) for the value, which is a URI
380
+ prefix. For example: name=&quot;alias:test&quot;
381
+ value=&quot;http://example.org/terms#&quot; will allow a query to use
382
+ test:apple instead of http://example.org/terms#apple</comment>
383
+ </param>
384
+ </module>
385
+ <module role="org.fcrepo.oai.OAIProvider" class="org.fcrepo.server.oai.FedoraOAIProviderModule">
386
+ <comment>Description: Exposes the repository for OAI harvesters.</comment>
387
+ <param name="repositoryName" value="Your Fedora Repository Name Here"/>
388
+ <param name="repositoryDomainName" value="example.org"/>
389
+ <param name="adminEmails" value="oai-admin@example.org bob@example.org"/>
390
+ <param name="friends" value="http://arXiv.org/oai2 http://memory.loc.gov/cgi-bin/oai2_0"/>
391
+ <param name="maxRecords" value="100"/>
392
+ <param name="maxHeaders" value="100"/>
393
+ </module>
394
+ <module role="org.fcrepo.server.storage.translation.DOTranslator" class="org.fcrepo.server.storage.translation.DOTranslatorModule">
395
+ <comment>Supports translation from DigitalObject to a stream of some
396
+ format, and vice-versa. The parameters below specify
397
+ serializer/deserializer classes to be used for a given format. Those
398
+ classes must implement the DOSerializer/DODeserializer interfaces.</comment>
399
+ <param name="serializer_info:fedora/fedora-system:METSFedoraExt-1.1" value="org.fcrepo.server.storage.translation.METSFedoraExt1_1DOSerializer"/>
400
+ <param name="deserializer_info:fedora/fedora-system:METSFedoraExt-1.1" value="org.fcrepo.server.storage.translation.METSFedoraExt1_1DODeserializer"/>
401
+ <param name="serializer_info:fedora/fedora-system:METSFedoraExt-1.0" value="org.fcrepo.server.storage.translation.METSFedoraExt1_0DOSerializer"/>
402
+ <param name="deserializer_info:fedora/fedora-system:METSFedoraExt-1.0" value="org.fcrepo.server.storage.translation.METSFedoraExt1_0DODeserializer"/>
403
+ <param name="serializer_info:fedora/fedora-system:FOXML-1.1" value="org.fcrepo.server.storage.translation.FOXML1_1DOSerializer"/>
404
+ <param name="deserializer_info:fedora/fedora-system:FOXML-1.1" value="org.fcrepo.server.storage.translation.FOXML1_1DODeserializer"/>
405
+ <param name="serializer_info:fedora/fedora-system:FOXML-1.0" value="org.fcrepo.server.storage.translation.FOXML1_0DOSerializer"/>
406
+ <param name="deserializer_info:fedora/fedora-system:FOXML-1.0" value="org.fcrepo.server.storage.translation.FOXML1_0DODeserializer"/>
407
+ <param name="serializer_info:fedora/fedora-system:ATOM-1.1" value="org.fcrepo.server.storage.translation.Atom1_1DOSerializer"/>
408
+ <param name="deserializer_info:fedora/fedora-system:ATOM-1.1" value="org.fcrepo.server.storage.translation.Atom1_1DODeserializer"/>
409
+ <param name="serializer_info:fedora/fedora-system:ATOMZip-1.1" value="org.fcrepo.server.storage.translation.AtomZip1_1DOSerializer"/>
410
+ <param name="deserializer_info:fedora/fedora-system:ATOMZip-1.1" value="org.fcrepo.server.storage.translation.AtomZip1_1DODeserializer"/>
411
+ </module>
412
+ <module role="org.fcrepo.server.management.PIDGenerator" class="org.fcrepo.server.management.BasicPIDGenerator">
413
+ <comment>The pid generator.</comment>
414
+ <param name="pidgen_log_dir" value="pidgen"/>
415
+ </module>
416
+ <module role="org.fcrepo.server.messaging.Messaging" class="org.fcrepo.server.messaging.MessagingModule">
417
+ <comment>Fedora's Java Messaging Service (JMS) Module</comment>
418
+ <param name="enabled" value="false"/>
419
+ <param name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
420
+ <param name="java.naming.provider.url" value="vm:(broker:(tcp://localhost:61616))"/>
421
+ <param name="datastore1" value="apimUpdateMessages">
422
+ <comment>A datastore representing a JMS Destination for APIM events which update the repository</comment>
423
+ </param>
424
+ <param name="datastore2" value="apimAccessMessages">
425
+ <comment>A datastore representing a JMS Destination for APIM events which do not update the repository</comment>
426
+ </param>
427
+ </module>
428
+ <module role="org.fcrepo.server.storage.ConnectionPoolManager" class="org.fcrepo.server.storage.ConnectionPoolManagerImpl">
429
+ <comment>This module facilitates obtaining ConnectionPools</comment>
430
+ <param name="defaultPoolName" value="localDerbyPool"/>
431
+ <param name="poolNames" value="localDerbyPool"/>
432
+ </module>
433
+ <module role="org.fcrepo.server.validation.DOValidator" class="org.fcrepo.server.validation.DOValidatorModule">
434
+ <comment>Description: Supports validation of digital objects, including
435
+ XML Schema validation, Schematron validation (to Fedora Rules schema
436
+ written in Schematron language), and other programatic validation
437
+ including referential integrity checking of existence and
438
+ availability of distributed data and/or services.</comment>
439
+ <param name="xsd_info:fedora/fedora-system:METSFedoraExt-1.1" value="xsd/mets-fedora-ext1-1.xsd">
440
+ <comment>The local path for the Fedora-METS XML
441
+ schema used to do XML schema validation of digital objects.</comment>
442
+ </param>
443
+ <param name="xsd_info:fedora/fedora-system:METSFedoraExt-1.0" value="xsd/mets-fedora-ext.xsd">
444
+ <comment>The local path for the Fedora-METS 1.0 XML
445
+ schema used to do XML schema validation of digital objects.</comment>
446
+ </param>
447
+ <param name="xsd_info:fedora/fedora-system:FOXML-1.1" value="xsd/foxml1-1.xsd">
448
+ <comment>The local path for the Fedora FOXML 1.1 XML schema
449
+ used to do XML schema validation of digital objects</comment>
450
+ </param>
451
+ <param name="xsd_info:fedora/fedora-system:FOXML-1.0" value="xsd/foxml1-0.xsd">
452
+ <comment>The local path for the Fedora FOXML 1.0 XML schema
453
+ used to do XML schema validation of digital objects</comment>
454
+ </param>
455
+ <param name="xsd_info:fedora/fedora-system:ATOM-1.1" value="xsd/atom.xsd">
456
+ <comment>The local path for the Atom XML schema used to do XML
457
+ schema validation of digital objects</comment>
458
+ </param>
459
+ <param name="xsd_info:fedora/fedora-system:ATOMZip-1.1" value="xsd/atom.xsd">
460
+ <comment>The local path for the Atom XML schema used to do XML
461
+ schema validation of digital objects</comment>
462
+ </param>
463
+ <param name="xsd_xacml_policy1.0" value="xsd/cs-xacml-schema-policy-1.0.xsd">
464
+ <comment>The local path for the OASIS XACML XML policy schema
465
+ used to do XML schema validation of XACML policies.</comment>
466
+ </param>
467
+ <param name="rules_info:fedora/fedora-system:METSFedoraExt-1.1" value="schematron/metsExtRules1-1.xml">
468
+ <comment>The local path to the Schematron Rules used for
469
+ Fedora-specific validation on Fedora-METS XML files.</comment>
470
+ </param>
471
+ <param name="rules_info:fedora/fedora-system:METSFedoraExt-1.0" value="schematron/metsExtRules1-0.xml">
472
+ <comment>The local path to the Schematron Rules used for
473
+ Fedora-specific validation on Fedora-METS 1.0 XML files.</comment>
474
+ </param>
475
+ <param name="rules_info:fedora/fedora-system:FOXML-1.1" value="schematron/foxmlRules1-1.xml">
476
+ <comment>The local path to the Schematron Rules used for
477
+ Fedora-specific validation on FOXML 1.1 XML files.</comment>
478
+ </param>
479
+ <param name="rules_info:fedora/fedora-system:FOXML-1.0" value="schematron/foxmlRules1-0.xml">
480
+ <comment>The local path to the Schematron Rules used for
481
+ Fedora-specific validation on FOXML 1.0 XML files.</comment>
482
+ </param>
483
+ <param name="rules_info:fedora/fedora-system:ATOM-1.1" value="schematron/atom-bogus.xml">
484
+ <comment>The local path to the Schematron Rules used for
485
+ Fedora-specific on Atom XML files.</comment>
486
+ </param>
487
+ <param name="rules_info:fedora/fedora-system:ATOMZip-1.1" value="schematron/atom-bogus.xml">
488
+ <comment>The local path to the Schematron Rules used for
489
+ Fedora-specific on Atom Zip files.</comment>
490
+ </param>
491
+ <param name="schtron_preprocessor" value="schematron/preprocessor.xslt"/>
492
+ <param name="tempDir" value="work">
493
+ <comment>(required)
494
+ This is a directory that the validation module can use as a work space, as
495
+ when it must write a temporary file.</comment>
496
+ </param>
497
+ </module>
498
+ <module role="org.fcrepo.server.storage.ExternalContentManager" class="org.fcrepo.server.storage.DefaultExternalContentManager">
499
+ <comment>This module facilitates obtaining external content via HTTP</comment>
500
+ </module>
501
+ <datastore id="localMySQLPool">
502
+ <comment>MySQL database on localhost with db name of fedora3. Each
503
+ connection pool instance has several configuration parameter that
504
+ can be used to tune the options for the connection pool. It is
505
+ recommended that you not change the default values unless you are
506
+ trying to address a specific performance issue. For additional
507
+ information regarding connection pool options, refer to the Apache
508
+ Commons Pool API documentation at
509
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
510
+ <param name="dbUsername" value="fedoraAdmin">
511
+ <comment>The database user name.</comment>
512
+ </param>
513
+ <param name="dbPassword" value="fedoraAdmin">
514
+ <comment>The database password.</comment>
515
+ </param>
516
+ <param name="jdbcURL" value="jdbc:mysql://localhost/fedora3?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true">
517
+ <comment>The JDBC connection URL.</comment>
518
+ </param>
519
+ <param name="jdbcDriverClass" value="com.mysql.jdbc.Driver">
520
+ <comment>The JDBC driver class name.</comment>
521
+ </param>
522
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.MySQLDDLConverter"/>
523
+ <param name="maxActive" value="100">
524
+ <comment>The maximum number of active instances in pool.</comment>
525
+ </param>
526
+ <param name="maxIdle" value="10">
527
+ <comment>The maximum number of idle instances in pool.</comment>
528
+ </param>
529
+ <param name="maxWait" value="-1">
530
+ <comment>The maximum amount of time in milliseconds the
531
+ borrowObject() method should wait before throwing an Exception when
532
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
533
+ than zero indicates block indefinitely.</comment>
534
+ </param>
535
+ <param name="minIdle" value="0">
536
+ <comment>The minimum of idle instances in pool.</comment>
537
+ </param>
538
+ <param name="minEvictableIdleTimeMillis" value="1800000">
539
+ <comment>The minimum amount of time in milliseconds an object can be
540
+ idle in pool before eligible for eviction (if applicable). A value
541
+ less than zero indicates no object will be evicted due to idle time
542
+ alone.</comment>
543
+ </param>
544
+ <param name="numTestsPerEvictionRun" value="3">
545
+ <comment>The number of objects to be examined on each run of idle
546
+ evictor thread (if applicable). A value less than zero indicates
547
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
548
+ </param>
549
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
550
+ <comment>The time in milliseconds to sleep between runs of the idle
551
+ object evictor thread. A value less than zero indicates no idle
552
+ evictor thread is run.</comment>
553
+ </param>
554
+ <param name="validationQuery" value="select 1">
555
+ <comment>The query to run when validating connections.
556
+ Connections are validated according to the testOnBorrow,
557
+ testOnReturn, and testWhileIdle configuration values.
558
+ If this is specified, it must be a SQL SELECT statement
559
+ that returns at least one row. If this is NOT specified,
560
+ validation tests will not be run.</comment>
561
+ </param>
562
+ <param name="testOnBorrow" value="true">
563
+ <comment>When true objects are validated before borrowed from the
564
+ pool.</comment>
565
+ </param>
566
+ <param name="testOnReturn" value="true">
567
+ <comment>When true, objects are validated before returned to the
568
+ pool.</comment>
569
+ </param>
570
+ <param name="testWhileIdle" value="true">
571
+ <comment>When true, objects are validated by the idle object evictor
572
+ thread.</comment>
573
+ </param>
574
+ <param name="whenExhaustedAction" value="1">
575
+ <comment>Action to take when a new object is requested and the the pool has
576
+ reached maximum number of active objects. Valid values are:
577
+ 0 (fail i.e., throw Exception)
578
+ 1 (block i.e., wait until pool resources are freed)
579
+ 2 (grow i.e., increase the size of the pool).</comment>
580
+ </param>
581
+ </datastore>
582
+ <datastore id="localMcKoiPool">
583
+ <comment>McKoi database on localhost running on port 9157 Each
584
+ connection pool instance has several configuration parameter that
585
+ can be used to tune the options for the connection pool. It is
586
+ recommended that you not change the default values unless you are
587
+ trying to address a specific performance issue. For additional
588
+ information regarding connection pool options, refer to the Apache
589
+ Commons Pool API documentation at
590
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
591
+ <param name="dbUsername" value="fedoraAdmin">
592
+ <comment>The database user name.</comment>
593
+ </param>
594
+ <param name="dbPassword" value="fedoraAdmin">
595
+ <comment>The database password.</comment>
596
+ </param>
597
+ <param name="jdbcURL" value="jdbc:mckoi://localhost:9157/">
598
+ <comment>The JDBC connection URL.</comment>
599
+ </param>
600
+ <param name="jdbcDriverClass" value="com.mckoi.JDBCDriver">
601
+ <comment>The JDBC driver class name.</comment>
602
+ </param>
603
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.McKoiDDLConverter"/>
604
+ <param name="maxActive" value="100">
605
+ <comment>The maximum number of active instances in pool.</comment>
606
+ </param>
607
+ <param name="maxIdle" value="10">
608
+ <comment>The maximum number of idle instances in pool.</comment>
609
+ </param>
610
+ <param name="maxWait" value="-1">
611
+ <comment>The maximum amount of time in milliseconds the
612
+ borrowObject() method should wait before throwing an Exception when
613
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
614
+ than zero indicates block indefinitely.</comment>
615
+ </param>
616
+ <param name="minIdle" value="0">
617
+ <comment>The minimum of idle instances in pool.</comment>
618
+ </param>
619
+ <param name="minEvictableIdleTimeMillis" value="1800000">
620
+ <comment>The minimum amount of time in milliseconds an object can be
621
+ idle in pool before eligible for eviction (if applicable). A value
622
+ less than zero indicates no object will be evicted due to idle time
623
+ alone.</comment>
624
+ </param>
625
+ <param name="numTestsPerEvictionRun" value="3">
626
+ <comment>The number of objects to be examined on each run of idle
627
+ evictor thread (if applicable). A value less than zero indicates
628
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
629
+ </param>
630
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
631
+ <comment>The time in milliseconds to sleep between runs of the idle
632
+ object evictor thread. A value less than zero indicates no idle
633
+ evictor thread is run.</comment>
634
+ </param>
635
+ <param name="testOnBorrow" value="true">
636
+ <comment>When true objects are validated before borrowed from the
637
+ pool.</comment>
638
+ </param>
639
+ <param name="testOnReturn" value="true">
640
+ <comment>When true, objects are validated before returned to the
641
+ pool.</comment>
642
+ </param>
643
+ <param name="testWhileIdle" value="true">
644
+ <comment>When true, objects are validated by the idle object evictor
645
+ thread.</comment>
646
+ </param>
647
+ <param name="whenExhaustedAction" value="1">
648
+ <comment>Action to take when a new object is requested and the the pool has
649
+ reached maximum number of active objects. Valid values are:
650
+ 0 (fail i.e., throw Exception)
651
+ 1 (block i.e., wait until pool resources are freed)
652
+ 2 (grow i.e., increase the size of the pool).</comment>
653
+ </param>
654
+ </datastore>
655
+ <datastore id="localDerbyPool">
656
+ <comment>Derby database on localhost running on port 1527 Each
657
+ connection pool instance has several configuration parameter that
658
+ can be used to tune the options for the connection pool. It is
659
+ recommended that you not change the default values unless you are
660
+ trying to address a specific performance issue. For additional
661
+ information regarding connection pool options, refer to the Apache
662
+ Commons Pool API documentation at
663
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
664
+ <param name="dbUsername" value="fedoraAdmin">
665
+ <comment>The database user name.</comment>
666
+ </param>
667
+ <param name="dbPassword" value="fedoraAdmin">
668
+ <comment>The database password.</comment>
669
+ </param>
670
+ <param name="jdbcURL" value="jdbc:derby:fedora/default/derby/fedora3;create=true">
671
+ <comment>The JDBC connection URL.</comment>
672
+ </param>
673
+ <param name="jdbcDriverClass" value="org.apache.derby.jdbc.EmbeddedDriver">
674
+ <comment>The JDBC driver class name.</comment>
675
+ </param>
676
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.DerbyDDLConverter"/>
677
+ <param name="maxActive" value="100">
678
+ <comment>The maximum number of active instances in pool.</comment>
679
+ </param>
680
+ <param name="maxIdle" value="10">
681
+ <comment>The maximum number of idle instances in pool.</comment>
682
+ </param>
683
+ <param name="maxWait" value="-1">
684
+ <comment>The maximum amount of time in milliseconds the
685
+ borrowObject() method should wait before throwing an Exception when
686
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
687
+ than zero indicates block indefinitely.</comment>
688
+ </param>
689
+ <param name="minIdle" value="0">
690
+ <comment>The minimum of idle instances in pool.</comment>
691
+ </param>
692
+ <param name="minEvictableIdleTimeMillis" value="1800000">
693
+ <comment>The minimum amount of time in milliseconds an object can be
694
+ idle in pool before eligible for eviction (if applicable). A value
695
+ less than zero indicates no object will be evicted due to idle time
696
+ alone.</comment>
697
+ </param>
698
+ <param name="numTestsPerEvictionRun" value="3">
699
+ <comment>The number of objects to be examined on each run of idle
700
+ evictor thread (if applicable). A value less than zero indicates
701
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
702
+ </param>
703
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
704
+ <comment>The time in milliseconds to sleep between runs of the idle
705
+ object evictor thread. A value less than zero indicates no idle
706
+ evictor thread is run.</comment>
707
+ </param>
708
+ <param name="testOnBorrow" value="true">
709
+ <comment>When true objects are validated before borrowed from the
710
+ pool.</comment>
711
+ </param>
712
+ <param name="testOnReturn" value="true">
713
+ <comment>When true, objects are validated before returned to the
714
+ pool.</comment>
715
+ </param>
716
+ <param name="testWhileIdle" value="true">
717
+ <comment>When true, objects are validated by the idle object evictor
718
+ thread.</comment>
719
+ </param>
720
+ <param name="whenExhaustedAction" value="1">
721
+ <comment>Action to take when a new object is requested and the the pool has
722
+ reached maximum number of active objects. Valid values are:
723
+ 0 (fail i.e., throw Exception)
724
+ 1 (block i.e., wait until pool resources are freed)
725
+ 2 (grow i.e., increase the size of the pool).</comment>
726
+ </param>
727
+ </datastore>
728
+ <datastore id="localOraclePool">
729
+ <comment>Oracle database on localhost with SID=fedora3 Each
730
+ connection pool instance has several configuration parameter that
731
+ can be used to tune the options for the connection pool. It is
732
+ recommended that you not change the default values unless you are
733
+ trying to address a specific performance issue. For additional
734
+ information regarding connection pool options, refer to the Apache
735
+ Commons Pool API documentation at
736
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
737
+ <param name="dbUsername" value="fedoraAdmin">
738
+ <comment>The database user name.</comment>
739
+ </param>
740
+ <param name="dbPassword" value="fedoraAdmin">
741
+ <comment>The database password.</comment>
742
+ </param>
743
+ <param name="jdbcURL" value="jdbc:oracle:thin:@localhost:1521:fedora3">
744
+ <comment>The JDBC connection URL.</comment>
745
+ </param>
746
+ <param name="jdbcDriverClass" value="oracle.jdbc.OracleDriver">
747
+ <comment>The JDBC driver class name.</comment>
748
+ </param>
749
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.OracleDDLConverter"/>
750
+ <param name="maxActive" value="100">
751
+ <comment>The maximum number of active instances in pool.</comment>
752
+ </param>
753
+ <param name="maxIdle" value="10">
754
+ <comment>The maximum number of idle instances in pool.</comment>
755
+ </param>
756
+ <param name="maxWait" value="-1">
757
+ <comment>The maximum amount of time in milliseconds the
758
+ borrowObject() method should wait before throwing an Exception when
759
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
760
+ than zero indicates block indefinitely.</comment>
761
+ </param>
762
+ <param name="minIdle" value="0">
763
+ <comment>The minimum of idle instances in pool.</comment>
764
+ </param>
765
+ <param name="minEvictableIdleTimeMillis" value="1800000">
766
+ <comment>The minimum amount of time in milliseconds an object can be
767
+ idle in pool before eligible for eviction (if applicable). A value
768
+ less than zero indicates no object will be evicted due to idle time
769
+ alone.</comment>
770
+ </param>
771
+ <param name="numTestsPerEvictionRun" value="3">
772
+ <comment>The number of objects to be examined on each run of idle
773
+ evictor thread (if applicable). A value less than zero indicates
774
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
775
+ </param>
776
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
777
+ <comment>The time in milliseconds to sleep between runs of the idle
778
+ object evictor thread. A value less than zero indicates no idle
779
+ evictor thread is run.</comment>
780
+ </param>
781
+ <param name="validationQuery" value="select &apos;validationQuery&apos; from dual">
782
+ <comment>The query to run when validating connections.
783
+ Connections are validated according to the testOnBorrow,
784
+ testOnReturn, and testWhileIdle configuration values.
785
+ If this is specified, it must be a SQL SELECT statement
786
+ that returns at least one row. If this is NOT specified,
787
+ validation tests will not be run.</comment>
788
+ </param>
789
+ <param name="testOnBorrow" value="true">
790
+ <comment>When true objects are validated before borrowed from the
791
+ pool.</comment>
792
+ </param>
793
+ <param name="testOnReturn" value="true">
794
+ <comment>When true, objects are validated before returned to the
795
+ pool.</comment>
796
+ </param>
797
+ <param name="testWhileIdle" value="true">
798
+ <comment>When true, objects are validated by the idle object evictor
799
+ thread.</comment>
800
+ </param>
801
+ <param name="whenExhaustedAction" value="1">
802
+ <comment>Action to take when a new object is requested and the the pool has
803
+ reached maximum number of active objects. Valid values are:
804
+ 0 (fail i.e., throw Exception)
805
+ 1 (block i.e., wait until pool resources are freed)
806
+ 2 (grow i.e., increase the size of the pool).</comment>
807
+ </param>
808
+ <param name="connection.SetBigStringTryClob" value="true"/>
809
+ </datastore>
810
+ <datastore id="localPostgreSQLPool">
811
+ <comment>PostgreSQL database on localhost with db name of fedora3. Each
812
+ connection pool instance has several configuration parameter that
813
+ can be used to tune the options for the connection pool. It is
814
+ recommended that you not change the default values unless you are
815
+ trying to address a specific performance issue. For additional
816
+ information regarding connection pool options, refer to the Apache
817
+ Commons Pool API documentation at
818
+ http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
819
+ <param name="dbUsername" value="fedoraAdmin">
820
+ <comment>The database user name.</comment>
821
+ </param>
822
+ <param name="dbPassword" value="fedoraAdmin">
823
+ <comment>The database password.</comment>
824
+ </param>
825
+ <param name="jdbcURL" value="jdbc:postgresql:fedora3">
826
+ <comment>The JDBC connection URL.</comment>
827
+ </param>
828
+ <param name="jdbcDriverClass" value="org.postgresql.Driver">
829
+ <comment>The JDBC driver class name.</comment>
830
+ </param>
831
+ <param name="ddlConverter" value="org.fcrepo.server.utilities.PostgresDDLConverter"/>
832
+ <param name="maxActive" value="100">
833
+ <comment>The maximum number of active instances in pool.</comment>
834
+ </param>
835
+ <param name="maxIdle" value="10">
836
+ <comment>The maximum number of idle instances in pool.</comment>
837
+ </param>
838
+ <param name="maxWait" value="-1">
839
+ <comment>The maximum amount of time in milliseconds the
840
+ borrowObject() method should wait before throwing an Exception when
841
+ whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
842
+ than zero indicates block indefinitely.</comment>
843
+ </param>
844
+ <param name="minIdle" value="0">
845
+ <comment>The minimum of idle instances in pool.</comment>
846
+ </param>
847
+ <param name="minEvictableIdleTimeMillis" value="1800000">
848
+ <comment>The minimum amount of time in milliseconds an object can be
849
+ idle in pool before eligible for eviction (if applicable). A value
850
+ less than zero indicates no object will be evicted due to idle time
851
+ alone.</comment>
852
+ </param>
853
+ <param name="numTestsPerEvictionRun" value="3">
854
+ <comment>The number of objects to be examined on each run of idle
855
+ evictor thread (if applicable). A value less than zero indicates
856
+ that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
857
+ </param>
858
+ <param name="timeBetweenEvictionRunsMillis" value="-1">
859
+ <comment>The time in milliseconds to sleep between runs of the idle
860
+ object evictor thread. A value less than zero indicates no idle
861
+ evictor thread is run.</comment>
862
+ </param>
863
+ <param name="validationQuery" value="select 1">
864
+ <comment>The query to run when validating connections.
865
+ Connections are validated according to the testOnBorrow,
866
+ testOnReturn, and testWhileIdle configuration values.
867
+ If this is specified, it must be a SQL SELECT statement
868
+ that returns at least one row. If this is NOT specified,
869
+ validation tests will not be run.</comment>
870
+ </param>
871
+ <param name="testOnBorrow" value="true">
872
+ <comment>When true objects are validated before borrowed from the
873
+ pool.</comment>
874
+ </param>
875
+ <param name="testOnReturn" value="true">
876
+ <comment>When true, objects are validated before returned to the
877
+ pool.</comment>
878
+ </param>
879
+ <param name="testWhileIdle" value="true">
880
+ <comment>When true, objects are validated by the idle object evictor
881
+ thread.</comment>
882
+ </param>
883
+ <param name="whenExhaustedAction" value="1">
884
+ <comment>Action to take when a new object is requested and the the pool has
885
+ reached maximum number of active objects. Valid values are:
886
+ 0 (fail i.e., throw Exception)
887
+ 1 (block i.e., wait until pool resources are freed)
888
+ 2 (grow i.e., increase the size of the pool).</comment>
889
+ </param>
890
+ </datastore>
891
+ <datastore id="localMulgaraTriplestore">
892
+ <comment>local Mulgara Triplestore used by the Resource Index</comment>
893
+ <param name="connectorClassName" value="org.trippi.impl.mulgara.MulgaraConnector">
894
+ <comment>The name of the Trippi Connector class used to communicate
895
+ with the triplestore.</comment>
896
+ </param>
897
+ <param name="remote" value="false">
898
+ <comment>Tells the connector to communicate with Mulgara in remote or
899
+ local mode. If true, the host parameter must be defined. If false,
900
+ the path parameter must be defined.</comment>
901
+ </param>
902
+ <param name="path" value="data/resourceIndex" isFilePath="true">
903
+ <comment>The local path to the main triplestore directory.</comment>
904
+ </param>
905
+ <param name="serverName" value="fedora">
906
+ <comment>The server name for rmi binding.</comment>
907
+ </param>
908
+ <param name="modelName" value="ri">
909
+ <comment>The name of the model to use.</comment>
910
+ </param>
911
+ <param name="poolInitialSize" value="3">
912
+ <comment>The initial size of the session pool used for queries.
913
+ Note: A value of 0 will cause the Resource Index to operate in
914
+ synchronized mode: concurrent read/write requests are put in a queue
915
+ and handled in FIFO order; this will severely impair performance and
916
+ is only intended for debugging.</comment>
917
+ </param>
918
+ <param name="poolMaxGrowth" value="-1">
919
+ <comment>Maximum number of additional sessions the pool may add. If
920
+ specified as -1, no limit will be placed on pool growth.</comment>
921
+ </param>
922
+ <param name="readOnly" value="false">
923
+ <comment>Whether the triplestore should be read-only. Most Fedora
924
+ repositories will set this to false.</comment>
925
+ </param>
926
+ <param name="autoCreate" value="true">
927
+ <comment>Create the model if it doesn&apos;t already exist.
928
+ At startup, the model will be automatically created. In addition, an
929
+ XML schema datatyped model named &quot;xsd&quot; will also be automatically
930
+ created.</comment>
931
+ </param>
932
+ <param name="autoTextIndex" value="false">
933
+ <comment>Whether to propagate adds/deletes to a full-text
934
+ [Full-Text] model automatically. While a very useful feature,
935
+ enabling full-text indexing adds significantly to object ingest
936
+ times. If true, the text model will be named modelName-fullText.
937
+ Note that if this is true and autoCreate is true, the text model
938
+ will also be created if it doesn&apos;t already exist.</comment>
939
+ </param>
940
+ <param name="autoFlushDormantSeconds" value="5">
941
+ <comment>Seconds of buffer inactivity that will trigger an
942
+ auto-flush. If this threshold is reached, flushing will occur in the
943
+ background, during which time the buffer is still available for
944
+ writing.</comment>
945
+ </param>
946
+ <param name="autoFlushBufferSize" value="20000">
947
+ <comment>The size at which the buffer should be auto-flushed. If
948
+ this threshold is reached, flushing will occur in the background,
949
+ during which time the buffer is still available for
950
+ writing.</comment>
951
+ </param>
952
+ <param name="bufferFlushBatchSize" value="20000">
953
+ <comment>The number of updates to send to the triplestore at a time.
954
+ This should be the same size as, or smaller than
955
+ autoFlushBufferSize.</comment>
956
+ </param>
957
+ <param name="bufferSafeCapacity" value="40000">
958
+ <comment>The maximum size the buffer can reach before being forcibly
959
+ flushed. If this threshold is reached, flushing will occur in the
960
+ foreground and the buffer will be locked for writing until it is
961
+ finished. This should be larger than autoFlushBufferSize.</comment>
962
+ </param>
963
+ </datastore>
964
+ <datastore id="localPostgresMPTTriplestore">
965
+ <comment>Example local MPTStore backed by Postgres.
966
+ To use this triplestore for the Resource Index:
967
+ 1) In fedora.fcfg, change the "datastore" parameter of the
968
+ ResourceIndex module to localPostgresMPTTriplestore.
969
+ 2) Login to your Postgres server as an administrative user and
970
+ run the following commands:
971
+ CREATE ROLE "fedoraAdmin" LOGIN PASSWORD 'fedoraAdmin'
972
+ NOINHERIT CREATEDB
973
+ VALID UNTIL 'infinity';
974
+ CREATE DATABASE "riTriples"
975
+ WITH ENCODING='SQL_ASCII'
976
+ OWNER="fedoraAdmin";
977
+ 3) Make sure you can login to your Postgres server as fedoraAdmin.
978
+ 4) Download the appropriate Postgres JDBC 3 driver from
979
+ http://jdbc.postgresql.org/download.html
980
+ and make sure it's accessible to your servlet container.
981
+ If you're running Tomcat, putting it in common/lib/ will work.</comment>
982
+ <param name="connectorClassName" value="org.trippi.impl.mpt.MPTConnector"/>
983
+ <param name="ddlGenerator" value="org.nsdl.mptstore.impl.postgres.PostgresDDLGenerator"/>
984
+ <param name="jdbcDriver" value="org.postgresql.Driver"/>
985
+ <param name="jdbcURL" value="jdbc:postgresql://localhost/riTriples"/>
986
+ <param name="username" value="fedoraAdmin"/>
987
+ <param name="password" value="fedoraAdmin"/>
988
+ <param name="poolInitialSize" value="3"/>
989
+ <param name="poolMaxSize" value="10"/>
990
+ <param name="backslashIsEscape" value="true"/>
991
+ <param name="fetchSize" value="1000"/>
992
+ <param name="autoFlushDormantSeconds" value="5"/>
993
+ <param name="autoFlushBufferSize" value="1000"/>
994
+ <param name="bufferFlushBatchSize" value="1000"/>
995
+ <param name="bufferSafeCapacity" value="2000"/>
996
+ </datastore>
997
+ <datastore id="apimUpdateMessages">
998
+ <comment>Messaging Destination for API-M events which update the repository</comment>
999
+ <param name="messageTypes" value="apimUpdate">
1000
+ <comment>A space-separated list of message types that will be
1001
+ delivered to this Destination. Currently, &quot;apimUpdate&quot; and
1002
+ &quot;apimAccess&quot; are the only supported message types.</comment>
1003
+ </param>
1004
+ <param name="name" value="fedora.apim.update"/>
1005
+ <param name="type" value="topic">
1006
+ <comment>Optional, defaults to topic.</comment>
1007
+ </param>
1008
+ </datastore>
1009
+ <datastore id="apimAccessMessages">
1010
+ <comment>Messaging Destination for API-M events which did not make changes to the repository</comment>
1011
+ <param name="messageTypes" value="apimAccess">
1012
+ <comment>A space-separated list of message types that will be
1013
+ delivered to this Destination. Currently, &quot;apimUpdate&quot; and
1014
+ &quot;apimAccess&quot; are the only supported message types.</comment>
1015
+ </param>
1016
+ <param name="name" value="fedora.apim.access"/>
1017
+ <param name="type" value="topic">
1018
+ <comment>Optional, defaults to topic.</comment>
1019
+ </param>
1020
+ </datastore>
1021
+ </server>