Versions Compared

Key

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


Info

This documentation is for Release 6.3.x.
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
title

Note

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

Table of Contents

...

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 requires a key for every entry, e.g.:

  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

Configuration Files and Values

config/settings.yml


Contents

Environment-specific Avalon configuration options

Format

YAML

Example

production:

name:

'Avalon Media System'

#

used

in

page

titles


domain:

host:

localhost

port:

3000

80 protocol:

http

bib_retriever


dropbox:

protocol: sru
url: http://zgate.library.example.edu:9000/catdb
query: rec.id=%{bib_id}
 controlled_vocabulary:
   path: 'config/controlled_vocabulary.yml'
dropbox:
path: email:
comments:

path: '/usr/local/masterfiles/dropbox/'
upload_uri: 'sftp://localhost/srv/avalon/dropbox'

google_drive: # Google Drive is now an option for the dropbox modal.  See Google Drive Dropbox for more details.
client_id: id
client_secret: secret
redis_token_store_url: redis://host:port # if different from Avalon's Redis

encoding:
engine_adapter: ffmpeg
presets_path: config/ffmpeg_presets.yml
working_file_path: '/usr/local/masterfiles

/dropbox/'
upload_uri: 'sftp://localhost/srv/avalon/dropbox'



mediainfo:
path: '/usr/bin/mediainfo'

ffmpeg:
path: '/usr/bin/ffmpeg'

email:
comments: 'digitalcollections@northwestern.edu'

notification:

'digitalcollections@northwestern.edu'

support:'digitalcollections@northwestern.edu'

mailer:


smtp:
address:

:smtp # or aws_sdk if using Amazon SES
config:
address: 'mail-relay.iu.edu'

port:

587

enable_starttls_auto:

false

ffmpeg

solr:

path: '/usr/bin/ffmpeg'
 fedora:
namespace: 'numedia'
 groups:
system_groups: ['administrator', 'group_manager', 'manager']
matterhorn:
root: 'http://avalon-mhorn-dev.library.northwestern.edu:8080/'
media_path: '/usr/local/masterfiles'
mediainfo:
path: '/usr/bin/mediainfo'
streaming:
server: :generic # or :adobe
content_path: /var/avalon/rtmp_streams
rtmp_base: rtmp://localhost/avalon
http_base:

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"

streaming:
server: :nginx # or :wowza
content_path: /var/avalon/derivatives
http_base: http://localhost:3000/streams

stream_token_ttl:

20

#minutes

#minutes

redis:
host: localhost
port: 6379

groups:
system_groups: ['administrator', 'group_manager', 'manager']

master_file_management:

strategy:

'move'

path:

'/mnt/diskarray/avalon-archive'

flash

bib_

message

retriever:

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"

protocol: sru
url: http://zgate.library.example.edu:9000/catdb
query: rec.id=%{bib_id}

 controlled_vocabulary:

path: 'config/controlled_vocabulary.yml'

fedora:
namespace: 'numedia'

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>'

redis:
host: localhost
port: 6379


db: 0 # The redis database is now configurable.  0 is the default redis database.

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

recaptcha:
site_key: # Setting a site_key will enable recaptcha on the comments form
secret_key: # Required along with site_key
type: "v2_checkbox" # or "v3"
v3:
action: "comment"
minimum_score: 0.5


google_analytics_tracking_id: "your_GA_id"


max_upload_size: "4294967296" # Change maximum file size accepted for web upload, in bytes (ex is for 4 GiB).

supplemental_files:
proxy: false
waveform:
player_width: 1200 #pixels
finest_zoom: 5 #seconds
sample_rate: 41000
active_storage:
service: local
#bucket: supplementalfiles
root: 'storage' # The directory used for storing supplemental files locally can now be configured using the root setting and in s3 or minio using the bucket setting.  This avoids the need to edit config/storage.yml


controlled_digital_lending:
enable: false
collections_enabled: false # Set Controlled Digital Lending (CDL) to be enabled or disabled by default for new collections
default_lending_period: 'P14D' # ISO8601 duration format: P14D == 14.days, PT8H == 8.hours, etc.


caption_default: # Define default values in the HLS manifest for caption language and label
language: 'eng' # language should be 3 letter ISO 639-2 code
name: 'English'


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. 

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

Purpose

Environment-specific database connection information for Rails.

Format

YAML

Example

production:

adapter:

mysql2

host:

localhost

database:

rails

username:

rails

password:

rails

pool:

5

timeout:

5000 

Notes

See 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

Contents

Environment-specific Fedora repository connection information for Hydra

Format

YAML

Example

production:

user:

fedoraAdmin

password:

fedoraAdmin

url:

http://127.0.0.1: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.

Format

YAML

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/matterhorn.yml

ContentsEnvironment-specific Matterhorn connection information for Avalon's Matterhorn adapterFormatYAMLExample
production:
url: http://matterhorn_system_account:CHANGE_ME@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 avalon.yml, which is used solely for client-side interactions

.


config/solr.yml

Purpose

Environment-specific Solr connection information for Hydra

Format

YAML

Example

production:

url:

http://localhost:8983/solr/avalon


config/role_map_<environment>.yml

Contents

Role groups and associated members to initialize the Hydra access controls database with

Format

YAML

Example

collection_manager:

-

archivist1@example.edu

-

archivist2@example.edu
group_manager:

-

donor1@example.com
manager:

-

researcher1@example.edu
administrator:

-

user1@example.edu

-

user2@otherinstitution.edu

Notes

Example 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.

Opencast Matterhorn

...

etc/config.properties

...

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 

...

etc/encoding/avalon.properties (ADVANCED)

...

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

...

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

...

.

...