Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Avalon Web Application

...

config/authentication.yml

...

---
- :name: My LDAP Server
:logo: auth_provider_logo.png
:provider: :ldap
:params:
:method: :ssl
:host: ldap.example.edu
:port: 636
:bind_dn: cn=avalon,ou=service,dc=example,dc=edu
:password: avalon_bind_password

...

 

...

config/database.yml

...

Info

This documentation is for Release 7.x and above.
For older releases:

  • Release 6.2.x, see v.51.
  • Release 5.x, see v.47.
  • Release 4.0, see v.40.
  • Release 3.3, see v.36.
  • Release 3.2, see v.32.
  • Release 3.0 and 3.1 version of this page, see v.31.
  • Release 2 version of this page, see v.21.
  • Release 1 version of this page, see v.9.


Info
titleNote

Changes to configuration files often require restarting Avalon to take affect. They also require Sidekiq (the background jobs processor) to be restarted.

It's recommended to override the default settings by creating a config/settings/<environment>.local.yml instead of modifying the config/setings.yml directly.

You can also use environment variables, for example SETTINGS__DOMAIN__HOST maps to Settings.domain.host.


Warning

Since the Config gem doesn't support arrays in environment variable, Settings.auth.configuration needs special handling, every entry needs to have a key, eg:

  SETTINGS__AUTH__CONFIGURATION__IU__NAME=Indiana University
  SETTINGS__AUTH__CONFIGURATION__IU__PROVIDER=cas
  SETTINGS__AUTH__CONFIGURATION__IU__PARAMS__CLIENT_ID=client_id_value
  SETTINGS__AUTH__CONFIGURATION__IU__PARAMS__CLIENT_SECRET=client_secret_value


Table of Contents

Avalon Web Application

config/settings.yml


ContentsEnvironment-specific Avalon configuration options
FormatYAML
Example
production:
 name: 'Avalon' # 
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000 NotesSee Configuring a Database in the Ruby on Rails Getting Started Guide for more options. Changing the database adapter will require updating Gemfile to require the correct adapter. 

config/fedora.yml

ContentsEnvironment-specific Fedora repository connection information for HydraFormatYAMLExampleproduction:
user: fedoraAdmin
password: fedoraAdmin
used in page titles

domain: host: localhost port: 3000 protocol: http

bib_retriever:
protocol: sru
url: http://
127
zgate.
0
library.
0
example.
1
edu:
8983
9000/
fedora 

config/hydrant.yml

ContentsEnvironment-specific Avalon configuration optionsFormatYAMLExampleproduction:
fedora
catdb
query: rec.id=%{bib_id}
 controlled_vocabulary:
   
namespace
path: '
numedia
config/controlled_vocabulary.yml'
 dropbox:
path: '/usr/local/masterfiles/dropbox/'
upload_uri: 'sftp://localhost/srv/avalon/dropbox'
 
matterhorn
encoding:
root: 'http://avalon-mhorn-dev.library.northwestern.edu:8080/'
engine_adapter: ffmpeg
media
presets_path: 
'/usr/local/masterfiles'
mediainfo:
config/ffmpeg_presets.yml
working_file_path: '/usr/
bin
local/
mediainfo
masterfiles'
 email:
comments: 'digitalcollections@northwestern.edu'
notification: 'digitalcollections@northwestern.edu'
support:'digitalcollections@northwestern.edu'
mailer:

smtp:
 :smtp # or aws_sdk if using Amazon SES
config:
address: 'mail-relay.iu.edu'
port: 587
enable_starttls_auto: false
 ffmpeg:
path: '/usr/bin/ffmpeg'
 fedora:
namespace: 'numedia'
 groups:
system_groups: ['administrator', 'group_manager', 'manager']
 mediainfo:
path: '/usr/bin/mediainfo'
streaming:
server: :
generic
nginx # or :
adobe
wowza
rtmp
content_
base
path: 
rtmp:
/var/
localhost/
avalon/derivatives
http_base: http://localhost:3000/streams
/

stream_token_ttl: 20 #minutes
master_file_management:
strategy: 'move'
path: '/mnt/diskarray/avalon-archive'
minio: # if using
endpoint: http://minio:9000
public_host: http://localhost:9000 # if different from endpoint
access: <minio access key>
secret: <minio secret key>
flash_message:
type: ['success', 'notice', 'error', 'alert']
message: '<p>A test message.</p>'
 solr:
configset: avalon
configset_source_path: <%= File.join(Rails.root, 'solr', 'config') %>
collection_options:
async:
auto_add_replicas:
collection:
config_name: avalon
create_node_set:
max_shards_per_node:
num_shards: 1
replication_factor:
router:
name:
field:
rule:
shards:
snitch:
zookeeper:
connection_str: "localhost:9983/configs"

redis:
host: localhost
port: 6379

