hydra-head 3.0.0pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +71 -0
- data/.gitmodules +6 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +257 -0
- data/README.textile +150 -0
- data/README_RAILS3_CHANGES.textile +42 -0
- data/Rakefile +5 -0
- data/TESTING.textile +85 -0
- data/app/controllers/assets_controller.rb +117 -0
- data/app/controllers/contributors_controller.rb +54 -0
- data/app/controllers/file_assets_controller.rb +152 -0
- data/app/controllers/permissions_controller.rb +137 -0
- data/app/controllers/user_sessions_controller.rb +14 -0
- data/app/helpers/article_metadata_helper.rb +80 -0
- data/app/helpers/blacklight_helper.rb +192 -0
- data/app/helpers/downloads_helper.rb +19 -0
- data/app/helpers/generic_content_objects_helper.rb +16 -0
- data/app/helpers/hydra_assets_helper.rb +75 -0
- data/app/helpers/hydra_djatoka_helper.rb +23 -0
- data/app/helpers/hydra_fedora_metadata_helper.rb +365 -0
- data/app/helpers/hydra_helper.rb +155 -0
- data/app/helpers/hydra_uploader_helper.rb +18 -0
- data/app/helpers/inline_editable_metadata_helper.rb +15 -0
- data/app/helpers/javascript_includes_helper.rb +93 -0
- data/app/helpers/release_process_helper.rb +32 -0
- data/app/models/audio_asset.rb +8 -0
- data/app/models/file_asset.rb +111 -0
- data/app/models/generic_content.rb +21 -0
- data/app/models/generic_image.rb +62 -0
- data/app/models/image_asset.rb +8 -0
- data/app/models/mods_asset.rb +6 -0
- data/app/models/role_mapper.rb +22 -0
- data/app/models/superuser.rb +6 -0
- data/app/models/video_asset.rb +8 -0
- data/app/views/_add_assets_links.html.erb +13 -0
- data/app/views/_brown_sidebar.html +15 -0
- data/app/views/_user_util_links.html.erb +31 -0
- data/app/views/catalog/_citation.html.erb +11 -0
- data/app/views/catalog/_constraints_element.html.erb +34 -0
- data/app/views/catalog/_delete_partials/_default.html.erb +29 -0
- data/app/views/catalog/_document_list.html.erb +11 -0
- data/app/views/catalog/_edit_partials/_default.html.erb +64 -0
- data/app/views/catalog/_edit_partials/_default_details.html.erb +15 -0
- data/app/views/catalog/_email_form.html.erb +9 -0
- data/app/views/catalog/_facets.html.erb +37 -0
- data/app/views/catalog/_flash_msg.html.erb +17 -0
- data/app/views/catalog/_home.html.erb +6 -0
- data/app/views/catalog/_home_text.html.erb +10 -0
- data/app/views/catalog/_index_partials/_default.html.erb +20 -0
- data/app/views/catalog/_index_partials/_default_details.html.erb +11 -0
- data/app/views/catalog/_index_partials/_default_group.html.erb +15 -0
- data/app/views/catalog/_search_form.html.erb +12 -0
- data/app/views/catalog/_show_partials/_default.html.erb +23 -0
- data/app/views/catalog/_show_partials/_default_details.html.erb +12 -0
- data/app/views/catalog/_show_partials/_facets.html.erb +52 -0
- data/app/views/catalog/_sms_form.html.erb +21 -0
- data/app/views/catalog/_sort_and_per_page.html.erb +22 -0
- data/app/views/catalog/_uva_tabs.html.erb +10 -0
- data/app/views/catalog/about.html.erb +0 -0
- data/app/views/catalog/show.html.erb +48 -0
- data/app/views/contributors/_add_contributor_split_button.html.erb +10 -0
- data/app/views/contributors/_edit_conference.html.erb +29 -0
- data/app/views/contributors/_edit_organization.html.erb +29 -0
- data/app/views/contributors/_edit_person.html.erb +42 -0
- data/app/views/contributors/_index.html.erb +12 -0
- data/app/views/contributors/_new.html.erb +10 -0
- data/app/views/contributors/_show_conference.html.erb +22 -0
- data/app/views/contributors/_show_organization.html.erb +29 -0
- data/app/views/contributors/_show_person.html.erb +17 -0
- data/app/views/contributors/new.html.erb +13 -0
- data/app/views/downloads/index.html.erb +1 -0
- data/app/views/file_assets/_deletable_result.html.erb +5 -0
- data/app/views/file_assets/_index.html.erb +15 -0
- data/app/views/file_assets/_new.html.erb +2 -0
- data/app/views/file_assets/_result.html.erb +16 -0
- data/app/views/file_assets/index.html.erb +5 -0
- data/app/views/fluid_infusion/_uploader.html.erb +81 -0
- data/app/views/fluid_infusion/_uploader_generic_content_objects.js.erb +38 -0
- data/app/views/fluid_infusion/_uploader_js.erb +45 -0
- data/app/views/generic_content_objects/_edit_description.html.erb +50 -0
- data/app/views/generic_content_objects/_new.html.erb +0 -0
- data/app/views/generic_content_objects/_show_description.html.erb +68 -0
- data/app/views/generic_content_objects/contributors/_edit_conference.html.erb +29 -0
- data/app/views/generic_content_objects/contributors/_edit_organization.html.erb +29 -0
- data/app/views/generic_content_objects/contributors/_edit_person.html.erb +37 -0
- data/app/views/generic_content_objects/contributors/_new.html.erb +10 -0
- data/app/views/generic_content_objects/contributors/_show_conference.html.erb +22 -0
- data/app/views/generic_content_objects/contributors/_show_organization.html.erb +22 -0
- data/app/views/generic_content_objects/contributors/_show_person.html.erb +38 -0
- data/app/views/generic_contents/_edit.html.erb +59 -0
- data/app/views/generic_contents/_index.html.erb +23 -0
- data/app/views/generic_contents/_show.html.erb +18 -0
- data/app/views/generic_contents/_show_content.html.erb +4 -0
- data/app/views/generic_images/_edit.html.erb +59 -0
- data/app/views/generic_images/_index.html.erb +24 -0
- data/app/views/generic_images/_show.html.erb +18 -0
- data/app/views/generic_images/_show_all.html.erb +14 -0
- data/app/views/generic_images/_show_content.html.erb +7 -0
- data/app/views/layouts/application.html.erb +57 -0
- data/app/views/layouts/hydra-head.html.erb +12 -0
- data/app/views/mods_assets/_edit.html.erb +49 -0
- data/app/views/mods_assets/_edit_description.html.erb +82 -0
- data/app/views/mods_assets/_edit_journal.html.erb +72 -0
- data/app/views/mods_assets/_index.html.erb +1 -0
- data/app/views/mods_assets/_index_list.html.erb +37 -0
- data/app/views/mods_assets/_index_table.html.erb +7 -0
- data/app/views/mods_assets/_progress_box.html.erb +82 -0
- data/app/views/mods_assets/_show.html.erb +44 -0
- data/app/views/mods_assets/_show_description.html.erb +44 -0
- data/app/views/mods_assets/_show_journal.html.erb +42 -0
- data/app/views/mods_assets/_show_permissions.html.erb +14 -0
- data/app/views/permissions/_edit_person_permissions.html.erb +35 -0
- data/app/views/permissions/_index.html.erb +55 -0
- data/app/views/permissions/_new.html.erb +18 -0
- data/app/views/permissions/index.html.erb +1 -0
- data/app/views/permissions/new.html.erb +1 -0
- data/app/views/shared/_delete_asset_confirmation.html.erb +17 -0
- data/app/views/user_sessions/_login_form.html.erb +10 -0
- data/app/views/user_sessions/logged_out.html.erb +1 -0
- data/config/routes.rb +12 -0
- data/fedora_conf/conf/fedora.fcfg +1021 -0
- data/hydra-head.gemspec +70 -0
- data/lib/application_controller.rb +25 -0
- data/lib/application_helper.rb +2 -0
- data/lib/engine.rb +30 -0
- data/lib/generators/hydra/head_generator.rb +152 -0
- data/lib/generators/hydra/templates/config/fedora.yml +17 -0
- data/lib/generators/hydra/templates/config/initializers/blacklight_config.rb +246 -0
- data/lib/generators/hydra/templates/config/initializers/fedora_config.rb +23 -0
- data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +29 -0
- data/lib/generators/hydra/templates/config/role_map_cucumber.yml +10 -0
- data/lib/generators/hydra/templates/config/role_map_development.yml +12 -0
- data/lib/generators/hydra/templates/config/role_map_production.yml +2 -0
- data/lib/generators/hydra/templates/config/role_map_test.yml +15 -0
- data/lib/generators/hydra/templates/config/solr.yml +10 -0
- data/lib/generators/hydra/templates/config/solr_mappings.yml +22 -0
- data/lib/generators/hydra/templates/fedora_conf/conf/fedora.fcfg +1021 -0
- data/lib/generators/hydra/templates/migrations/add_user_attributes_table.rb +15 -0
- data/lib/generators/hydra/templates/migrations/create_superusers.rb +12 -0
- data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +118 -0
- data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +332 -0
- data/lib/generators/hydra/templates/solr_conf/solr.xml +35 -0
- data/lib/hydra-head.rb +29 -0
- data/lib/hydra-head/engine.rb +9 -0
- data/lib/hydra-head/routes.rb +87 -0
- data/lib/hydra-head/version.rb +4 -0
- data/lib/hydra.rb +22 -0
- data/lib/hydra/access_controls_enforcement.rb +236 -0
- data/lib/hydra/access_controls_evaluation.rb +97 -0
- data/lib/hydra/assets_controller_helper.rb +144 -0
- data/lib/hydra/catalog.rb +64 -0
- data/lib/hydra/common_mods_index_methods.rb +42 -0
- data/lib/hydra/controller.rb +7 -0
- data/lib/hydra/file_assets_helper.rb +144 -0
- data/lib/hydra/fixtures.rb +43 -0
- data/lib/hydra/generic_content.rb +113 -0
- data/lib/hydra/generic_image.rb +100 -0
- data/lib/hydra/image.rb +177 -0
- data/lib/hydra/model_methods.rb +95 -0
- data/lib/hydra/model_mixins.rb +2 -0
- data/lib/hydra/model_mixins/common_metadata.rb +24 -0
- data/lib/hydra/model_mixins/mods_object.rb +16 -0
- data/lib/hydra/mods_article.rb +505 -0
- data/lib/hydra/mods_dataset.rb +165 -0
- data/lib/hydra/mods_generic_content.rb +494 -0
- data/lib/hydra/mods_image.rb +494 -0
- data/lib/hydra/repository_controller.rb +102 -0
- data/lib/hydra/rights_metadata.rb +189 -0
- data/lib/hydra/superuser_attributes.rb +12 -0
- data/lib/hydra/testing_server.rb +183 -0
- data/lib/hydra/user.rb +22 -0
- data/lib/mediashelf/active_fedora_helper.rb +72 -0
- data/lib/railties/all_tests.rake +23 -0
- data/lib/railties/hydra-fixtures.rake +184 -0
- data/lib/railties/hydra_jetty.rake +79 -0
- data/lib/railties/hyhead_cucumber.rake +127 -0
- data/lib/railties/hyhead_rspec.rake +137 -0
- data/lib/stanford/searchworks_helper.rb +1338 -0
- data/lib/stanford/solr_helper.rb +108 -0
- data/lib/uva/mods_index_methods.rb +24 -0
- data/solr_conf/conf/schema.xml +122 -0
- data/solr_conf/conf/solrconfig.xml +332 -0
- data/solr_conf/solr.xml +35 -0
- data/tasks/hydra-head-fixtures.rake +54 -0
- data/tasks/hydra-head.rake +247 -0
- data/tasks/hydra_jetty.rake +79 -0
- data/tasks/replicator.rake +27 -0
- data/tasks/solrizer-fedora.rake +53 -0
- data/tasks/solrizer.rake +13 -0
- data/test_support/etc/Gemfile +29 -0
- data/test_support/etc/rvmrc +32 -0
- data/test_support/features/button_add_assets.feature +22 -0
- data/test_support/features/button_add_generic_content.feature +11 -0
- data/test_support/features/button_add_image.feature +11 -0
- data/test_support/features/button_add_mods_asset.feature +11 -0
- data/test_support/features/contributor_add.feature +39 -0
- data/test_support/features/file_assets_list.feature +32 -0
- data/test_support/features/file_upload.feature +40 -0
- data/test_support/features/home_page.feature +9 -0
- data/test_support/features/html_validity.feature +47 -0
- data/test_support/features/mods_asset_contributors_edit.feature +80 -0
- data/test_support/features/mods_asset_create.feature +12 -0
- data/test_support/features/mods_asset_edit.feature +33 -0
- data/test_support/features/mods_asset_edit_without_permission.feature +10 -0
- data/test_support/features/mods_asset_search_result.feature +13 -0
- data/test_support/features/mods_asset_show.feature +39 -0
- data/test_support/features/permissions_add.feature +15 -0
- data/test_support/features/permissions_edit.feature +63 -0
- data/test_support/features/step_definitions/catalog_index_steps.rb +14 -0
- data/test_support/features/step_definitions/create_asset_steps.rb +7 -0
- data/test_support/features/step_definitions/edit_metadata_steps.rb +73 -0
- data/test_support/features/step_definitions/file_list_steps.rb +28 -0
- data/test_support/features/step_definitions/hydra_metadata_steps.rb +3 -0
- data/test_support/features/step_definitions/hydra_steps.rb +8 -0
- data/test_support/features/step_definitions/inline_editable_edit_steps.rb +77 -0
- data/test_support/features/step_definitions/search_steps.rb +88 -0
- data/test_support/features/step_definitions/searching_steps.rb +22 -0
- data/test_support/features/step_definitions/show_document_steps.rb +85 -0
- data/test_support/features/step_definitions/user_steps.rb +36 -0
- data/test_support/features/step_definitions/web_steps.rb +219 -0
- data/test_support/features/support/env.rb +55 -0
- data/test_support/features/support/paths.rb +80 -0
- data/test_support/features/switch_users.feature +14 -0
- data/test_support/features/view_catalog_index.feature +18 -0
- data/test_support/fixtures/empty_file.txt +0 -0
- data/test_support/fixtures/hydrangea_fixture_archivist_only_mods_article.foxml.xml +1212 -0
- data/test_support/fixtures/hydrangea_fixture_file_asset1.foxml.xml +4946 -0
- data/test_support/fixtures/hydrangea_fixture_mods_article1.foxml.xml +234 -0
- data/test_support/fixtures/hydrangea_fixture_mods_article2.foxml.xml +177 -0
- data/test_support/fixtures/hydrangea_fixture_mods_article3.foxml.xml +170 -0
- data/test_support/fixtures/hydrangea_fixture_mods_dataset1.foxml.xml +187 -0
- data/test_support/fixtures/hydrangea_fixture_uploaded_svg1.foxml.xml +676 -0
- data/test_support/fixtures/image.jp2 +0 -0
- data/test_support/fixtures/libra-oa_1.foxml.xml +2324 -0
- data/test_support/fixtures/libra-oa_2.foxml.xml +2422 -0
- data/test_support/spec/controllers/assets_controller_spec.rb +113 -0
- data/test_support/spec/controllers/catalog_controller_spec.rb +148 -0
- data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +62 -0
- data/test_support/spec/controllers/contributors_controller_spec.rb +47 -0
- data/test_support/spec/controllers/file_assets_controller_spec.rb +189 -0
- data/test_support/spec/controllers/hydra_controller_spec.rb +15 -0
- data/test_support/spec/controllers/permissions_controller_spec.rb +80 -0
- data/test_support/spec/controllers/user_sessions_controller_spec.rb +35 -0
- data/test_support/spec/generators/hydra-head_generator_spec.rb +14 -0
- data/test_support/spec/helpers/access_controls_enforcement_spec.rb +212 -0
- data/test_support/spec/helpers/access_controls_evaluation_spec.rb +35 -0
- data/test_support/spec/helpers/assets_controller_helper_spec.rb +71 -0
- data/test_support/spec/helpers/blacklight_helper_spec.rb +64 -0
- data/test_support/spec/helpers/file_assets_helper_spec.rb +107 -0
- data/test_support/spec/helpers/hydra-repository_controller_spec.rb +32 -0
- data/test_support/spec/helpers/hydra_assets_helper_spec.rb +195 -0
- data/test_support/spec/helpers/hydra_djatoka_helper_spec.rb +32 -0
- data/test_support/spec/helpers/hydra_fedora_metadata_helper_spec.rb +215 -0
- data/test_support/spec/helpers/hydra_helper_spec.rb +73 -0
- data/test_support/spec/helpers/hydra_model_methods_spec.rb +95 -0
- data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +18 -0
- data/test_support/spec/helpers/javascript_includes_helper_spec.rb +43 -0
- data/test_support/spec/integration/file_asset_spec.rb +150 -0
- data/test_support/spec/lib/active_fedora_helper_spec.rb +56 -0
- data/test_support/spec/lib/catalog_spec.rb +16 -0
- data/test_support/spec/lib/common_mods_index_methods_spec.rb +28 -0
- data/test_support/spec/models/audio_asset_spec.rb +23 -0
- data/test_support/spec/models/file_asset_spec.rb +42 -0
- data/test_support/spec/models/generic_content_spec.rb +29 -0
- data/test_support/spec/models/generic_image_spec.rb +58 -0
- data/test_support/spec/models/hydra_rights_metadata_spec.rb +162 -0
- data/test_support/spec/models/image_asset_spec.rb +23 -0
- data/test_support/spec/models/mods_asset_spec.rb +29 -0
- data/test_support/spec/models/role_mapper_spec.rb +22 -0
- data/test_support/spec/models/user_spec.rb +52 -0
- data/test_support/spec/models/video_asset_spec.rb +23 -0
- data/test_support/spec/rcov.opts +3 -0
- data/test_support/spec/spec.opts +4 -0
- data/test_support/spec/spec_helper.rb +44 -0
- data/test_support/spec/support/matchers/helper_matcher.rb +14 -0
- data/test_support/spec/support/matchers/solr_matchers.rb +60 -0
- data/test_support/spec/unit/hydra-head-engine_spec.rb +8 -0
- data/test_support/spec/unit/hydra-head_spec.rb +8 -0
- data/test_support/spec/utilities/hydra_testing_server_spec.rb +49 -0
- data/test_support/spec/views/uploader.html.erb_spec.rb +30 -0
- data/vendor/cache/RedCloth-4.2.3.gem +0 -0
- data/vendor/cache/abstract-1.0.0.gem +0 -0
- data/vendor/cache/actionmailer-3.0.9.gem +0 -0
- data/vendor/cache/actionpack-3.0.9.gem +0 -0
- data/vendor/cache/active-fedora-2.3.3.gem +0 -0
- data/vendor/cache/activemodel-3.0.9.gem +0 -0
- data/vendor/cache/activerecord-3.0.9.gem +0 -0
- data/vendor/cache/activeresource-3.0.9.gem +0 -0
- data/vendor/cache/activesupport-3.0.9.gem +0 -0
- data/vendor/cache/arel-2.0.10.gem +0 -0
- data/vendor/cache/blacklight-3.0.0.gem +0 -0
- data/vendor/cache/block_helpers-0.3.3.gem +0 -0
- data/vendor/cache/builder-2.1.2.gem +0 -0
- data/vendor/cache/capybara-1.0.0.gem +0 -0
- data/vendor/cache/childprocess-0.2.0.gem +0 -0
- data/vendor/cache/columnize-0.3.4.gem +0 -0
- data/vendor/cache/crack-0.1.8.gem +0 -0
- data/vendor/cache/cucumber-1.0.2.gem +0 -0
- data/vendor/cache/cucumber-rails-1.0.2.gem +0 -0
- data/vendor/cache/curb-0.7.15.gem +0 -0
- data/vendor/cache/daemons-1.1.4.gem +0 -0
- data/vendor/cache/database_cleaner-0.6.7.gem +0 -0
- data/vendor/cache/diff-lcs-1.1.2.gem +0 -0
- data/vendor/cache/equivalent-xml-0.2.7.gem +0 -0
- data/vendor/cache/erubis-2.6.6.gem +0 -0
- data/vendor/cache/facets-2.8.4.gem +0 -0
- data/vendor/cache/factory_girl-1.3.3.gem +0 -0
- data/vendor/cache/fastercsv-1.5.4.gem +0 -0
- data/vendor/cache/ffi-1.0.9.gem +0 -0
- data/vendor/cache/gherkin-2.4.5.gem +0 -0
- data/vendor/cache/haml-3.1.2.gem +0 -0
- data/vendor/cache/httparty-0.7.8.gem +0 -0
- data/vendor/cache/i18n-0.5.0.gem +0 -0
- data/vendor/cache/jettywrapper-0.0.10.gem +0 -0
- data/vendor/cache/json-1.5.3.gem +0 -0
- data/vendor/cache/json_pure-1.5.3.gem +0 -0
- data/vendor/cache/kaminari-0.12.4.gem +0 -0
- data/vendor/cache/launchy-2.0.3.gem +0 -0
- data/vendor/cache/linecache-0.46.gem +0 -0
- data/vendor/cache/logger-1.2.8.gem +0 -0
- data/vendor/cache/mail-2.2.19.gem +0 -0
- data/vendor/cache/marc-0.4.3.gem +0 -0
- data/vendor/cache/mediashelf-loggable-0.4.2.gem +0 -0
- data/vendor/cache/mime-types-1.16.gem +0 -0
- data/vendor/cache/mocha-0.9.12.gem +0 -0
- data/vendor/cache/multipart-post-1.1.2.gem +0 -0
- data/vendor/cache/nokogiri-1.5.0.gem +0 -0
- data/vendor/cache/om-1.2.5.gem +0 -0
- data/vendor/cache/polyglot-0.3.1.gem +0 -0
- data/vendor/cache/rack-1.2.3.gem +0 -0
- data/vendor/cache/rack-mount-0.6.14.gem +0 -0
- data/vendor/cache/rack-test-0.5.7.gem +0 -0
- data/vendor/cache/rails-3.0.9.gem +0 -0
- data/vendor/cache/railties-3.0.9.gem +0 -0
- data/vendor/cache/rake-0.9.2.gem +0 -0
- data/vendor/cache/rbx-require-relative-0.0.5.gem +0 -0
- data/vendor/cache/rcov-0.9.9.gem +0 -0
- data/vendor/cache/rdoc-3.8.gem +0 -0
- data/vendor/cache/rsolr-1.0.2.gem +0 -0
- data/vendor/cache/rsolr-ext-1.0.3.gem +0 -0
- data/vendor/cache/rspec-2.6.0.gem +0 -0
- data/vendor/cache/rspec-core-2.6.4.gem +0 -0
- data/vendor/cache/rspec-expectations-2.6.0.gem +0 -0
- data/vendor/cache/rspec-mocks-2.6.0.gem +0 -0
- data/vendor/cache/rspec-rails-2.6.1.gem +0 -0
- data/vendor/cache/ruby-debug-0.10.4.gem +0 -0
- data/vendor/cache/ruby-debug-base-0.10.4.gem +0 -0
- data/vendor/cache/rubyzip-0.9.4.gem +0 -0
- data/vendor/cache/sanitize-2.0.3.gem +0 -0
- data/vendor/cache/selenium-webdriver-0.2.2.gem +0 -0
- data/vendor/cache/solr-ruby-0.0.8.gem +0 -0
- data/vendor/cache/solrizer-1.1.0.gem +0 -0
- data/vendor/cache/solrizer-fedora-1.1.0.gem +0 -0
- data/vendor/cache/sqlite3-ruby-1.2.5.gem +0 -0
- data/vendor/cache/stomp-1.1.9.gem +0 -0
- data/vendor/cache/term-ansicolor-1.0.5.gem +0 -0
- data/vendor/cache/thor-0.14.6.gem +0 -0
- data/vendor/cache/treetop-1.4.9.gem +0 -0
- data/vendor/cache/trollop-1.16.2.gem +0 -0
- data/vendor/cache/tzinfo-0.3.29.gem +0 -0
- data/vendor/cache/unicode-0.4.0.gem +0 -0
- data/vendor/cache/will_paginate-2.3.15.gem +0 -0
- data/vendor/cache/xml-simple-1.1.0.gem +0 -0
- data/vendor/cache/xpath-0.1.4.gem +0 -0
- data/vendor/cache/yard-0.7.2.gem +0 -0
- metadata +1110 -0
@@ -0,0 +1,55 @@
|
|
1
|
+
<% unless defined?(asset_id) %>
|
2
|
+
<% asset_id = params[:asset_id] %>
|
3
|
+
<% end %>
|
4
|
+
<form id="permissions_metadata" action="<%= url_for(:asset_id=>@document_fedora.pid,:action=>"update", :controller=>"permissions") %>" method="post" accept-charset="utf-8">
|
5
|
+
<input type="hidden" name="_method" value="put"/>
|
6
|
+
<fieldset class="slider">
|
7
|
+
<legend>Group Permissions</legend>
|
8
|
+
<dl>
|
9
|
+
<% choices = [{"No Access"=>"none"},{"Discover" => "discover"}, {"Read & Download" => "read"}, {"Edit & Upload" => "edit"}] %>
|
10
|
+
<% roles = RoleMapper.role_names %>
|
11
|
+
<%# This next line should be conditional upon a person having Publish permissions on the object's collection %>
|
12
|
+
<% roles << "public" %>
|
13
|
+
<% roles.each do |role| %>
|
14
|
+
<% role_permissions = @document_fedora.datastreams_in_memory["rightsMetadata"].permissions({"group"=>role}) %>
|
15
|
+
<% field_name = "#{role}_group_access" %>
|
16
|
+
<dt class="permissions">
|
17
|
+
<label for="<%=h field_name %>">
|
18
|
+
<%= role.capitalize %>
|
19
|
+
</label>
|
20
|
+
</dt>
|
21
|
+
<dd id="<%=h "#{field_name}-container" %>" class="permissions">
|
22
|
+
<select id="<%=h field_name %>" name="permission[group][<%=h role %>]">
|
23
|
+
<% choices.each do |choice| %>
|
24
|
+
<% choice_label = choice.keys.first.html_safe %>
|
25
|
+
<% choice_name = choice.values.first %>
|
26
|
+
<% if role_permissions == choice_name %>
|
27
|
+
<option value="<%=h choice_name %>" selected="selected">
|
28
|
+
<%= choice_label %>
|
29
|
+
</option>
|
30
|
+
<% else %>
|
31
|
+
<option value="<%=h choice_name %>">
|
32
|
+
<%= choice_label %>
|
33
|
+
</option>
|
34
|
+
<% end %>
|
35
|
+
<% end %>
|
36
|
+
</select>
|
37
|
+
</dd>
|
38
|
+
<% end %>
|
39
|
+
</dl>
|
40
|
+
</fieldset>
|
41
|
+
<fieldset id="individual_permissions" class="slider">
|
42
|
+
<legend>Individual Permissions</legend>
|
43
|
+
<dl>
|
44
|
+
<% choices = [{"Discover" => "discover"}, {"Read & Download" => "read"}, {"Edit & Upload" => "edit"}] %>
|
45
|
+
<% individual_permissions = {} %>
|
46
|
+
<% choices.each do |choice| %>
|
47
|
+
<% choice_name = choice.values.first %>
|
48
|
+
<% individual_permissions[choice_name] = get_values_from_datastream(@document_fedora,"rightsMetadata", ["#{choice_name}_access".to_sym, :person]) %>
|
49
|
+
<% end %>
|
50
|
+
<%= render :partial=>"permissions/edit_person_permissions.html", :collection=>@document_fedora.datastreams_in_memory["rightsMetadata"].find_by_terms(:access, :person) %>
|
51
|
+
</dl>
|
52
|
+
</fieldset>
|
53
|
+
<%= submit_tag 'Save Permissions', {:id => "submitPermissions"} %>
|
54
|
+
</form>
|
55
|
+
<%= render :partial=>"permissions/new.html", :locals=>{:asset_id=>asset_id} %>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<% unless defined?(asset_id) %>
|
2
|
+
<% asset_id = params[:asset_id] %>
|
3
|
+
<% end %>
|
4
|
+
<div id="add_permissions" class="slider">
|
5
|
+
<h2>Add Individual Permissions</h2>
|
6
|
+
<form id="new_permissions" action="<%= url_for(:action=>"create", :controller=>"permissions", :asset_id=>asset_id) %>" method="post">
|
7
|
+
<input id="permission_actor_type" type="hidden" name="permission[actor_type]" value="person" />
|
8
|
+
<label for="permission_actor_id">User ID</label>
|
9
|
+
<input id="permission_actor_id" name="permission[actor_id]" />
|
10
|
+
<label for="permission_level">Permission Level</label>
|
11
|
+
<select id="permission_level" name="permission[access_level]">
|
12
|
+
<option value="discover">Discover</option>
|
13
|
+
<option value="read">Read & Download</option>
|
14
|
+
<option value="edit">Edit & Upload</option>
|
15
|
+
</select>
|
16
|
+
<input type="submit" value="Add Permissions" />
|
17
|
+
</form>
|
18
|
+
</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial=>"permissions/index" %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial=>"permissions/new" %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div id="delete_dialog_container" style="display:none;">
|
2
|
+
<div id="delete_dialog">
|
3
|
+
<%= form_tag(url_for(:action => "destroy", :controller => "assets", :id => pid, :method => "delete")) %>
|
4
|
+
<div>
|
5
|
+
<span>Permanently delete <%= title %> and its assets from the repository?</span><br/>
|
6
|
+
<div id="deletable_assets"></div>
|
7
|
+
</div>
|
8
|
+
<div class="button">
|
9
|
+
<%= submit_tag("Delete") %>
|
10
|
+
</div>
|
11
|
+
<div class="button">
|
12
|
+
<%= button_to_function("Cancel", "$('div#delete_dialog_container').fadeOut();"); %>
|
13
|
+
</div>
|
14
|
+
<%= hidden_field_tag("_method", "delete") %>
|
15
|
+
</form>
|
16
|
+
</div>
|
17
|
+
</div>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% form_for @user_session do |f| %>
|
2
|
+
<div class="row"><%= f.label :login %> <%= f.text_field :login %></div>
|
3
|
+
<div class="row"><%= f.label :password %> <%= f.password_field :password %></div>
|
4
|
+
<% if @redirect_params %>
|
5
|
+
<%= hidden_field_tag "redirect_action", @redirect_params[:action] %>
|
6
|
+
<%= hidden_field_tag "redirect_controller", @redirect_params[:controller] %>
|
7
|
+
<%= hidden_field_tag "redirect_content_type", @redirect_params[:content_type] %>
|
8
|
+
<% end %>
|
9
|
+
<div class="row submit"><%= f.submit 'Login' %></div>
|
10
|
+
<% end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
You have successfully logged out. To prevent unauthorized access to your <a href="http://www.itc.virginia.edu/netbadge/">Netbadge account</a>, <b>close all web browsers</b> at this time.
|
data/config/routes.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
Rails.application.routes.draw do
|
2
|
+
|
3
|
+
# Routes for the HydraHead application are defined in HydraHead::Routes
|
4
|
+
#
|
5
|
+
# These routes can be injected into your Rails application by adding
|
6
|
+
# HydraHead.add_routes(self)
|
7
|
+
# to the application's ./config/routes.rb. The injected routes can be
|
8
|
+
# customized as well, e.g.:
|
9
|
+
# HydraHead.add_routes(self, :only => [:file_assets]) # will only load file_asset routes
|
10
|
+
# HydraHead.add_routes(self, :except => [:catalog]) # will not load catalog routes
|
11
|
+
end
|
12
|
+
|
@@ -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 "myfedora" 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 "inline" 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 "inline" 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 "attachment" 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 " ".</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
|
+
"false". Valid values are "true" or
|
145
|
+
"false".</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 "utf-8". 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, '.', or '-' (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 "X" or "M".</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 "X" or "M".</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 "localhost" will not work if you have remote backend services
|
260
|
+
since the hostname of "localhost" 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'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'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 "built-in" 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 "built-in" 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 "internal service" 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 "built-in" 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 "built-in" to the
|
301
|
+
Fedora system, and are dynamically associated with every object.
|
302
|
+
This class can be though of as implementing an "internal service"
|
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 > 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 > 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'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'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 "alias:" and is followed by
|
379
|
+
the name of the alias (shortcut) for the value, which is a URI
|
380
|
+
prefix. For example: name="alias:test"
|
381
|
+
value="http://example.org/terms#" 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&characterEncoding=UTF-8&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 'validationQuery' 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't already exist.
|
928
|
+
At startup, the model will be automatically created. In addition, an
|
929
|
+
XML schema datatyped model named "xsd" 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'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, "apimUpdate" and
|
1002
|
+
"apimAccess" 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, "apimUpdate" and
|
1014
|
+
"apimAccess" 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>
|