hydra_mediated 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/.rspec +1 -0
- data/Gemfile +7 -0
- data/HYDRA_MEDIATED_VERSION +1 -0
- data/README.md +36 -0
- data/Rakefile +5 -0
- data/app/assets/images/blacklight/bg.png +0 -0
- data/app/assets/images/blacklight/border.png +0 -0
- data/app/assets/images/blacklight/bul_sq_gry.gif +0 -0
- data/app/assets/images/blacklight/checkmark.gif +0 -0
- data/app/assets/images/blacklight/logo.png +0 -0
- data/app/assets/images/blacklight/magnifying_glass.gif +0 -0
- data/app/assets/images/blacklight/remove.gif +0 -0
- data/app/assets/images/blacklight/separator.gif +0 -0
- data/app/assets/images/blacklight/start_over.gif +0 -0
- data/app/assets/images/rails.png +0 -0
- data/app/assets/javascripts/application.js +17 -0
- data/app/assets/javascripts/items.js.coffee +3 -0
- data/app/assets/stylesheets/application.css +14 -0
- data/app/assets/stylesheets/blacklight.css.scss +4 -0
- data/app/assets/stylesheets/items.css.scss +3 -0
- data/app/controllers/application_controller.rb +10 -0
- data/app/controllers/catalog_controller.rb +165 -0
- data/app/controllers/items_controller.rb +34 -0
- data/app/controllers/submissions_controller.rb +7 -0
- data/app/helpers/application_helper.rb +2 -0
- data/app/helpers/items_helper.rb +5 -0
- data/app/mailers/.gitkeep +0 -0
- data/app/models/.gitkeep +0 -0
- data/app/models/ability.rb +3 -0
- data/app/models/ead.rb +3 -0
- data/app/models/etd.rb +3 -0
- data/app/models/generic.rb +3 -0
- data/app/models/generic_file.rb +3 -0
- data/app/models/item.rb +4 -0
- data/app/models/solr_document.rb +33 -0
- data/app/models/user.rb +22 -0
- data/app/views/catalog/_home_text.html.erb +9 -0
- data/app/views/catalog/_show_tools.html.erb +44 -0
- data/app/views/devise/confirmations/new.html.erb +12 -0
- data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
- data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/devise/passwords/edit.html.erb +16 -0
- data/app/views/devise/passwords/new.html.erb +12 -0
- data/app/views/devise/registrations/edit.html.erb +29 -0
- data/app/views/devise/registrations/new.html.erb +18 -0
- data/app/views/devise/sessions/new.html.erb +17 -0
- data/app/views/devise/shared/_links.erb +25 -0
- data/app/views/devise/unlocks/new.html.erb +12 -0
- data/app/views/items/done.html.erb +3 -0
- data/app/views/items/edit.html.erb +25 -0
- data/app/views/items/new.html.erb +22 -0
- data/app/views/items/submit.html.erb +6 -0
- data/app/views/items/upload.html.erb +5 -0
- data/app/views/layouts/application.html.erb +14 -0
- data/app/views/submissions/new.html.erb +13 -0
- data/config.ru +4 -0
- data/config/SolrMarc/config-test.properties +37 -0
- data/config/SolrMarc/config.properties +37 -0
- data/config/SolrMarc/index.properties +97 -0
- data/config/SolrMarc/index_scripts/dewey.bsh +47 -0
- data/config/SolrMarc/index_scripts/format.bsh +126 -0
- data/config/SolrMarc/translation_maps/README_MAPS +1 -0
- data/config/SolrMarc/translation_maps/callnumber_map.properties +407 -0
- data/config/SolrMarc/translation_maps/composition_era_map.properties +56 -0
- data/config/SolrMarc/translation_maps/country_map.properties +379 -0
- data/config/SolrMarc/translation_maps/format_map.properties +50 -0
- data/config/SolrMarc/translation_maps/instrument_map.properties +101 -0
- data/config/SolrMarc/translation_maps/language_map.properties +490 -0
- data/config/application.rb +66 -0
- data/config/boot.rb +6 -0
- data/config/database.yml +25 -0
- data/config/environment.rb +5 -0
- data/config/locales/devise.en.yml +59 -0
- data/config/locales/en.yml +5 -0
- data/config/routes.rb +20 -0
- data/db/migrate/20130606160529_devise_create_users.rb +46 -0
- data/db/migrate/20130606160531_add_devise_guests_to_users.rb +15 -0
- data/db/migrate/20130606160536_create_searches.rb +16 -0
- data/db/migrate/20130606160537_create_bookmarks.rb +18 -0
- data/db/migrate/20130606160538_remove_editable_fields_from_bookmarks.rb +12 -0
- data/db/migrate/20130606160539_add_user_types_to_bookmarks_searches.rb +16 -0
- data/db/schema.rb +54 -0
- data/db/seeds.rb +7 -0
- data/doc/README_FOR_APP +2 -0
- data/fedora_conf/conf/development/fedora.fcfg +953 -0
- data/fedora_conf/conf/test/fedora.fcfg +953 -0
- data/hydra_mediated.gemspec +22 -0
- data/lib/assets/.gitkeep +0 -0
- data/lib/hydra/mediated/ability.rb +17 -0
- data/lib/hydra/mediated/generic_file.rb +13 -0
- data/lib/hydra/mediated/item.rb +35 -0
- data/lib/hydra_mediated.rb +21 -0
- data/lib/tasks/.gitkeep +0 -0
- data/log/.gitkeep +0 -0
- data/public/404.html +26 -0
- data/public/422.html +26 -0
- data/public/500.html +25 -0
- data/public/favicon.ico +0 -0
- data/public/robots.txt +5 -0
- data/script/rails +6 -0
- data/solr_conf/conf/schema.xml +273 -0
- data/solr_conf/conf/solrconfig.xml +167 -0
- data/solr_conf/solr.xml +35 -0
- data/spec/controllers/items_controller_spec.rb +56 -0
- data/spec/helpers/items_helper_spec.rb +8 -0
- data/spec/models/ability_spec.rb +24 -0
- data/spec/models/item_spec.rb +26 -0
- data/spec/spec_helper.rb +33 -0
- data/test/fixtures/.gitkeep +0 -0
- data/test/fixtures/users.yml +11 -0
- data/test/functional/.gitkeep +0 -0
- data/test/integration/.gitkeep +0 -0
- data/test/performance/browsing_test.rb +12 -0
- data/test/test_helper.rb +13 -0
- data/test/unit/.gitkeep +0 -0
- data/test/unit/user_test.rb +7 -0
- data/vendor/assets/javascripts/.gitkeep +0 -0
- data/vendor/assets/stylesheets/.gitkeep +0 -0
- data/vendor/plugins/.gitkeep +0 -0
- metadata +222 -0
@@ -0,0 +1,66 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
require 'rails/all'
|
4
|
+
|
5
|
+
if defined?(Bundler)
|
6
|
+
# If you precompile assets before deploying to production, use this line
|
7
|
+
Bundler.require(*Rails.groups(:assets => %w(development test)))
|
8
|
+
# If you want your assets lazily compiled in production, use this line
|
9
|
+
# Bundler.require(:default, :assets, Rails.env)
|
10
|
+
end
|
11
|
+
|
12
|
+
module HydraMediated
|
13
|
+
class Application < Rails::Application
|
14
|
+
# Settings in config/environments/* take precedence over those specified here.
|
15
|
+
# Application configuration should go into files in config/initializers
|
16
|
+
# -- all .rb files in that directory are automatically loaded.
|
17
|
+
|
18
|
+
# Custom directories with classes and modules you want to be autoloadable.
|
19
|
+
config.autoload_paths += %W(#{config.root}/lib)
|
20
|
+
|
21
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
22
|
+
# :all can be used as a placeholder for all plugins not explicitly named.
|
23
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
24
|
+
|
25
|
+
# Activate observers that should always be running.
|
26
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
27
|
+
|
28
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
29
|
+
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
30
|
+
# config.time_zone = 'Central Time (US & Canada)'
|
31
|
+
|
32
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
33
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
34
|
+
# config.i18n.default_locale = :de
|
35
|
+
|
36
|
+
# Configure the default encoding used in templates for Ruby 1.9.
|
37
|
+
config.encoding = "utf-8"
|
38
|
+
|
39
|
+
# Configure sensitive parameters which will be filtered from the log file.
|
40
|
+
config.filter_parameters += [:password]
|
41
|
+
|
42
|
+
# Enable escaping HTML in JSON.
|
43
|
+
config.active_support.escape_html_entities_in_json = true
|
44
|
+
|
45
|
+
# Use SQL instead of Active Record's schema dumper when creating the database.
|
46
|
+
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
47
|
+
# like if you have constraints or database-specific column types
|
48
|
+
# config.active_record.schema_format = :sql
|
49
|
+
|
50
|
+
# Enforce whitelist mode for mass assignment.
|
51
|
+
# This will create an empty whitelist of attributes available for mass-assignment for all models
|
52
|
+
# in your app. As such, your models will need to explicitly whitelist or blacklist accessible
|
53
|
+
# parameters by using an attr_accessible or attr_protected declaration.
|
54
|
+
config.active_record.whitelist_attributes = true
|
55
|
+
|
56
|
+
# Enable the asset pipeline
|
57
|
+
config.assets.enabled = true
|
58
|
+
# Default SASS Configuration, check out https://github.com/rails/sass-rails for details
|
59
|
+
config.assets.compress = !Rails.env.development?
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
# Version of your assets, change this if you want to expire all your assets
|
64
|
+
config.assets.version = '1.0'
|
65
|
+
end
|
66
|
+
end
|
data/config/boot.rb
ADDED
data/config/database.yml
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# SQLite version 3.x
|
2
|
+
# gem install sqlite3
|
3
|
+
#
|
4
|
+
# Ensure the SQLite 3 gem is defined in your Gemfile
|
5
|
+
# gem 'sqlite3'
|
6
|
+
development:
|
7
|
+
adapter: sqlite3
|
8
|
+
database: db/development.sqlite3
|
9
|
+
pool: 5
|
10
|
+
timeout: 5000
|
11
|
+
|
12
|
+
# Warning: The database defined as "test" will be erased and
|
13
|
+
# re-generated from your development database when you run "rake".
|
14
|
+
# Do not set this db to the same as development or production.
|
15
|
+
test:
|
16
|
+
adapter: sqlite3
|
17
|
+
database: db/test.sqlite3
|
18
|
+
pool: 5
|
19
|
+
timeout: 5000
|
20
|
+
|
21
|
+
production:
|
22
|
+
adapter: sqlite3
|
23
|
+
database: db/production.sqlite3
|
24
|
+
pool: 5
|
25
|
+
timeout: 5000
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
|
2
|
+
|
3
|
+
en:
|
4
|
+
devise:
|
5
|
+
confirmations:
|
6
|
+
confirmed: "Your account was successfully confirmed. You are now signed in."
|
7
|
+
send_instructions: "You will receive an email with instructions about how to confirm your account in a few minutes."
|
8
|
+
send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions about how to confirm your account in a few minutes."
|
9
|
+
failure:
|
10
|
+
already_authenticated: "You are already signed in."
|
11
|
+
inactive: "Your account was not activated yet."
|
12
|
+
invalid: "Invalid email or password."
|
13
|
+
invalid_token: "Invalid authentication token."
|
14
|
+
locked: "Your account is locked."
|
15
|
+
not_found_in_database: "Invalid email or password."
|
16
|
+
timeout: "Your session expired, please sign in again to continue."
|
17
|
+
unauthenticated: "You need to sign in or sign up before continuing."
|
18
|
+
unconfirmed: "You have to confirm your account before continuing."
|
19
|
+
mailer:
|
20
|
+
confirmation_instructions:
|
21
|
+
subject: "Confirmation instructions"
|
22
|
+
reset_password_instructions:
|
23
|
+
subject: "Reset password instructions"
|
24
|
+
unlock_instructions:
|
25
|
+
subject: "Unlock Instructions"
|
26
|
+
omniauth_callbacks:
|
27
|
+
failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
|
28
|
+
success: "Successfully authenticated from %{kind} account."
|
29
|
+
passwords:
|
30
|
+
no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
|
31
|
+
send_instructions: "You will receive an email with instructions about how to reset your password in a few minutes."
|
32
|
+
send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
|
33
|
+
updated: "Your password was changed successfully. You are now signed in."
|
34
|
+
updated_not_active: "Your password was changed successfully."
|
35
|
+
registrations:
|
36
|
+
destroyed: "Bye! Your account was successfully cancelled. We hope to see you again soon."
|
37
|
+
signed_up: "Welcome! You have signed up successfully."
|
38
|
+
signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
|
39
|
+
signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
|
40
|
+
signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please open the link to activate your account."
|
41
|
+
update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and click on the confirm link to finalize confirming your new email address."
|
42
|
+
updated: "You updated your account successfully."
|
43
|
+
sessions:
|
44
|
+
signed_in: "Signed in successfully."
|
45
|
+
signed_out: "Signed out successfully."
|
46
|
+
unlocks:
|
47
|
+
send_instructions: "You will receive an email with instructions about how to unlock your account in a few minutes."
|
48
|
+
send_paranoid_instructions: "If your account exists, you will receive an email with instructions about how to unlock it in a few minutes."
|
49
|
+
unlocked: "Your account has been unlocked successfully. Please sign in to continue."
|
50
|
+
errors:
|
51
|
+
messages:
|
52
|
+
already_confirmed: "was already confirmed, please try signing in"
|
53
|
+
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
|
54
|
+
expired: "has expired, please request a new one"
|
55
|
+
not_found: "not found"
|
56
|
+
not_locked: "was not locked"
|
57
|
+
not_saved:
|
58
|
+
one: "1 error prohibited this %{resource} from being saved:"
|
59
|
+
other: "%{count} errors prohibited this %{resource} from being saved:"
|
data/config/routes.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
HydraMediated::Engine.routes.draw do
|
2
|
+
# root :to => "catalog#index"
|
3
|
+
|
4
|
+
# Blacklight.add_routes(self)
|
5
|
+
# HydraHead.add_routes(self)
|
6
|
+
|
7
|
+
resources :submissions, only: :new
|
8
|
+
|
9
|
+
resources :items do
|
10
|
+
member do
|
11
|
+
get :upload
|
12
|
+
get :submit
|
13
|
+
post :upload
|
14
|
+
put :done # rails 3
|
15
|
+
patch :done # rails 4
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# devise_for :users
|
20
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
class DeviseCreateUsers < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table(:users) do |t|
|
4
|
+
## Database authenticatable
|
5
|
+
t.string :email, :null => false, :default => ""
|
6
|
+
t.string :encrypted_password, :null => false, :default => ""
|
7
|
+
|
8
|
+
## Recoverable
|
9
|
+
t.string :reset_password_token
|
10
|
+
t.datetime :reset_password_sent_at
|
11
|
+
|
12
|
+
## Rememberable
|
13
|
+
t.datetime :remember_created_at
|
14
|
+
|
15
|
+
## Trackable
|
16
|
+
t.integer :sign_in_count, :default => 0
|
17
|
+
t.datetime :current_sign_in_at
|
18
|
+
t.datetime :last_sign_in_at
|
19
|
+
t.string :current_sign_in_ip
|
20
|
+
t.string :last_sign_in_ip
|
21
|
+
|
22
|
+
## Confirmable
|
23
|
+
# t.string :confirmation_token
|
24
|
+
# t.datetime :confirmed_at
|
25
|
+
# t.datetime :confirmation_sent_at
|
26
|
+
# t.string :unconfirmed_email # Only if using reconfirmable
|
27
|
+
|
28
|
+
## Lockable
|
29
|
+
# t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
|
30
|
+
# t.string :unlock_token # Only if unlock strategy is :email or :both
|
31
|
+
# t.datetime :locked_at
|
32
|
+
|
33
|
+
## Token authenticatable
|
34
|
+
# t.string :authentication_token
|
35
|
+
|
36
|
+
|
37
|
+
t.timestamps
|
38
|
+
end
|
39
|
+
|
40
|
+
add_index :users, :email, :unique => true
|
41
|
+
add_index :users, :reset_password_token, :unique => true
|
42
|
+
# add_index :users, :confirmation_token, :unique => true
|
43
|
+
# add_index :users, :unlock_token, :unique => true
|
44
|
+
# add_index :users, :authentication_token, :unique => true
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class AddDeviseGuestsToUsers < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
change_table(:users) do |t|
|
4
|
+
## Database authenticatable
|
5
|
+
t.boolean :guest, :default => false
|
6
|
+
end
|
7
|
+
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.down
|
11
|
+
# By default, we don't want to make any assumption about how to roll back a migration when your
|
12
|
+
# model already existed. Please edit below which fields you would like to remove in this migration.
|
13
|
+
raise ActiveRecord::IrreversibleMigration
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class CreateSearches < ActiveRecord::Migration
|
3
|
+
def self.up
|
4
|
+
create_table :searches do |t|
|
5
|
+
t.text :query_params
|
6
|
+
t.integer :user_id
|
7
|
+
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
add_index :searches, :user_id
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.down
|
14
|
+
drop_table :searches
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class CreateBookmarks < ActiveRecord::Migration
|
3
|
+
def self.up
|
4
|
+
create_table :bookmarks do |t|
|
5
|
+
t.integer :user_id, :null=>false
|
6
|
+
t.text :url
|
7
|
+
t.string :document_id
|
8
|
+
t.string :title
|
9
|
+
t.text :notes
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.down
|
15
|
+
drop_table :bookmarks
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class RemoveEditableFieldsFromBookmarks < ActiveRecord::Migration
|
3
|
+
def self.up
|
4
|
+
remove_column :bookmarks, :notes
|
5
|
+
remove_column :bookmarks, :url
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.down
|
9
|
+
add_column :bookmarks, :notes, :text
|
10
|
+
add_column :bookmarks, :url, :string
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class AddUserTypesToBookmarksSearches < ActiveRecord::Migration
|
3
|
+
def self.up
|
4
|
+
add_column :searches, :user_type, :string
|
5
|
+
add_column :bookmarks, :user_type, :string
|
6
|
+
Search.reset_column_information
|
7
|
+
Bookmark.reset_column_information
|
8
|
+
Search.update_all("user_type = 'user'")
|
9
|
+
Bookmark.update_all("user_type = 'user'")
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.down
|
13
|
+
remove_column :searches, :user_type
|
14
|
+
remove_column :bookmarks, :user_type
|
15
|
+
end
|
16
|
+
end
|
data/db/schema.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# This file is auto-generated from the current state of the database. Instead
|
3
|
+
# of editing this file, please use the migrations feature of Active Record to
|
4
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
5
|
+
#
|
6
|
+
# Note that this schema.rb definition is the authoritative source for your
|
7
|
+
# database schema. If you need to create the application database on another
|
8
|
+
# system, you should be using db:schema:load, not running all the migrations
|
9
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
10
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
11
|
+
#
|
12
|
+
# It's strongly recommended to check this file into your version control system.
|
13
|
+
|
14
|
+
ActiveRecord::Schema.define(:version => 20130606160539) do
|
15
|
+
|
16
|
+
create_table "bookmarks", :force => true do |t|
|
17
|
+
t.integer "user_id", :null => false
|
18
|
+
t.string "document_id"
|
19
|
+
t.string "title"
|
20
|
+
t.datetime "created_at", :null => false
|
21
|
+
t.datetime "updated_at", :null => false
|
22
|
+
t.string "user_type"
|
23
|
+
end
|
24
|
+
|
25
|
+
create_table "searches", :force => true do |t|
|
26
|
+
t.text "query_params"
|
27
|
+
t.integer "user_id"
|
28
|
+
t.datetime "created_at", :null => false
|
29
|
+
t.datetime "updated_at", :null => false
|
30
|
+
t.string "user_type"
|
31
|
+
end
|
32
|
+
|
33
|
+
add_index "searches", ["user_id"], :name => "index_searches_on_user_id"
|
34
|
+
|
35
|
+
create_table "users", :force => true do |t|
|
36
|
+
t.string "email", :default => "", :null => false
|
37
|
+
t.string "encrypted_password", :default => "", :null => false
|
38
|
+
t.string "reset_password_token"
|
39
|
+
t.datetime "reset_password_sent_at"
|
40
|
+
t.datetime "remember_created_at"
|
41
|
+
t.integer "sign_in_count", :default => 0
|
42
|
+
t.datetime "current_sign_in_at"
|
43
|
+
t.datetime "last_sign_in_at"
|
44
|
+
t.string "current_sign_in_ip"
|
45
|
+
t.string "last_sign_in_ip"
|
46
|
+
t.datetime "created_at", :null => false
|
47
|
+
t.datetime "updated_at", :null => false
|
48
|
+
t.boolean "guest", :default => false
|
49
|
+
end
|
50
|
+
|
51
|
+
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
|
52
|
+
add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true
|
53
|
+
|
54
|
+
end
|
data/db/seeds.rb
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
# This file should contain all the record creation needed to seed the database with its default values.
|
2
|
+
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
|
3
|
+
#
|
4
|
+
# Examples:
|
5
|
+
#
|
6
|
+
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
|
7
|
+
# Mayor.create(name: 'Emanuel', city: cities.first)
|
data/doc/README_FOR_APP
ADDED
@@ -0,0 +1,953 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<server xmlns="http://www.fedora.info/definitions/1/0/config/" class="org.fcrepo.server.BasicServer">
|
3
|
+
<param name="datastreamExtensionMappingSource" value="mime-to-extensions.xml">
|
4
|
+
<comment>Source of mappings from MIMETYPE to file extension</comment>
|
5
|
+
</param>
|
6
|
+
<param name="datastreamExtensionMappingId" value="ifmissing">
|
7
|
+
<comment>Controls filename extension mapping when the datastream ID is used
|
8
|
+
as the source of the filename. Values are as above.</comment>
|
9
|
+
</param>
|
10
|
+
<param name="httpClientMaxConnectionsPerHost" value="5">
|
11
|
+
<comment>Maximum number of Fedora http client connections allowed to a given host.</comment>
|
12
|
+
</param>
|
13
|
+
<param name="httpClientSocketTimeoutSecs" value="120">
|
14
|
+
<comment>Number of seconds Fedora http client will wait for data coming across an
|
15
|
+
established http connection.</comment>
|
16
|
+
</param>
|
17
|
+
<param name="fedoraServerHost" value="localhost">
|
18
|
+
<comment>Defines the host name for the Fedora server, as seen from the
|
19
|
+
outside world.</comment>
|
20
|
+
</param>
|
21
|
+
<param name="datastreamExtensionMappingLabel" value="always">
|
22
|
+
<comment>Controls filename extension mapping when the datastream label is used
|
23
|
+
as the source of the filename. Values are always: always generate an extension
|
24
|
+
based on the MIMETYPE, using the default extension if none can be determined;
|
25
|
+
ifmissing: generate an extension if the filename obtained from the source does not
|
26
|
+
already contain one (again returning the default if there is no MIMETYPE-to-extension
|
27
|
+
mapping is found); never: never generate an extension, use the filename from the source
|
28
|
+
as-is</comment>
|
29
|
+
</param>
|
30
|
+
<param name="httpClientMaxFollowRedirects" value="3">
|
31
|
+
<comment>Maximun number of redirects the Fedora http client will follow (only if
|
32
|
+
httpClientFollowRedirects is set to true.)</comment>
|
33
|
+
</param>
|
34
|
+
<param name="httpClientUserAgent" value="Fedora">
|
35
|
+
<comment>The value to be set for the User-Agent HTTP request header.</comment>
|
36
|
+
</param>
|
37
|
+
<param name="httpClientMaxTotalConnections" value="5">
|
38
|
+
<comment>Maximum number of total Fedora http client connections allowed at once.</comment>
|
39
|
+
</param>
|
40
|
+
<param name="datastreamFilenameSource" value="rels label id">
|
41
|
+
<comment>determines the source of the filename generated when download=true
|
42
|
+
on a datastream dissemination. Value is space separated list of label: use the datastream label;
|
43
|
+
id: use the datastream ID; rels: use the value defined in RELS-INT. Each
|
44
|
+
source is checked in order, and the first containing a value is used. Omit
|
45
|
+
any of the sources if that source is never to be used. If no sources are to be used,
|
46
|
+
and just the default filename and extension below are to be used, specify " ".</comment>
|
47
|
+
</param>
|
48
|
+
<param name="adminEmailList" value="bob@example.org sally@example.org">
|
49
|
+
<comment>Defines one or more email addresses for server administrators;
|
50
|
+
list is space delimited.</comment>
|
51
|
+
</param>
|
52
|
+
<param name="datastreamMediationLimit" value="5000">
|
53
|
+
<comment>Determines the time interval in which external mechanisms must
|
54
|
+
respond to requests by the Fedora server. The value is specified in
|
55
|
+
milliseconds. The value specified should be set high enough to allow
|
56
|
+
for an average response time from any single external mechanisms. Note
|
57
|
+
this value must be less than the limit specified for the
|
58
|
+
datastreamExpirationLimit.</comment>
|
59
|
+
</param>
|
60
|
+
<param name="fedoraServerPort" value="8983">
|
61
|
+
<comment>Defines the port number on which the Fedora server runs;
|
62
|
+
default is 8080.</comment>
|
63
|
+
</param>
|
64
|
+
<param name="fedoraRedirectPort" value="8443">
|
65
|
+
<comment>Defines the redirect port of the Fedora sever; default is 8443.</comment>
|
66
|
+
</param>
|
67
|
+
<param name="httpClientFollowRedirects" value="true">
|
68
|
+
<comment>Should the Fedora http client follow redirects?</comment>
|
69
|
+
</param>
|
70
|
+
<param name="datastreamExtensionMappingDefault" value="never">
|
71
|
+
<comment>Controls filename extension mapping when no filename can be determined from
|
72
|
+
the sources listed in datastreamFilenameSource. Values are always: always generate an extension
|
73
|
+
based on the MIMETYPE (using the default if no appropriate mapping is specified);
|
74
|
+
never: never generate an extension.</comment>
|
75
|
+
</param>
|
76
|
+
<param name="datastreamContentDispositionInlineEnabled" value="true">
|
77
|
+
<comment>determines if a content-disposition header specifying "inline" and
|
78
|
+
a filename is added to the response for the REST API getDatastreamDissemination
|
79
|
+
when no query parameter of download=true is specified. Browser support for
|
80
|
+
recognising a filename in case of "inline" content disposition is patchy,
|
81
|
+
so you may wish to disable the content disposition header in this case and only
|
82
|
+
have it provided when download=true is specified, in which case the content disposition
|
83
|
+
of "attachment" will be used; which is generally supported.</comment>
|
84
|
+
</param>
|
85
|
+
<param name="fedoraAppServerContext" value="fedora">
|
86
|
+
<comment>Defines the context name for the Fedora server within the
|
87
|
+
application server. If set to eg "myfedora" the URL for Fedora will result
|
88
|
+
in http[s]://fedoraServerHost[:fedoraServerPort]/myfedora.</comment>
|
89
|
+
</param>
|
90
|
+
<param name="fedoraShutdownPort" value="8005">
|
91
|
+
<comment>Defines the port number used to shutdown the Fedora sever;
|
92
|
+
default is 8005.</comment>
|
93
|
+
</param>
|
94
|
+
<param name="datastreamDefaultExtension" value="bin">
|
95
|
+
<comment>Extension to use when none can be determined from mappings</comment>
|
96
|
+
</param>
|
97
|
+
<param name="datastreamDefaultFilename" value="download">
|
98
|
+
<comment>Filename to use for datastream downloads when none can be determined from the
|
99
|
+
sources listed in datastreamFilenameSource.</comment>
|
100
|
+
</param>
|
101
|
+
<param name="datastreamExpirationLimit" value="300">
|
102
|
+
<comment>Controls the size of the datastream mediation hash by removing
|
103
|
+
entries outside the specified threshold. The value is specified in
|
104
|
+
seconds. Note this value must be greater than the limit specified for
|
105
|
+
the datastreamMediationLimit.</comment>
|
106
|
+
</param>
|
107
|
+
<param name="datastreamExtensionMappingRels" value="never">
|
108
|
+
<comment>Controls filename extension mapping when RELS-INT is used
|
109
|
+
as the source of the filename. Values are as above.</comment>
|
110
|
+
</param>
|
111
|
+
<param name="httpClientTimeoutSecs" value="20">
|
112
|
+
<comment>Number of seconds Fedora http client will wait for a connection before timing
|
113
|
+
out.</comment>
|
114
|
+
</param>
|
115
|
+
<param name="repositoryName" value="Fedora Repository">
|
116
|
+
<comment>Defines a human readable name for the Fedora server; default is
|
117
|
+
Fedora Repository.</comment>
|
118
|
+
</param>
|
119
|
+
<module role="org.fcrepo.server.security.Authorization" class="org.fcrepo.server.security.DefaultAuthorization">
|
120
|
+
<comment>Builds and manages Fedora's authorization structure.</comment>
|
121
|
+
<param name="REPOSITORY-POLICY-GUITOOL-POLICIES-DIRECTORY" value="data/fedora-xacml-policies/repository-policies-generated-by-policyguitool" isFilePath="true">
|
122
|
+
<comment>This parameter is for future use.</comment>
|
123
|
+
</param>
|
124
|
+
<param name="POLICY-SCHEMA-PATH" value="xsd/cs-xacml-schema-policy-01.xsd"/>
|
125
|
+
<param name="ENFORCE-MODE" value="permit-all-requests"/>
|
126
|
+
<param name="VALIDATE-OBJECT-POLICIES-FROM-DATASTREAM" value="false"/>
|
127
|
+
<param name="XACML-COMBINING-ALGORITHM" value="com.sun.xacml.combine.OrderedDenyOverridesPolicyAlg"/>
|
128
|
+
<param name="VALIDATE-OBJECT-POLICIES-FROM-FILE" value="false"/>
|
129
|
+
<param name="VALIDATE-REPOSITORY-POLICIES" value="true"/>
|
130
|
+
<param name="REPOSITORY-POLICIES-DIRECTORY" value="data/fedora-xacml-policies/repository-policies" isFilePath="true"/>
|
131
|
+
</module>
|
132
|
+
<module role="org.fcrepo.server.security.BackendSecurity" class="org.fcrepo.server.security.DefaultBackendSecurity">
|
133
|
+
<comment>Description: Interface to the backend service security
|
134
|
+
configuration. This module initializes backend service security
|
135
|
+
information in the server by parsing the beSecurity configuration file.
|
136
|
+
This file is located in the distribution in
|
137
|
+
$FEDORA_HOME/dist/server/config/beSecurity.xml. The configuration file
|
138
|
+
is read once at server startup.</comment>
|
139
|
+
<param name="beSecurity_char_encoding" value="utf-8">
|
140
|
+
<comment>The character encoding used for the beSecurity
|
141
|
+
configuration file. The default is "utf-8". The value
|
142
|
+
specified must correspond to the character encoding used in the
|
143
|
+
beSecurity configuration file.</comment>
|
144
|
+
</param>
|
145
|
+
<param name="beSecurity_validation" value="false">
|
146
|
+
<comment>Controls whether beSecurity config file is validated
|
147
|
+
against the beSecurityDescription schema. The default is
|
148
|
+
"false". Valid values are "true" or
|
149
|
+
"false".</comment>
|
150
|
+
</param>
|
151
|
+
</module>
|
152
|
+
<module role="org.fcrepo.server.storage.DOManager" class="org.fcrepo.server.storage.DefaultDOManager">
|
153
|
+
<comment>The interface to the storage subsystem. This provides
|
154
|
+
context-appropriate DOReaders and DOWriters for reflecting on and
|
155
|
+
writing to the objects stored in the repository. It also provides
|
156
|
+
methods for reflecting on the contents of the repository as a whole..</comment>
|
157
|
+
<param name="defaultDCControlGroup" value="X">
|
158
|
+
<comment>The control group to use for the system-generated DC datastream
|
159
|
+
if no DC datastream is present on ingest. Must be "X" or "M".</comment>
|
160
|
+
</param>
|
161
|
+
<param name="gSearchPassword" value="examplePassword">
|
162
|
+
<comment>The associated password for accessing the REST endpoint
|
163
|
+
of the Fedora Generic Search service. This parameter is only
|
164
|
+
required if GSearchDOManager is used, and the service requires
|
165
|
+
authentication.</comment>
|
166
|
+
</param>
|
167
|
+
<param name="storageCharacterEncoding" value="UTF-8">
|
168
|
+
<comment>If the serialization format is text-based, this is the
|
169
|
+
character encoding that should be used. Default is UTF-8.</comment>
|
170
|
+
</param>
|
171
|
+
<param name="gSearchUsername" value="exampleUsername">
|
172
|
+
<comment>The username for accessing the REST endpoint of the
|
173
|
+
Fedora Generic Search service. This parameter is only required if
|
174
|
+
GSearchDOManager is used, and the service requires
|
175
|
+
authentication.</comment>
|
176
|
+
</param>
|
177
|
+
<param name="storagePool" value="localDerbyPool">
|
178
|
+
<comment>The named connection pool from which read/write database
|
179
|
+
connections are to be provided for the storage subsystem (see the
|
180
|
+
ConnectionPoolManager module). Default is the default provided by the
|
181
|
+
ConnectionPoolManager.</comment>
|
182
|
+
</param>
|
183
|
+
<param name="fedoraStorageHintProvider" value="org.fcrepo.server.storage.NullStorageHintsProvider">
|
184
|
+
<comment>Hints are gathered and passed to the underline storage systems (only Akubra for now).
|
185
|
+
These are meta data or contextual information about object or datastream to be added or updated.
|
186
|
+
The default implementation is NullStorageHintsProvider; it provides no hints. You you can implement
|
187
|
+
your own FedoraStorageHintProvider and drop your implementation to the $CATALINA_HOME/webapps/fedora/WEB_INF/classes
|
188
|
+
directory (unpackaged), or the $CATALINA_HOME/webapps/fedora/WEB_INF/lib director (packaged).</comment>
|
189
|
+
</param>
|
190
|
+
<param name="gSearchRESTURL" value="http://localhost:8080/fedoragsearch/rest">
|
191
|
+
<comment>The REST endpoint of the Fedora Generic Search service.
|
192
|
+
This parameter is only required if GSearchDOManager is
|
193
|
+
used.</comment>
|
194
|
+
</param>
|
195
|
+
<param name="defaultExportFormat" value="info:fedora/fedora-system:FOXML-1.1"/>
|
196
|
+
<param name="defaultRELSControlGroup" value="X">
|
197
|
+
<comment>The control group to use for system-generated RELS-EXT and
|
198
|
+
RELS-INT datastreams where these are not already present when
|
199
|
+
adding relationships via addRelationship. Must be "X" or "M".</comment>
|
200
|
+
</param>
|
201
|
+
<param name="pidNamespace" value="changeme">
|
202
|
+
<comment>This is the namespace id for pids of newly-created objects.
|
203
|
+
This should be unique for a repository. It can be from 1 to 17
|
204
|
+
characters, and may only contain A-Z, a-z, 0-9, '.', or '-' (dash).</comment>
|
205
|
+
</param>
|
206
|
+
</module>
|
207
|
+
<module role="org.fcrepo.server.management.Management" class="org.fcrepo.server.management.ManagementModule">
|
208
|
+
<comment>The management subsystem. This implements the methods necessary
|
209
|
+
to fulfill API-M requests without regard to:
|
210
|
+
- how the service is exposed
|
211
|
+
- how bytestreams and java types might be marshalled/demarshalled over the wire
|
212
|
+
- how the storage subsystem is implemented.</comment>
|
213
|
+
<param name="purgeDelayInMillis" value="60000">
|
214
|
+
<comment>Optional, default is 60000 (1 minute).
|
215
|
+
This specifies the amount of time between checks to remove
|
216
|
+
temporary files uploaded via the API-M upload interface. During
|
217
|
+
each check, old files whose age exceeds uploadStorageMinutes
|
218
|
+
will be removed.</comment>
|
219
|
+
</param>
|
220
|
+
<param name="decorator1" value="org.fcrepo.server.messaging.NotificationInvocationHandler"/>
|
221
|
+
<param name="checksumAlgorithm" value="MD5">
|
222
|
+
<comment>Specifies which checksumming algorithm is to be used when
|
223
|
+
automatically computing checksums as specified by the above
|
224
|
+
parameter. Valid values are: MD5 SHA-1 SHA-256 SHA-384 SHA-512.</comment>
|
225
|
+
</param>
|
226
|
+
<param name="uploadStorageMinutes" value="5">
|
227
|
+
<comment>Optional, default is 5.
|
228
|
+
This specifies the minimum amount of time that each uploaded
|
229
|
+
file should be kept in temporary storage.</comment>
|
230
|
+
</param>
|
231
|
+
<param name="autoChecksum" value="false">
|
232
|
+
<comment>Controls whether a checksum is automatically computed for
|
233
|
+
every datastream as the datastream is added to the repository. This
|
234
|
+
will allow the integrity of datastream contents to be periodically
|
235
|
+
checked to insure the object is not corrupted.</comment>
|
236
|
+
</param>
|
237
|
+
</module>
|
238
|
+
<module role="org.fcrepo.server.access.Access" class="org.fcrepo.server.access.DefaultAccess">
|
239
|
+
<comment>Description: The access subsystem. This implements the methods
|
240
|
+
necessary to fulfill API-A requests without regard to:
|
241
|
+
- how the service is exposed
|
242
|
+
- how bytestreams and java types might be marshalled/demarshalled
|
243
|
+
over the wire.</comment>
|
244
|
+
<param name="doMediateDatastreams" value="false">
|
245
|
+
<comment>A boolean switch indicating whether Datastream Mediation is
|
246
|
+
activated or not. Datastream Mediation is required if using basic
|
247
|
+
authentication for API-A. When basic authentication is enabled for
|
248
|
+
API-A, backend services used by custom disseminations may or may not be
|
249
|
+
capable of authenticating with the Fedora server. Datastream mediation
|
250
|
+
coupled with the backend service configuration information in the
|
251
|
+
beSecurity.xml file enables the Fedora server to determine which backend
|
252
|
+
services are required to authenticate and which ones are allowed to
|
253
|
+
connect without authentication. Datastream mediation provides additional
|
254
|
+
repository security by not exposing the physical location of Referenced
|
255
|
+
Content datastreams to external mechanisms(services). Instead of
|
256
|
+
exposing the actual physical location of Referenced Content datastreams,
|
257
|
+
Datastream Mediation functions as a proxy requiring all external
|
258
|
+
services to communicate through the Fedora server to resolve the
|
259
|
+
location of Referenced Content datastreams.
|
260
|
+
|
261
|
+
IMPORTANT: For Datastream Mediation to function, the Fedora server must
|
262
|
+
be internet accessible using the configured name for fedoraServerHost
|
263
|
+
and fedoraServerPort. For example, using the default fedoraServerHost
|
264
|
+
value of "localhost" will not work if you have remote backend services
|
265
|
+
since the hostname of "localhost" will not be resolvable as the Fedora
|
266
|
+
server by the remote backend services. This requirement can be difficult
|
267
|
+
to satisfy if the Fedora server is located behind a firewall and you do
|
268
|
+
not have ready access to the firewall's configuration to enable the
|
269
|
+
required access. If the Fedora server is behind a firewall and you have
|
270
|
+
no access to the firewall's configuration, you are limited to keeping
|
271
|
+
Datastream Mediation turned off. Note that this will also prevent you
|
272
|
+
from using basic authentication with API-A. The default value of
|
273
|
+
doMediateDatastreams is false.</comment>
|
274
|
+
</param>
|
275
|
+
</module>
|
276
|
+
<module role="org.fcrepo.server.access.DynamicAccess" class="org.fcrepo.server.access.DynamicAccessModule">
|
277
|
+
<comment>The dynamic behavior module for the access subsystem. This
|
278
|
+
implements the methods necessary to fulfill API-A requests without
|
279
|
+
regard to:
|
280
|
+
- dynamically associating a default behavior definition and mechanism with objects
|
281
|
+
- (Future) dynamically associating other behavior definitions and mechanisms
|
282
|
+
with objects
|
283
|
+
- running disseminations of dynamic behaviors</comment>
|
284
|
+
<param name="fedora-system:1" value="org.fcrepo.server.access.internalservices.Bootstrap">
|
285
|
+
<comment>The interface that defines the methods of the bootstrap
|
286
|
+
disseminator. These methods are "built-in" to the Fedora system, and
|
287
|
+
are dynamically associated with every behavior definition and
|
288
|
+
behavior mechanism object.</comment>
|
289
|
+
</param>
|
290
|
+
<param name="fedora-system:2" value="org.fcrepo.server.access.internalservices.BootstrapImpl">
|
291
|
+
<comment>The class that implements the methods of the bootstrap
|
292
|
+
disseminator. These method implementations are "built-in" to the
|
293
|
+
Fedora system, and are dynamically associated with every behavior
|
294
|
+
definition and behavior mechanism object. This class can be thought
|
295
|
+
of as implementing an "internal service" whereas other disseminators
|
296
|
+
use external services (described by WSDL) to do their work.</comment>
|
297
|
+
</param>
|
298
|
+
<param name="fedora-system:3" value="org.fcrepo.server.access.defaultdisseminator.DefaultDisseminator">
|
299
|
+
<comment>The interface that defines the methods of the default
|
300
|
+
disseminator. These methods are "built-in" to the Fedora system, and
|
301
|
+
are dynamically associated with every object.</comment>
|
302
|
+
</param>
|
303
|
+
<param name="fedora-system:4" value="org.fcrepo.server.access.defaultdisseminator.DefaultDisseminatorImpl">
|
304
|
+
<comment>The class that implements the methods of the default
|
305
|
+
disseminator. These method implementations are "built-in" to the
|
306
|
+
Fedora system, and are dynamically associated with every object.
|
307
|
+
This class can be though of as implementing an "internal service"
|
308
|
+
whereas other disseminators use external services (described by
|
309
|
+
WSDL) to do their work.</comment>
|
310
|
+
</param>
|
311
|
+
</module>
|
312
|
+
<module role="org.fcrepo.server.search.FieldSearch" class="org.fcrepo.server.search.FieldSearchSQLModule">
|
313
|
+
<comment>Supports the API-A simpleSearch and advancedSearch methods.</comment>
|
314
|
+
<param name="indexDCFields" value="true">
|
315
|
+
<comment>(optional, default is true) Whether the content of the DC
|
316
|
+
datastream should be examined and the contents indexed, for each object.
|
317
|
+
You may wish to save time and space by disabling DC field indexing,
|
318
|
+
particularly if you have an external search service (such as Fedora
|
319
|
+
Generic Search) that already fulfills this need.
|
320
|
+
Note: If you change this value on a Fedora repository that has been
|
321
|
+
running for some time, you will need to perform a SQL rebuild using the
|
322
|
+
Fedora Rebuilder tool if you want to change objects that have already
|
323
|
+
been ingested.</comment>
|
324
|
+
</param>
|
325
|
+
<param name="connectionPool" value="localDerbyPool">
|
326
|
+
<comment>(optional) To make unspecified, comment out or delete the
|
327
|
+
whole param line as opposed to using an empty string,
|
328
|
+
default=ConnectionPoolManager's default) The connectionPool
|
329
|
+
providing the connection to the database to be used. Warning: When
|
330
|
+
setting these values, keep in mind that while a session is not timed
|
331
|
+
out (maxSecondsPerSession seconds haven't elapsed, and not all
|
332
|
+
results have been requested), a connection from the pool is tied up.
|
333
|
+
Therefore, the connectionPool should be at least of size n, large
|
334
|
+
enough to accomodate n simultaneous search sessions. The longer
|
335
|
+
maxSecondsPerSession is, the more chance you have of tying up all
|
336
|
+
available connections from the pool. Therefore, keep
|
337
|
+
maxSecondsPerSession fairly low, but still reasonable for an
|
338
|
+
automated program or user to serially get a long list of results,
|
339
|
+
and make sure you have a connectionPool large enough to accomodate
|
340
|
+
your users.</comment>
|
341
|
+
</param>
|
342
|
+
<param name="maxSecondsPerSession" value="500">
|
343
|
+
<comment>(required, must be > 0)
|
344
|
+
The maximum number of seconds that the server guarantees subsequent
|
345
|
+
search results may be obtained. This is only used in cases where the
|
346
|
+
number of results is greater than maxResults (as specified by the
|
347
|
+
server [above] or the client [in the search request]).</comment>
|
348
|
+
</param>
|
349
|
+
<param name="maxResults" value="100">
|
350
|
+
<comment>(required, must be > 0)
|
351
|
+
The maximum number of records to
|
352
|
+
return as the result of a search. Even if a client requests more
|
353
|
+
results at a time, this is the cutoff value.</comment>
|
354
|
+
</param>
|
355
|
+
</module>
|
356
|
+
<module role="org.fcrepo.server.resourceIndex.ResourceIndex" class="org.fcrepo.server.resourceIndex.ResourceIndexModule">
|
357
|
+
<comment>Supports the ResourceIndex.</comment>
|
358
|
+
<param name="level" value="0">
|
359
|
+
<comment>(required)
|
360
|
+
Index level. Currently, only 0, and 1 are supported levels.
|
361
|
+
0 = off and 1 = on.
|
362
|
+
WARNING: changing the level (except to 0) requires
|
363
|
+
running the Resource Index Rebuilder.</comment>
|
364
|
+
</param>
|
365
|
+
<param name="syncUpdates" value="false">
|
366
|
+
<comment>(optional, default is false)
|
367
|
+
Whether to flush the triple buffer before
|
368
|
+
returning from object modification operations.
|
369
|
+
Specifying this as true will ensure that RI queries
|
370
|
+
immediately reflect the latest triples.
|
371
|
+
Specifying false will not provide this guarantee,
|
372
|
+
but can significantly reduce roundtrip time for
|
373
|
+
API-M operations (depending on the triplestore
|
374
|
+
implementation).</comment>
|
375
|
+
</param>
|
376
|
+
<param name="datastore" value="localMulgaraTriplestore">
|
377
|
+
<comment>(required)
|
378
|
+
Name of the triplestore to use. WARNING: changing the
|
379
|
+
triplestore running the Resource Index Rebuilder.</comment>
|
380
|
+
</param>
|
381
|
+
<param name="alias:test" value="http://example.org/terms#">
|
382
|
+
<comment>(optional) Aliases that can be used for queries. The param
|
383
|
+
name of an alias starts with the string "alias:" and is followed by
|
384
|
+
the name of the alias (shortcut) for the value, which is a URI
|
385
|
+
prefix. For example: name="alias:test"
|
386
|
+
value="http://example.org/terms#" will allow a query to use
|
387
|
+
test:apple instead of http://example.org/terms#apple</comment>
|
388
|
+
</param>
|
389
|
+
</module>
|
390
|
+
<module role="org.fcrepo.oai.OAIProvider" class="org.fcrepo.server.oai.FedoraOAIProviderModule">
|
391
|
+
<comment>Description: Exposes the repository for OAI harvesters.</comment>
|
392
|
+
<param name="maxRecords" value="100"/>
|
393
|
+
<param name="friends" value="http://arXiv.org/oai2 http://memory.loc.gov/cgi-bin/oai2_0"/>
|
394
|
+
<param name="adminEmails" value="oai-admin@example.org bob@example.org"/>
|
395
|
+
<param name="repositoryDomainName" value="example.org"/>
|
396
|
+
<param name="maxHeaders" value="100"/>
|
397
|
+
<param name="repositoryName" value="Your Fedora Repository Name Here"/>
|
398
|
+
</module>
|
399
|
+
<module role="org.fcrepo.server.storage.translation.DOTranslator" class="org.fcrepo.server.storage.translation.DOTranslatorModule">
|
400
|
+
<comment>Supports translation from DigitalObject to a stream of some
|
401
|
+
format, and vice-versa. The parameters below specify
|
402
|
+
serializer/deserializer classes to be used for a given format. Those
|
403
|
+
classes must implement the DOSerializer/DODeserializer interfaces.</comment>
|
404
|
+
<param name="serializer_info:fedora/fedora-system:ATOM-1.1" value="org.fcrepo.server.storage.translation.Atom1_1DOSerializer"/>
|
405
|
+
<param name="deserializer_info:fedora/fedora-system:FOXML-1.1" value="org.fcrepo.server.storage.translation.FOXML1_1DODeserializer"/>
|
406
|
+
<param name="serializer_info:fedora/fedora-system:METSFedoraExt-1.0" value="org.fcrepo.server.storage.translation.METSFedoraExt1_0DOSerializer"/>
|
407
|
+
<param name="deserializer_info:fedora/fedora-system:METSFedoraExt-1.1" value="org.fcrepo.server.storage.translation.METSFedoraExt1_1DODeserializer"/>
|
408
|
+
<param name="serializer_info:fedora/fedora-system:METSFedoraExt-1.1" value="org.fcrepo.server.storage.translation.METSFedoraExt1_1DOSerializer"/>
|
409
|
+
<param name="deserializer_info:fedora/fedora-system:METSFedoraExt-1.0" value="org.fcrepo.server.storage.translation.METSFedoraExt1_0DODeserializer"/>
|
410
|
+
<param name="serializer_info:fedora/fedora-system:FOXML-1.0" value="org.fcrepo.server.storage.translation.FOXML1_0DOSerializer"/>
|
411
|
+
<param name="deserializer_info:fedora/fedora-system:ATOMZip-1.1" value="org.fcrepo.server.storage.translation.AtomZip1_1DODeserializer"/>
|
412
|
+
<param name="serializer_info:fedora/fedora-system:FOXML-1.1" value="org.fcrepo.server.storage.translation.FOXML1_1DOSerializer"/>
|
413
|
+
<param name="deserializer_info:fedora/fedora-system:ATOM-1.1" value="org.fcrepo.server.storage.translation.Atom1_1DODeserializer"/>
|
414
|
+
<param name="deserializer_info:fedora/fedora-system:FOXML-1.0" value="org.fcrepo.server.storage.translation.FOXML1_0DODeserializer"/>
|
415
|
+
<param name="serializer_info:fedora/fedora-system:ATOMZip-1.1" value="org.fcrepo.server.storage.translation.AtomZip1_1DOSerializer"/>
|
416
|
+
</module>
|
417
|
+
<module role="org.fcrepo.server.management.PIDGenerator" class="org.fcrepo.server.management.BasicPIDGenerator">
|
418
|
+
<comment>The pid generator.</comment>
|
419
|
+
<param name="pidgen_log_dir" value="pidgen"/>
|
420
|
+
</module>
|
421
|
+
<module role="org.fcrepo.server.messaging.Messaging" class="org.fcrepo.server.messaging.MessagingModule">
|
422
|
+
<comment>Fedora's Java Messaging Service (JMS) Module</comment>
|
423
|
+
<param name="enabled" value="false"/>
|
424
|
+
<param name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
|
425
|
+
<param name="java.naming.provider.url" value="vm:(broker:(tcp://localhost:61616))"/>
|
426
|
+
<param name="datastore1" value="apimUpdateMessages">
|
427
|
+
<comment>A datastore representing a JMS Destination for APIM events which update the repository</comment>
|
428
|
+
</param>
|
429
|
+
<param name="datastore2" value="apimAccessMessages">
|
430
|
+
<comment>A datastore representing a JMS Destination for APIM events which do not update the repository</comment>
|
431
|
+
</param>
|
432
|
+
</module>
|
433
|
+
<module role="org.fcrepo.server.storage.ConnectionPoolManager" class="org.fcrepo.server.storage.ConnectionPoolManagerImpl">
|
434
|
+
<comment>This module facilitates obtaining ConnectionPools</comment>
|
435
|
+
<param name="defaultPoolName" value="localDerbyPool"/>
|
436
|
+
<param name="poolNames" value="localDerbyPool"/>
|
437
|
+
</module>
|
438
|
+
<module role="org.fcrepo.server.validation.DOValidator" class="org.fcrepo.server.validation.DOValidatorModule">
|
439
|
+
<comment>Description: Supports validation of digital objects, including
|
440
|
+
XML Schema validation, Schematron validation (to Fedora Rules schema
|
441
|
+
written in Schematron language), and other programatic validation
|
442
|
+
including referential integrity checking of existence and
|
443
|
+
availability of distributed data and/or services.</comment>
|
444
|
+
<param name="tempDir" value="work">
|
445
|
+
<comment>(required)
|
446
|
+
This is a directory that the validation module can use as a work space, as
|
447
|
+
when it must write a temporary file.</comment>
|
448
|
+
</param>
|
449
|
+
<param name="rules_info:fedora/fedora-system:ATOM-1.1" value="schematron/atom-bogus.xml">
|
450
|
+
<comment>The local path to the Schematron Rules used for
|
451
|
+
Fedora-specific on Atom XML files.</comment>
|
452
|
+
</param>
|
453
|
+
<param name="schtron_preprocessor" value="schematron/preprocessor.xslt"/>
|
454
|
+
<param name="rules_info:fedora/fedora-system:ATOMZip-1.1" value="schematron/atom-bogus.xml">
|
455
|
+
<comment>The local path to the Schematron Rules used for
|
456
|
+
Fedora-specific on Atom Zip files.</comment>
|
457
|
+
</param>
|
458
|
+
<param name="rules_info:fedora/fedora-system:FOXML-1.1" value="schematron/foxmlRules1-1.xml">
|
459
|
+
<comment>The local path to the Schematron Rules used for
|
460
|
+
Fedora-specific validation on FOXML 1.1 XML files.</comment>
|
461
|
+
</param>
|
462
|
+
<param name="rules_info:fedora/fedora-system:FOXML-1.0" value="schematron/foxmlRules1-0.xml">
|
463
|
+
<comment>The local path to the Schematron Rules used for
|
464
|
+
Fedora-specific validation on FOXML 1.0 XML files.</comment>
|
465
|
+
</param>
|
466
|
+
<param name="xsd_info:fedora/fedora-system:METSFedoraExt-1.1" value="xsd/mets-fedora-ext1-1.xsd">
|
467
|
+
<comment>The local path for the Fedora-METS XML
|
468
|
+
schema used to do XML schema validation of digital objects.</comment>
|
469
|
+
</param>
|
470
|
+
<param name="xsd_info:fedora/fedora-system:METSFedoraExt-1.0" value="xsd/mets-fedora-ext.xsd">
|
471
|
+
<comment>The local path for the Fedora-METS 1.0 XML
|
472
|
+
schema used to do XML schema validation of digital objects.</comment>
|
473
|
+
</param>
|
474
|
+
<param name="xsd_xacml_policy1.0" value="xsd/cs-xacml-schema-policy-1.0.xsd">
|
475
|
+
<comment>The local path for the OASIS XACML XML policy schema
|
476
|
+
used to do XML schema validation of XACML policies.</comment>
|
477
|
+
</param>
|
478
|
+
<param name="xsd_info:fedora/fedora-system:FOXML-1.1" value="xsd/foxml1-1.xsd">
|
479
|
+
<comment>The local path for the Fedora FOXML 1.1 XML schema
|
480
|
+
used to do XML schema validation of digital objects</comment>
|
481
|
+
</param>
|
482
|
+
<param name="xsd_info:fedora/fedora-system:FOXML-1.0" value="xsd/foxml1-0.xsd">
|
483
|
+
<comment>The local path for the Fedora FOXML 1.0 XML schema
|
484
|
+
used to do XML schema validation of digital objects</comment>
|
485
|
+
</param>
|
486
|
+
<param name="xsd_info:fedora/fedora-system:ATOM-1.1" value="xsd/atom.xsd">
|
487
|
+
<comment>The local path for the Atom XML schema used to do XML
|
488
|
+
schema validation of digital objects</comment>
|
489
|
+
</param>
|
490
|
+
<param name="rules_info:fedora/fedora-system:METSFedoraExt-1.0" value="schematron/metsExtRules1-0.xml">
|
491
|
+
<comment>The local path to the Schematron Rules used for
|
492
|
+
Fedora-specific validation on Fedora-METS 1.0 XML files.</comment>
|
493
|
+
</param>
|
494
|
+
<param name="xsd_info:fedora/fedora-system:ATOMZip-1.1" value="xsd/atom.xsd">
|
495
|
+
<comment>The local path for the Atom XML schema used to do XML
|
496
|
+
schema validation of digital objects</comment>
|
497
|
+
</param>
|
498
|
+
<param name="rules_info:fedora/fedora-system:METSFedoraExt-1.1" value="schematron/metsExtRules1-1.xml">
|
499
|
+
<comment>The local path to the Schematron Rules used for
|
500
|
+
Fedora-specific validation on Fedora-METS XML files.</comment>
|
501
|
+
</param>
|
502
|
+
</module>
|
503
|
+
<module role="org.fcrepo.server.storage.ExternalContentManager" class="org.fcrepo.server.storage.DefaultExternalContentManager">
|
504
|
+
<comment>This module facilitates obtaining external content via HTTP</comment>
|
505
|
+
</module>
|
506
|
+
<datastore id="localMySQLPool">
|
507
|
+
<comment>MySQL database on localhost with db name of fedora3. Each
|
508
|
+
connection pool instance has several configuration parameter that
|
509
|
+
can be used to tune the options for the connection pool. It is
|
510
|
+
recommended that you not change the default values unless you are
|
511
|
+
trying to address a specific performance issue. For additional
|
512
|
+
information regarding connection pool options, refer to the Apache
|
513
|
+
Commons Pool API documentation at
|
514
|
+
http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
|
515
|
+
<param name="maxIdle" value="10">
|
516
|
+
<comment>The maximum number of idle instances in pool.</comment>
|
517
|
+
</param>
|
518
|
+
<param name="testOnBorrow" value="true">
|
519
|
+
<comment>When true objects are validated before borrowed from the
|
520
|
+
pool.</comment>
|
521
|
+
</param>
|
522
|
+
<param name="testWhileIdle" value="true">
|
523
|
+
<comment>When true, objects are validated by the idle object evictor
|
524
|
+
thread.</comment>
|
525
|
+
</param>
|
526
|
+
<param name="validationQuery" value="select 1">
|
527
|
+
<comment>The query to run when validating connections.
|
528
|
+
Connections are validated according to the testOnBorrow,
|
529
|
+
testOnReturn, and testWhileIdle configuration values.
|
530
|
+
If this is specified, it must be a SQL SELECT statement
|
531
|
+
that returns at least one row. If this is NOT specified,
|
532
|
+
validation tests will not be run.</comment>
|
533
|
+
</param>
|
534
|
+
<param name="ddlConverter" value="org.fcrepo.server.utilities.MySQLDDLConverter"/>
|
535
|
+
<param name="dbUsername" value="fedoraAdmin">
|
536
|
+
<comment>The database user name.</comment>
|
537
|
+
</param>
|
538
|
+
<param name="testOnReturn" value="true">
|
539
|
+
<comment>When true, objects are validated before returned to the
|
540
|
+
pool.</comment>
|
541
|
+
</param>
|
542
|
+
<param name="maxActive" value="100">
|
543
|
+
<comment>The maximum number of active instances in pool.</comment>
|
544
|
+
</param>
|
545
|
+
<param name="dbPassword" value="fedoraAdmin">
|
546
|
+
<comment>The database password.</comment>
|
547
|
+
</param>
|
548
|
+
<param name="jdbcURL" value="jdbc:mysql://localhost/fedora3?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true">
|
549
|
+
<comment>The JDBC connection URL.</comment>
|
550
|
+
</param>
|
551
|
+
<param name="whenExhaustedAction" value="1">
|
552
|
+
<comment>Action to take when a new object is requested and the the pool has
|
553
|
+
reached maximum number of active objects. Valid values are:
|
554
|
+
0 (fail i.e., throw Exception)
|
555
|
+
1 (block i.e., wait until pool resources are freed)
|
556
|
+
2 (grow i.e., increase the size of the pool).</comment>
|
557
|
+
</param>
|
558
|
+
<param name="numTestsPerEvictionRun" value="3">
|
559
|
+
<comment>The number of objects to be examined on each run of idle
|
560
|
+
evictor thread (if applicable). A value less than zero indicates
|
561
|
+
that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
|
562
|
+
</param>
|
563
|
+
<param name="jdbcDriverClass" value="com.mysql.jdbc.Driver">
|
564
|
+
<comment>The JDBC driver class name.</comment>
|
565
|
+
</param>
|
566
|
+
<param name="maxWait" value="-1">
|
567
|
+
<comment>The maximum amount of time in milliseconds the
|
568
|
+
borrowObject() method should wait before throwing an Exception when
|
569
|
+
whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
|
570
|
+
than zero indicates block indefinitely.</comment>
|
571
|
+
</param>
|
572
|
+
<param name="minIdle" value="0">
|
573
|
+
<comment>The minimum of idle instances in pool.</comment>
|
574
|
+
</param>
|
575
|
+
<param name="minEvictableIdleTimeMillis" value="1800000">
|
576
|
+
<comment>The minimum amount of time in milliseconds an object can be
|
577
|
+
idle in pool before eligible for eviction (if applicable). A value
|
578
|
+
less than zero indicates no object will be evicted due to idle time
|
579
|
+
alone.</comment>
|
580
|
+
</param>
|
581
|
+
<param name="timeBetweenEvictionRunsMillis" value="-1">
|
582
|
+
<comment>The time in milliseconds to sleep between runs of the idle
|
583
|
+
object evictor thread. A value less than zero indicates no idle
|
584
|
+
evictor thread is run.</comment>
|
585
|
+
</param>
|
586
|
+
</datastore>
|
587
|
+
<datastore id="localDerbyPool">
|
588
|
+
<comment>Derby database on localhost running on port 1527 Each
|
589
|
+
connection pool instance has several configuration parameter that
|
590
|
+
can be used to tune the options for the connection pool. It is
|
591
|
+
recommended that you not change the default values unless you are
|
592
|
+
trying to address a specific performance issue. For additional
|
593
|
+
information regarding connection pool options, refer to the Apache
|
594
|
+
Commons Pool API documentation at
|
595
|
+
http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
|
596
|
+
<param name="maxIdle" value="10">
|
597
|
+
<comment>The maximum number of idle instances in pool.</comment>
|
598
|
+
</param>
|
599
|
+
<param name="testOnBorrow" value="true">
|
600
|
+
<comment>When true objects are validated before borrowed from the
|
601
|
+
pool.</comment>
|
602
|
+
</param>
|
603
|
+
<param name="testWhileIdle" value="true">
|
604
|
+
<comment>When true, objects are validated by the idle object evictor
|
605
|
+
thread.</comment>
|
606
|
+
</param>
|
607
|
+
<param name="ddlConverter" value="org.fcrepo.server.utilities.DerbyDDLConverter"/>
|
608
|
+
<param name="dbUsername" value="fedoraAdmin">
|
609
|
+
<comment>The database user name.</comment>
|
610
|
+
</param>
|
611
|
+
<param name="testOnReturn" value="true">
|
612
|
+
<comment>When true, objects are validated before returned to the
|
613
|
+
pool.</comment>
|
614
|
+
</param>
|
615
|
+
<param name="maxActive" value="100">
|
616
|
+
<comment>The maximum number of active instances in pool.</comment>
|
617
|
+
</param>
|
618
|
+
<param name="dbPassword" value="fedoraAdmin">
|
619
|
+
<comment>The database password.</comment>
|
620
|
+
</param>
|
621
|
+
<param name="jdbcURL" value="jdbc:derby:fedora/default/derby/fedora3;create=true">
|
622
|
+
<comment>The JDBC connection URL.</comment>
|
623
|
+
</param>
|
624
|
+
<param name="whenExhaustedAction" value="1">
|
625
|
+
<comment>Action to take when a new object is requested and the the pool has
|
626
|
+
reached maximum number of active objects. Valid values are:
|
627
|
+
0 (fail i.e., throw Exception)
|
628
|
+
1 (block i.e., wait until pool resources are freed)
|
629
|
+
2 (grow i.e., increase the size of the pool).</comment>
|
630
|
+
</param>
|
631
|
+
<param name="numTestsPerEvictionRun" value="3">
|
632
|
+
<comment>The number of objects to be examined on each run of idle
|
633
|
+
evictor thread (if applicable). A value less than zero indicates
|
634
|
+
that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
|
635
|
+
</param>
|
636
|
+
<param name="jdbcDriverClass" value="org.apache.derby.jdbc.EmbeddedDriver">
|
637
|
+
<comment>The JDBC driver class name.</comment>
|
638
|
+
</param>
|
639
|
+
<param name="maxWait" value="-1">
|
640
|
+
<comment>The maximum amount of time in milliseconds the
|
641
|
+
borrowObject() method should wait before throwing an Exception when
|
642
|
+
whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
|
643
|
+
than zero indicates block indefinitely.</comment>
|
644
|
+
</param>
|
645
|
+
<param name="minIdle" value="0">
|
646
|
+
<comment>The minimum of idle instances in pool.</comment>
|
647
|
+
</param>
|
648
|
+
<param name="minEvictableIdleTimeMillis" value="1800000">
|
649
|
+
<comment>The minimum amount of time in milliseconds an object can be
|
650
|
+
idle in pool before eligible for eviction (if applicable). A value
|
651
|
+
less than zero indicates no object will be evicted due to idle time
|
652
|
+
alone.</comment>
|
653
|
+
</param>
|
654
|
+
<param name="timeBetweenEvictionRunsMillis" value="-1">
|
655
|
+
<comment>The time in milliseconds to sleep between runs of the idle
|
656
|
+
object evictor thread. A value less than zero indicates no idle
|
657
|
+
evictor thread is run.</comment>
|
658
|
+
</param>
|
659
|
+
</datastore>
|
660
|
+
<datastore id="localOraclePool">
|
661
|
+
<comment>Oracle database on localhost with SID=fedora3 Each
|
662
|
+
connection pool instance has several configuration parameter that
|
663
|
+
can be used to tune the options for the connection pool. It is
|
664
|
+
recommended that you not change the default values unless you are
|
665
|
+
trying to address a specific performance issue. For additional
|
666
|
+
information regarding connection pool options, refer to the Apache
|
667
|
+
Commons Pool API documentation at
|
668
|
+
http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
|
669
|
+
<param name="maxIdle" value="10">
|
670
|
+
<comment>The maximum number of idle instances in pool.</comment>
|
671
|
+
</param>
|
672
|
+
<param name="testOnBorrow" value="true">
|
673
|
+
<comment>When true objects are validated before borrowed from the
|
674
|
+
pool.</comment>
|
675
|
+
</param>
|
676
|
+
<param name="testWhileIdle" value="true">
|
677
|
+
<comment>When true, objects are validated by the idle object evictor
|
678
|
+
thread.</comment>
|
679
|
+
</param>
|
680
|
+
<param name="validationQuery" value="select 'validationQuery' from dual">
|
681
|
+
<comment>The query to run when validating connections.
|
682
|
+
Connections are validated according to the testOnBorrow,
|
683
|
+
testOnReturn, and testWhileIdle configuration values.
|
684
|
+
If this is specified, it must be a SQL SELECT statement
|
685
|
+
that returns at least one row. If this is NOT specified,
|
686
|
+
validation tests will not be run.</comment>
|
687
|
+
</param>
|
688
|
+
<param name="ddlConverter" value="org.fcrepo.server.utilities.OracleDDLConverter"/>
|
689
|
+
<param name="dbUsername" value="fedoraAdmin">
|
690
|
+
<comment>The database user name.</comment>
|
691
|
+
</param>
|
692
|
+
<param name="connection.SetBigStringTryClob" value="true"/>
|
693
|
+
<param name="testOnReturn" value="true">
|
694
|
+
<comment>When true, objects are validated before returned to the
|
695
|
+
pool.</comment>
|
696
|
+
</param>
|
697
|
+
<param name="maxActive" value="100">
|
698
|
+
<comment>The maximum number of active instances in pool.</comment>
|
699
|
+
</param>
|
700
|
+
<param name="dbPassword" value="fedoraAdmin">
|
701
|
+
<comment>The database password.</comment>
|
702
|
+
</param>
|
703
|
+
<param name="jdbcURL" value="jdbc:oracle:thin:@localhost:1521:fedora3">
|
704
|
+
<comment>The JDBC connection URL.</comment>
|
705
|
+
</param>
|
706
|
+
<param name="whenExhaustedAction" value="1">
|
707
|
+
<comment>Action to take when a new object is requested and the the pool has
|
708
|
+
reached maximum number of active objects. Valid values are:
|
709
|
+
0 (fail i.e., throw Exception)
|
710
|
+
1 (block i.e., wait until pool resources are freed)
|
711
|
+
2 (grow i.e., increase the size of the pool).</comment>
|
712
|
+
</param>
|
713
|
+
<param name="numTestsPerEvictionRun" value="3">
|
714
|
+
<comment>The number of objects to be examined on each run of idle
|
715
|
+
evictor thread (if applicable). A value less than zero indicates
|
716
|
+
that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
|
717
|
+
</param>
|
718
|
+
<param name="jdbcDriverClass" value="oracle.jdbc.OracleDriver">
|
719
|
+
<comment>The JDBC driver class name.</comment>
|
720
|
+
</param>
|
721
|
+
<param name="maxWait" value="-1">
|
722
|
+
<comment>The maximum amount of time in milliseconds the
|
723
|
+
borrowObject() method should wait before throwing an Exception when
|
724
|
+
whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
|
725
|
+
than zero indicates block indefinitely.</comment>
|
726
|
+
</param>
|
727
|
+
<param name="minIdle" value="0">
|
728
|
+
<comment>The minimum of idle instances in pool.</comment>
|
729
|
+
</param>
|
730
|
+
<param name="minEvictableIdleTimeMillis" value="1800000">
|
731
|
+
<comment>The minimum amount of time in milliseconds an object can be
|
732
|
+
idle in pool before eligible for eviction (if applicable). A value
|
733
|
+
less than zero indicates no object will be evicted due to idle time
|
734
|
+
alone.</comment>
|
735
|
+
</param>
|
736
|
+
<param name="timeBetweenEvictionRunsMillis" value="-1">
|
737
|
+
<comment>The time in milliseconds to sleep between runs of the idle
|
738
|
+
object evictor thread. A value less than zero indicates no idle
|
739
|
+
evictor thread is run.</comment>
|
740
|
+
</param>
|
741
|
+
</datastore>
|
742
|
+
<datastore id="localPostgreSQLPool">
|
743
|
+
<comment>PostgreSQL database on localhost with db name of fedora3. Each
|
744
|
+
connection pool instance has several configuration parameter that
|
745
|
+
can be used to tune the options for the connection pool. It is
|
746
|
+
recommended that you not change the default values unless you are
|
747
|
+
trying to address a specific performance issue. For additional
|
748
|
+
information regarding connection pool options, refer to the Apache
|
749
|
+
Commons Pool API documentation at
|
750
|
+
http://jakarta.apache.org/commons/pool/apidocs/index.html.</comment>
|
751
|
+
<param name="maxIdle" value="10">
|
752
|
+
<comment>The maximum number of idle instances in pool.</comment>
|
753
|
+
</param>
|
754
|
+
<param name="testOnBorrow" value="true">
|
755
|
+
<comment>When true objects are validated before borrowed from the
|
756
|
+
pool.</comment>
|
757
|
+
</param>
|
758
|
+
<param name="testWhileIdle" value="true">
|
759
|
+
<comment>When true, objects are validated by the idle object evictor
|
760
|
+
thread.</comment>
|
761
|
+
</param>
|
762
|
+
<param name="validationQuery" value="select 1">
|
763
|
+
<comment>The query to run when validating connections.
|
764
|
+
Connections are validated according to the testOnBorrow,
|
765
|
+
testOnReturn, and testWhileIdle configuration values.
|
766
|
+
If this is specified, it must be a SQL SELECT statement
|
767
|
+
that returns at least one row. If this is NOT specified,
|
768
|
+
validation tests will not be run.</comment>
|
769
|
+
</param>
|
770
|
+
<param name="ddlConverter" value="org.fcrepo.server.utilities.PostgresDDLConverter"/>
|
771
|
+
<param name="dbUsername" value="fedoraAdmin">
|
772
|
+
<comment>The database user name.</comment>
|
773
|
+
</param>
|
774
|
+
<param name="testOnReturn" value="true">
|
775
|
+
<comment>When true, objects are validated before returned to the
|
776
|
+
pool.</comment>
|
777
|
+
</param>
|
778
|
+
<param name="maxActive" value="100">
|
779
|
+
<comment>The maximum number of active instances in pool.</comment>
|
780
|
+
</param>
|
781
|
+
<param name="dbPassword" value="fedoraAdmin">
|
782
|
+
<comment>The database password.</comment>
|
783
|
+
</param>
|
784
|
+
<param name="jdbcURL" value="jdbc:postgresql:fedora3">
|
785
|
+
<comment>The JDBC connection URL.</comment>
|
786
|
+
</param>
|
787
|
+
<param name="whenExhaustedAction" value="1">
|
788
|
+
<comment>Action to take when a new object is requested and the the pool has
|
789
|
+
reached maximum number of active objects. Valid values are:
|
790
|
+
0 (fail i.e., throw Exception)
|
791
|
+
1 (block i.e., wait until pool resources are freed)
|
792
|
+
2 (grow i.e., increase the size of the pool).</comment>
|
793
|
+
</param>
|
794
|
+
<param name="numTestsPerEvictionRun" value="3">
|
795
|
+
<comment>The number of objects to be examined on each run of idle
|
796
|
+
evictor thread (if applicable). A value less than zero indicates
|
797
|
+
that ceil(numIdle)/abs(numTestsPerEvictionRun) will be run.</comment>
|
798
|
+
</param>
|
799
|
+
<param name="jdbcDriverClass" value="org.postgresql.Driver">
|
800
|
+
<comment>The JDBC driver class name.</comment>
|
801
|
+
</param>
|
802
|
+
<param name="maxWait" value="-1">
|
803
|
+
<comment>The maximum amount of time in milliseconds the
|
804
|
+
borrowObject() method should wait before throwing an Exception when
|
805
|
+
whenExhaustedAction is set to WHEN_EXHAUSTED_BLOCK. A value less
|
806
|
+
than zero indicates block indefinitely.</comment>
|
807
|
+
</param>
|
808
|
+
<param name="minIdle" value="0">
|
809
|
+
<comment>The minimum of idle instances in pool.</comment>
|
810
|
+
</param>
|
811
|
+
<param name="minEvictableIdleTimeMillis" value="1800000">
|
812
|
+
<comment>The minimum amount of time in milliseconds an object can be
|
813
|
+
idle in pool before eligible for eviction (if applicable). A value
|
814
|
+
less than zero indicates no object will be evicted due to idle time
|
815
|
+
alone.</comment>
|
816
|
+
</param>
|
817
|
+
<param name="timeBetweenEvictionRunsMillis" value="-1">
|
818
|
+
<comment>The time in milliseconds to sleep between runs of the idle
|
819
|
+
object evictor thread. A value less than zero indicates no idle
|
820
|
+
evictor thread is run.</comment>
|
821
|
+
</param>
|
822
|
+
</datastore>
|
823
|
+
<datastore id="localMulgaraTriplestore">
|
824
|
+
<comment>local Mulgara Triplestore used by the Resource Index</comment>
|
825
|
+
<param name="poolInitialSize" value="3">
|
826
|
+
<comment>The initial size of the session pool used for queries.
|
827
|
+
Note: A value of 0 will cause the Resource Index to operate in
|
828
|
+
synchronized mode: concurrent read/write requests are put in a queue
|
829
|
+
and handled in FIFO order; this will severely impair performance and
|
830
|
+
is only intended for debugging.</comment>
|
831
|
+
</param>
|
832
|
+
<param name="bufferSafeCapacity" value="40000">
|
833
|
+
<comment>The maximum size the buffer can reach before being forcibly
|
834
|
+
flushed. If this threshold is reached, flushing will occur in the
|
835
|
+
foreground and the buffer will be locked for writing until it is
|
836
|
+
finished. This should be larger than autoFlushBufferSize.</comment>
|
837
|
+
</param>
|
838
|
+
<param name="autoCreate" value="true">
|
839
|
+
<comment>Create the model if it doesn't already exist.
|
840
|
+
At startup, the model will be automatically created. In addition, an
|
841
|
+
XML schema datatyped model named "xsd" will also be automatically
|
842
|
+
created.</comment>
|
843
|
+
</param>
|
844
|
+
<param name="bufferFlushBatchSize" value="20000">
|
845
|
+
<comment>The number of updates to send to the triplestore at a time.
|
846
|
+
This should be the same size as, or smaller than
|
847
|
+
autoFlushBufferSize.</comment>
|
848
|
+
</param>
|
849
|
+
<param name="autoTextIndex" value="false">
|
850
|
+
<comment>Whether to propagate adds/deletes to a full-text
|
851
|
+
[Full-Text] model automatically. While a very useful feature,
|
852
|
+
enabling full-text indexing adds significantly to object ingest
|
853
|
+
times. If true, the text model will be named modelName-fullText.
|
854
|
+
Note that if this is true and autoCreate is true, the text model
|
855
|
+
will also be created if it doesn't already exist.</comment>
|
856
|
+
</param>
|
857
|
+
<param name="poolMaxGrowth" value="-1">
|
858
|
+
<comment>Maximum number of additional sessions the pool may add. If
|
859
|
+
specified as -1, no limit will be placed on pool growth.</comment>
|
860
|
+
</param>
|
861
|
+
<param name="remote" value="false">
|
862
|
+
<comment>Tells the connector to communicate with Mulgara in remote or
|
863
|
+
local mode. If true, the host parameter must be defined. If false,
|
864
|
+
the path parameter must be defined.</comment>
|
865
|
+
</param>
|
866
|
+
<param name="autoFlushDormantSeconds" value="5">
|
867
|
+
<comment>Seconds of buffer inactivity that will trigger an
|
868
|
+
auto-flush. If this threshold is reached, flushing will occur in the
|
869
|
+
background, during which time the buffer is still available for
|
870
|
+
writing.</comment>
|
871
|
+
</param>
|
872
|
+
<param name="serverName" value="fedora">
|
873
|
+
<comment>The server name for rmi binding.</comment>
|
874
|
+
</param>
|
875
|
+
<param name="autoFlushBufferSize" value="20000">
|
876
|
+
<comment>The size at which the buffer should be auto-flushed. If
|
877
|
+
this threshold is reached, flushing will occur in the background,
|
878
|
+
during which time the buffer is still available for
|
879
|
+
writing.</comment>
|
880
|
+
</param>
|
881
|
+
<param name="modelName" value="ri">
|
882
|
+
<comment>The name of the model to use.</comment>
|
883
|
+
</param>
|
884
|
+
<param name="readOnly" value="false">
|
885
|
+
<comment>Whether the triplestore should be read-only. Most Fedora
|
886
|
+
repositories will set this to false.</comment>
|
887
|
+
</param>
|
888
|
+
<param name="path" value="data/resourceIndex" isFilePath="true">
|
889
|
+
<comment>The local path to the main triplestore directory.</comment>
|
890
|
+
</param>
|
891
|
+
<param name="connectorClassName" value="org.trippi.impl.mulgara.MulgaraConnector">
|
892
|
+
<comment>The name of the Trippi Connector class used to communicate
|
893
|
+
with the triplestore.</comment>
|
894
|
+
</param>
|
895
|
+
</datastore>
|
896
|
+
<datastore id="localPostgresMPTTriplestore">
|
897
|
+
<comment>Example local MPTStore backed by Postgres.
|
898
|
+
To use this triplestore for the Resource Index:
|
899
|
+
1) In fedora.fcfg, change the "datastore" parameter of the
|
900
|
+
ResourceIndex module to localPostgresMPTTriplestore.
|
901
|
+
2) Login to your Postgres server as an administrative user and
|
902
|
+
run the following commands:
|
903
|
+
CREATE ROLE "fedoraAdmin" LOGIN PASSWORD 'fedoraAdmin'
|
904
|
+
NOINHERIT CREATEDB
|
905
|
+
VALID UNTIL 'infinity';
|
906
|
+
CREATE DATABASE "riTriples"
|
907
|
+
WITH ENCODING='SQL_ASCII'
|
908
|
+
OWNER="fedoraAdmin";
|
909
|
+
3) Make sure you can login to your Postgres server as fedoraAdmin.
|
910
|
+
4) Download the appropriate Postgres JDBC 3 driver from
|
911
|
+
http://jdbc.postgresql.org/download.html
|
912
|
+
and make sure it's accessible to your servlet container.
|
913
|
+
If you're running Tomcat, putting it in common/lib/ will work.</comment>
|
914
|
+
<param name="fetchSize" value="1000"/>
|
915
|
+
<param name="poolInitialSize" value="3"/>
|
916
|
+
<param name="bufferSafeCapacity" value="2000"/>
|
917
|
+
<param name="bufferFlushBatchSize" value="1000"/>
|
918
|
+
<param name="backslashIsEscape" value="true"/>
|
919
|
+
<param name="autoFlushDormantSeconds" value="5"/>
|
920
|
+
<param name="password" value="fedoraAdmin"/>
|
921
|
+
<param name="autoFlushBufferSize" value="1000"/>
|
922
|
+
<param name="username" value="fedoraAdmin"/>
|
923
|
+
<param name="poolMaxSize" value="10"/>
|
924
|
+
<param name="jdbcURL" value="jdbc:postgresql://localhost/riTriples"/>
|
925
|
+
<param name="ddlGenerator" value="org.nsdl.mptstore.impl.postgres.PostgresDDLGenerator"/>
|
926
|
+
<param name="connectorClassName" value="org.trippi.impl.mpt.MPTConnector"/>
|
927
|
+
<param name="jdbcDriver" value="org.postgresql.Driver"/>
|
928
|
+
</datastore>
|
929
|
+
<datastore id="apimUpdateMessages">
|
930
|
+
<comment>Messaging Destination for API-M events which update the repository</comment>
|
931
|
+
<param name="messageTypes" value="apimUpdate">
|
932
|
+
<comment>A space-separated list of message types that will be
|
933
|
+
delivered to this Destination. Currently, "apimUpdate" and
|
934
|
+
"apimAccess" are the only supported message types.</comment>
|
935
|
+
</param>
|
936
|
+
<param name="name" value="fedora.apim.update"/>
|
937
|
+
<param name="type" value="topic">
|
938
|
+
<comment>Optional, defaults to topic.</comment>
|
939
|
+
</param>
|
940
|
+
</datastore>
|
941
|
+
<datastore id="apimAccessMessages">
|
942
|
+
<comment>Messaging Destination for API-M events which did not make changes to the repository</comment>
|
943
|
+
<param name="messageTypes" value="apimAccess">
|
944
|
+
<comment>A space-separated list of message types that will be
|
945
|
+
delivered to this Destination. Currently, "apimUpdate" and
|
946
|
+
"apimAccess" are the only supported message types.</comment>
|
947
|
+
</param>
|
948
|
+
<param name="name" value="fedora.apim.access"/>
|
949
|
+
<param name="type" value="topic">
|
950
|
+
<comment>Optional, defaults to topic.</comment>
|
951
|
+
</param>
|
952
|
+
</datastore>
|
953
|
+
</server>
|