controlled_vocabulary:
path: config/controlled_vocabulary.yml
auth:
configuration:
# List of available Authentication Providers and associated configurations.
# The name and logo settings are used when displaying multiple auth providers to choose from at login time.
# provider and params are passed directly to config.omniauth as described in the Devise OmniAuth Overview.
- :name: Avalon Test Auth
:provider: :identity
:params:
:fields:
- :email
- :name: Avalon Lti OAuth
:provider: :lti
:hidden: true
:params:
:oauth_credentials:
somekey: somevalue
  - :name: My LDAP Server
:logo: auth_provider_logo.png
:provider: :ldap
:params:
:method: :ssl
:host: ldap.example.edu
:port: 636
:bind_dn: cn=avalon,ou=service,dc=example,dc=edu
:password: avalon_bind_password
timeliner:
timeliner_url: https://spruce.dlib.indiana.edu/timeliner
home_page:
featured_collections: ['7m01bk80s', 'qz20ss619']
carousel_collections: ['v118rd550', 'pn89d6567', 'mp48sc83h', 'qz20ss50s']

Notes

Managing Master Files explains available strategies for how avalon can handle master files after they have been processed. 

config/matterhorn

Bibliographic Import Configuration explains how to configure Avalon to import metadata from an external source such as an OPAC.

Config overwrites should be placed in config/settings/<environment>.local.yml

If using env var, set SETTINGS__EMAIL__MAILER=aws_sdk to send emails using Amazon SES 


config/database.yml

PurposeEnvironment-specific database connection information for Rails.
FormatYAML
Example
production:
adapter: mysql2
host: localhost
database: rails
username: rails
password: rails
pool: 5
timeout: 5000 
NotesSee Configuring a Database in the Ruby on Rails Getting Started Guide for more options. Changing the database adapter will require updating Gemfile to require the correct adapter. Here are the instructions for installing the mysql adapter called mysql2.

config/fedora.yml

ContentsEnvironment-specific
Matterhorn
Fedora repository connection information for
Avalon's Matterhorn adapter
Hydra
FormatYAML
Example
production:
user: fedoraAdmin
password: fedoraAdmin
url: http://
matterhorn_system_account:CHANGE_ME@127
127.0.0.1
:8080/NotesThis file specifies the system account used to send media to and fetch updates from Matterhorn, as opposed to the public Matterhorn root URL provided in hydrant.yml, which is used solely for client-side interactions. 
:8984/fedora4/rest
base_path: /prod 

config/intercom.yml

Contents

Configuration for optional Intercom feature. Allows this instance on Avalon to push contents to another instance of Avalon.

FormatYAML
Example
intercom:
  default:
    url: https://some.avalon.com/
    api_token: a_valid_token
    import_bib_record: true
    publish: false
push_label: text for the 'push' button
Notes

Intercom utilizes the Ingest API and requires an API token to connect. This token is generated on the target Avalon with `bundle exec rake avalon:token:generate username=archivist email=archivist1@example.com`

The streaming files will remain in place. Both instances of Avalon must be able to stream from that location.


config/solr.yml

PurposeEnvironment-specific Solr connection information for Hydra
FormatYAML
Example
production:
url: http://localhost:8983/solr/
production 
avalon

config/role_map_

*

<environment>.yml

ContentsRole groups and associated members to initialize the Hydra access controls database with
FormatYAML
Example
archivist
collection_manager:
- archivist1@example.edu
- archivist2@example.edu
donor
group_manager:
- donor1@example.com
researcher
manager:
- researcher1@example.edu
registered
administrator:
- user1@example.edu
- user2@otherinstitution.edu
admin_policy_object_editor:
- archivist1@example.edu
- admin@example.edu

Opencast Matterhorn

etc/config.properties

ContentsConfiguration info for MatterhornFormatkey=valueRelevant Keys

org.opencastproject.server.url: Public URL of the Matterhorn server
org.opencastproject.streaming.url: Base URL of the streaming application
org.opencastproject.streaming.directory: Directory where streaming derivatives will be written
org.opencastproject.composer.ffmpegpath: Location of the ffmpeg binary
org.opencastproject.inspection.mediainfo.path: Location of the mediainfo binary
org.avalonmediasystem.avalon.url: Base URL of the Avalon server 

NotesOther keys and their values are documented in comments within the file 

etc/encoding/hydrant.properties (ADVANCED)

ContentsSpecifics of Avalon transcoding operationsFormatkey=valueNotesAllows specific tweaking of ffmpeg parameters for different content types and quality levels 

etc/workflows/hydrant-video.xml (ADVANCED)

etc/workflows/hydrant-audio.xml (ADVANCED)

ContentsAvalon-related transcoding and processing workflowsFormatXMLNotesSee the Matterhorn Workflow Documentation. If using Adobe Media Server be sure to disable the distribute-hls step in both files. 
NotesExample environments: development, production, test. So the filename would look like role_map_production.yml for the production environment.

config/controlled_vocabulary.yml

See Managing Controlled Vocabularies.

config/secrets.yml

Rails 4+ uses a secrets.yml file to store a secret key used for signed cookies as well as other things.  See http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml for more information.