Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

324 lines (272 sloc) 13.934 kB
# WARNING: DO NOT EDIT THIS FILE (unless you are changing the underlying code)
# Instead, create a file called local.yml in the same place,
# copy any sections you want to change to it, and edit them there.
# Your secret key for verifying cookie session data integrity.
# If you change this key, all old sessions will become invalid!
# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
# do not use the defaults in production!
SESSION_KEY: '_otwarchive_session'
SESSION_SECRET: '898f6d0363863ec79d782238cd1c5767636d712cc0d138238bcd5bfc9d2672fb852380050e52c03a0401175d909c09dba48512a119d46b126a84c2dd05716eb5'
# email addresses
RETURN_ADDRESS: 'do-not-reply@example.org'
SUPPORT_ADDRESS: 'support@example.org'
ABUSE_ADDRESS: 'abuse@example.org'
ADMIN_ADDRESS: 'admin@example.org'
QUESTION_ADDRESS: 'questions@example.org'
WEBMASTER_ADDRESS: 'webmaster@example.org'
ERROR_ADDRESS: errors@example.org
FEEDBACK_ADDRESS: feedback@example.org
ERROR_PREFIX: "[ERROR] "
# Because the default email addresses are fake,
# email delivery is turned off by default, even for production.
# The log file will nonetheless show "Sent mail:"
#
# Note that this is independent from whether the scheduled email-sending
# tasks will be run -- to make changes to that, please see schedule.rb
# and your deploy file.
PERFORM_DELIVERIES: false
# email server
SMTP_SERVER: localhost
SMTP_PORT: 25
SMTP_DOMAIN: localhost
# if required for email authentication
#SMTP_USER:
#SMTP_PASSWORD:
#SMTP_AUTHENTICATION: # :plain, :login or :cram_md5
# Branding
APP_URL: 'http://www.example.org'
APP_NAME: 'Example Archive'
APP_HOST: 'archiveofourown.org'
APP_SHORT_NAME: 'AO3'
LOGO: 'logo.png'
ALT_LOGO: 'AO3 logo - the letters A O 3 combined with arms raised in celebration, symbolizing the joy of fannish creation in the Archive'
OTWLOGO: 'OTWLogo.png'
OTWALT_LOGO: 'OTW Logo:closing the circle of the copyright symbol, it symbolizes our creative engagement with media: participating and not just consuming.'
REVISION: ''
# tag settings
DELIMITER_FOR_INPUT: ',' # if you change this, you will need to change
# validates_format_of :name, in app/models/tag.rb
DELIMITER_FOR_OUTPUT: ', '
# accounts and invitations
# these can be overridden in the admin controller
INVITE_FROM_QUEUE_ENABLED: true
INVITE_FROM_QUEUE_NUMBER: 10
INVITE_FROM_QUEUE_FREQUENCY: 7
# this is whether or not people without invitations can create accounts
ACCOUNT_CREATION_ENABLED: false
DAYS_TO_PURGE_UNACTIVATED: 7
# number of invites users can request
MAX_USER_INVITE_REQUEST: 25
# this determines how long we keep processed results like tag set nominations in redis
DAYS_TO_SAVE_PROCESSED: 56
# validation values -- max/min lengths
TITLE_MAX: 255
TITLE_MIN: 1
SUMMARY_MAX: 1250
NOTES_MAX: 5000
COMMENT_MAX: 4300
TAG_MAX: 100
CONTENT_MIN: 10
CONTENT_MAX: 510000
CONTENT_MAX_DISPLAYED: 500000
LOGNOTE_MIN: 5
LOGNOTE_MAX: 1250
FEEDBACK_SUMMARY_MAX: 100
INFO_MAX: 100000
FAQ_MAX: 200000
ICON_ALT_MAX: 250
ICON_COMMENT_MAX: 50
# max number of tags of each type allowed in challenge prompts (requests/offers)
# increasing this number can lead to slower automated matching
PROMPT_TAGS_MAX: 20
# max number of prompts of each type (offer, request) allowed
PROMPTS_MAX: 10
# max for prompt memes (can be much higher than for gift exchanges, as there is no matching)
PROMPT_MEME_PROMPTS_MAX: 50
# max number of works/chapters that can be imported
IMPORT_MAX_WORKS: 25
IMPORT_MAX_CHAPTERS: 200
IMPORT_MAX_WORKS_BY_ARCHIVIST: 200
# number of items in various displays
ITEMS_PER_PAGE: 25
# must be less than ITEMS_PER_PAGE above
NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD: 5
COMMENT_THREAD_MAX_DEPTH: 5
TAGS_PER_LINE: 12
TAGS_IN_CLOUD: 200
TAG_LIST_LIMIT: 300
# how many options there should be before we show a scrollable window, and how many there
# can be before we just use an autocomplete instead
OPTIONS_TO_SHOW: 3
MAX_OPTIONS_TO_SHOW: 500
# how many signups in a challenge before we move to static summaries generated hourly
MAX_SIGNUPS_FOR_LIVE_SUMMARY: 20
# maximum number of records retrieved by sphinx.
# http://www.sphinxsearch.com/docs/current.html#conf-max-matches
# edit max_matches in config/sphinx.yml to match
# edit public/help/work-search-results-help.html to match
SEARCH_RESULTS_MAX: 1000
# Tag kinds and default tags
WARNING_CATEGORY_NAME: 'Archive Warning'
WARNING_DEFAULT_TAG_NAME: 'Choose Not To Use Archive Warnings'
WARNING_DEFAULT_TAG_DISPLAY_NAME: 'Author Chose Not To Use Archive Warnings'
WARNING_NONE_TAG_NAME: 'No Archive Warnings Apply'
WARNING_NONE_TAG_DISPLAY_NAME: 'No Archive Warnings Apply'
WARNING_VIOLENCE_TAG_NAME: 'Graphic Depictions Of Violence'
WARNING_DEATH_TAG_NAME: 'Major Character Death'
WARNING_NONCON_TAG_NAME: 'Rape/Non-Con'
WARNING_CHAN_TAG_NAME: 'Underage'
RATING_CATEGORY_NAME: 'Rating'
RATING_DEFAULT_TAG_NAME: 'Not Rated'
RATING_EXPLICIT_TAG_NAME: 'Explicit'
RATING_MATURE_TAG_NAME: 'Mature'
RATING_TEEN_TAG_NAME: 'Teen And Up Audiences'
RATING_GENERAL_TAG_NAME: 'General Audiences'
CATEGORY_CATEGORY_NAME: 'Category'
CATEGORY_GEN_TAG_NAME: 'Gen'
CATEGORY_HET_TAG_NAME: 'F/M'
CATEGORY_SLASH_TAG_NAME: 'M/M'
CATEGORY_FEMSLASH_TAG_NAME: 'F/F'
CATEGORY_MULTI_TAG_NAME: 'Multi'
CATEGORY_OTHER_TAG_NAME: 'Other'
MEDIA_CATEGORY_NAME: 'Media'
MEDIA_NO_TAG_NAME: 'No Media'
MEDIA_UNCATEGORIZED_NAME: 'Uncategorized Fandoms'
FANDOM_CATEGORY_NAME: 'Fandom'
FANDOM_NO_TAG_NAME: 'No Fandom'
RELATIONSHIP_CATEGORY_NAME: 'Relationship'
CHARACTER_CATEGORY_NAME: 'Character'
FREEFORM_CATEGORY_NAME: 'Additional Tags'
COMMON_CATEGORY_NAME: 'Common'
BANNED_CATEGORY_NAME: 'Banned'
# DATE TIME FORMAT see http://ruby-doc.org/core/classes/Time.html#M000392
DEFAULT_DATETIME_FORMAT: '%Y-%m-%d %I:%M%p'
# SEARCH TIPS
SEARCH_TIPS: ['tag: arthur/merlin, words: >1000', 'words: 100', 'tag: buffy gen teen "no archive warnings"', 'tag: lex slash (mature|explicit)', '"cerulean orbs"']
# This is used to determine how many recent items
# to cache for recent lookups -- eg if we want to
# provide a "ten most recent" items to browse.
# used in CacheFinds module -- include CacheFinds in a model
# and the methods Model.recent and Model.last(#) will be
# enabled, cached on production/test environments.
MAX_RECENT: 20
# This is used to determine how many works or how many authors have to be
# present in order for anonymous or mystery works to begin being displayed
ANONYMOUS_THRESHOLD_COUNT: 10
# SANITIZER VERSION
SANITIZER_VERSION: 1
# parameters that must be natural integers and their default values
NONZERO_INTEGER_PARAMETERS:
page: 1
per_page: 25
# These fields are query fields and are allowed to contain "less than" values
FIELDS_ALLOWING_LESS_THAN: ["query", "words", "kudos", "hits", "date"]
# Only the following fields are allowed to have HTML. In all others,
# all HTML tags will be stripped.
#
# NOTE: the exact HTML tags and attributes and protocols allowed are defined in
# initializers/sanitizer_config.rb
#
# If you add a new field to this list, you need to:
# - make sure that every model that contains the field also has a matching field "[fieldname]_sanitizer_version"
# Example:
# add_column :chapters, :content_sanitizer_version, :integer, :default => 0, :null => false, :limit => 2
#
# - make sure in the model that this field is NOT accessible (eg "attr_protected :content_sanitizer_version")
#
# - when you load the field you should use sanitize_field(object, :fieldname)
#
# This will ensure that the field has been sanitized with the latest version of the sanitizer.
#
FIELDS_ALLOWING_HTML: ["about_me", "banner_text", "comment", "content", "description", "endnotes", "faq", "intro", "note", "notes",
"rules", "signup_instructions_general", "signup_instructions_offers", "signup_instructions_requests", "summary"]
FIELDS_ALLOWING_HTML_ENTITIES: ["title"]
FIELDS_ALLOWING_VIDEO_EMBEDS: ["content"]
FIELDS_ALLOWING_CSS: ["content", "endnotes", "notes"]
# Allowed CSS
#
# *** IMPORTANT: if you edit these values please also update the css-help.html file in public/help ***
#
# the following properties and keywords will be ADDED to the default set allowed in user-submitted CSS code, along with:
# - hex and rgb color values
# - numeric values specified with percentages or cm|em|ex|in|mm|pc|pt|px|%
# - image files specified with url(http://image.url/blahblah/whatever.(jpg|png|gif))
#
# We use this list for properties which can take shorthand values and also have subproperties or variants
# (ie, because "border" is in here, we allow through: border-right, border-bottom-left-radius, -moz-border-foo, etc)
# It is slightly less secure so do NOT put any property in here if you aren't sure all variations on it are okay!
SUPPORTED_CSS_SHORTHAND_PROPERTIES: ["background", "border", "box-shadow", "column", "cue", "font", "layer-background",
"layout-grid", "list-style", "margin", "marker",
"opacity", "outline", "overflow", "padding", "page-break", "pause", "scrollbar", "text", "transform", "transition"]
SUPPORTED_CSS_PROPERTIES: ["-moz-user-select", "-replace", "-use-link-source",
"accelerator", "alignment-adjust", "alignment-baseline", "appearance", "azimuth",
"baseline-shift", "behavior", "binding", "bookmark-label", "bookmark-level", "bookmark-target", "bottom", "box-align", "box-direction",
"box-flex", "box-flex-group", "box-lines", "box-orient", "box-pack", "box-sizing", "caption-side", "clear", "clip", "color", "color-profile",
"content", "counter-increment", "counter-reset", "crop", "cue", "cue-after", "cue-before",
"cursor", "direction", "display", "dominant-baseline", "drop-initial-after-adjust", "drop-initial-after-align", "drop-initial-before-adjust",
"drop-initial-before-align", "drop-initial-size", "drop-initial-value", "elevation", "empty-cells", "filter", "fit", "fit-position", "float",
"float-offset", "font", "font-effect", "font-emphasize", "font-emphasize-position", "font-emphasize-style", "font-family", "font-size", "font-size-adjust",
"font-smooth", "font-stretch", "font-style", "font-variant", "font-weight", "grid-columns", "grid-rows", "hanging-punctuation", "height", "hyphenate-after",
"hyphenate-before", "hyphenate-character", "hyphenate-lines", "hyphenate-resource", "hyphens", "icon", "image-orientation", "image-resolution", "ime-mode",
"include-source", "inline-box-align", "layout-flow", "left", "letter-spacing", "line-break", "line-height", "line-stacking", "line-stacking-ruby",
"line-stacking-shift", "line-stacking-strategy", "mark", "mark-after", "mark-before", "marks", "marquee-direction", "marquee-play-count",
"marquee-speed", "marquee-style", "max-height", "max-width", "min-height", "min-width", "move-to", "nav-down", "nav-index", "nav-left", "nav-right",
"nav-up", "opacity", "orphans", "page",
"page-policy", "phonemes", "pitch", "pitch-range", "play-during", "position", "presentation-level", "punctuation-trim",
"quotes", "rendering-intent", "resize", "rest", "rest-after", "rest-before", "richness", "right", "rotation", "rotation-point", "ruby-align", "ruby-overhang",
"ruby-position", "ruby-span", "size", "speak", "speak-header", "speak-numeral", "speak-punctuation", "speech-rate", "stress", "string-set", "tab-side",
"table-layout", "target", "target-name", "target-new", "target-position", "top", "unicode-bibi", "unicode-bidi",
"vertical-align", "visibility", "voice-balance", "voice-duration", "voice-family", "voice-pitch", "voice-pitch-range", "voice-rate", "voice-stress",
"voice-volume", "volume", "white-space", "white-space-collapse", "widows", "width", "word-break", "word-spacing", "word-wrap", "writing-mode", "z-index"]
# we allow through any string that is just a-z plus dashes (no spaces), so the only keywords you need to specify would
# be ones that have something else or url, if you want to allow url values
SUPPORTED_CSS_KEYWORDS: ["!important", "url"]
# if you include "url" in the SUPPORTED_CSS_KEYWORDS, only urls pointing to this kind of
# resource will be allowed
SUPPORTED_EXTERNAL_URLS: ["jpg", "png", "gif"]
# variables for Askimet http://akismet.com/
AKISMET_KEY: '6833ee7298cf'
AKISMET_NAME: 'http://transformativeworks.org'
DEFENSIO_KEY: '521476c0edf3ac96eab7e297f6fb92c8'
DEFENSIO_NAME: 'http://archiveofourown.org'
# bug-reporting site for the archive -- we use 16bugs; if you use something else,
# you will need to change feedbacks_controller.rb and abuse_reports_controller.rb
# to properly send to your own support tool.
BUGS_SITE: 'url for your 16bugs site like https://otw.16bugs.com'
BUGS_USER: 'admin username for your 16bugs site which should only be put into your local.yml on your production server'
BUGS_PASSWORD: 'admin password for your 16bugs site which should only be put into your local.yml on your production server'
DEFAULT_LANGUAGE_SHORT: 'en'
DEFAULT_LANGUAGE_NAME: 'English'
DEFAULT_LOCALE_ISO: 'en'
DEFAULT_LOCALE_NAME: 'English (US)'
#Allow OpenID Authentication
USE_OPENID: true
# Allow orphaninig
ORPHANING_ALLOWED: true
# Help directory, must be in the public folder.
# Create subfolders for each supported language
# (eg, /help/fr/ contains the French versions of the help)
HELP_DIRECTORY: '/help'
# only use if you are running your app completely in a subfolder of your domain
#PRODUCTION_URL_ROOT: "/archive"
# turn delta indexes on and off
USE_DELTA_INDEXING: false
# production caching
#PRODUCTION_CACHE: "memory"
PRODUCTION_CACHE: "memcache"
# how long we cache search results in minutes
AUTOCOMPLETE_EXPIRATION_TIME: 10
# Turn this off in local.yml to keep the development footer/profiling code from running
DEVELOPMENT_PROFILING_ENABLED: true
# These are the actions logged in the user history - the log_items table
ACTION_ACTIVATE: 0
ACTION_ADD_ROLE: 1
ACTION_REMOVE_ROLE: 2
ACTION_SUSPEND: 3
ACTION_UNSUSPEND: 4
ACTION_BAN: 5
ACTION_WARN: 6
ACTION_RENAME: 7
ACTION_PASSWORD_RESET: 8
ACTION_NEW_EMAIL: 9
Jump to Line
Something went wrong with that request. Please try again.