Base Configuration

Zenodo default application configuration.

You can customize these configuration variables on your instance by either setting environment variables prefixed with APP_, e.g.

export APP_SUPPORT_EMAIL=info@example.org

or provide an instance configuration file (Python syntax):

# ${VIRTUAL_ENV}/var/instance/invenio.cfg
SUPPORT_EMAIL = "info@example.org"

Configuration variables

zenodo.config.ACCESS_CACHE = u'invenio_cache:current_cache'

Cache for storing access restrictions

zenodo.config.ACCOUNTS_JWT_ENABLE = False

Disable JSON Web Tokens

zenodo.config.ACCOUNTS_SESSION_REDIS_URL = u'redis://localhost:6379/2'

Default cache URL for sessions.

zenodo.config.ASSETS_AUTO_BUILD = False

Switch of automatic building.

zenodo.config.ASSETS_DEBUG = False

Switch of assets debug.

zenodo.config.BABEL_DEFAULT_LANGUAGE = u'en'

Default language.

zenodo.config.BABEL_DEFAULT_TIMEZONE = u'Europe/Zurich'

Default timezone.

zenodo.config.BASE_TEMPLATE = u'zenodo_theme/page.html'

Base template for entire site.

zenodo.config.CACHE_KEY_PREFIX = u'cache::'

Cache key prefix

zenodo.config.CACHE_REDIS_DB = 0

DB

zenodo.config.CACHE_REDIS_HOST = u'localhost'

Host

zenodo.config.CACHE_REDIS_PORT = 6379

Port

zenodo.config.CACHE_REDIS_URL = u'redis://localhost:6379/0'

URL of Redis db.

zenodo.config.CACHE_TYPE = u'redis'

Default cache type.

zenodo.config.CELERY_ACCEPT_CONTENT = [u'json', u'msgpack', u'yaml']

Accepted content types for Celery.

zenodo.config.CELERY_BEAT_SCHEDULE = {u'datacite-metadata-updater': {u'kwargs': {u'max_count': 1000}, u'task': u'zenodo.modules.records.tasks.schedule_update_datacite_metadata', u'schedule': datetime.timedelta(0, 3600)}, u'stats-update-record-statistics': {u'task': u'zenodo.modules.stats.tasks.update_record_statistics', u'schedule': datetime.timedelta(0, 10800)}, u'file-checks': {u'kwargs': {u'frequency': {u'days': 14}, u'files_query': u'zenodo.modules.utils.files.checksum_verification_files_query', u'batch_interval': {u'hours': 1}, u'max_count': 0}, u'task': u'invenio_files_rest.tasks.schedule_checksum_verification', u'schedule': datetime.timedelta(0, 3600)}, u'stats-process-events': {u'task': u'invenio_stats.tasks.process_events', u'args': [(u'record-view', u'file-download')], u'schedule': datetime.timedelta(0, 1800)}, u'file-integrity-report': {u'task': u'zenodo.modules.utils.tasks.file_integrity_report', u'schedule': <crontab: 0 7 * * * (m/h/d/dM/MY)>}, u'hard-file-checks': {u'kwargs': {u'checksum_kwargs': {u'use_default_impl': True}, u'frequency': {u'days': 180}, u'max_size': 0, u'batch_interval': {u'hours': 1}, u'files_query': u'zenodo.modules.utils.files.checksum_verification_files_query'}, u'task': u'invenio_files_rest.tasks.schedule_checksum_verification', u'schedule': datetime.timedelta(0, 3600)}, u'stats-aggregate-events': {u'task': u'invenio_stats.tasks.aggregate_events', u'args': [(u'record-view-agg', u'record-view-all-versions-agg', u'record-download-agg', u'record-download-all-versions-agg')], u'schedule': datetime.timedelta(0, 3600)}, u'export': {u'kwargs': {u'job_id': u'records'}, u'task': u'zenodo.modules.exporter.tasks.export_job', u'schedule': <crontab: 0 4 * 1 * (m/h/d/dM/MY)>}, u'cleanup-indexed-deposits': {u'task': u'zenodo.modules.deposit.tasks.cleanup_indexed_deposits', u'schedule': datetime.timedelta(0, 7200)}, u'session-cleaner': {u'task': u'invenio_accounts.tasks.clean_session_table', u'schedule': datetime.timedelta(1)}, u'stats-export': {u'kwargs': {u'retry': True}, u'task': u'zenodo.modules.stats.tasks.export_stats', u'schedule': <crontab: 0 4 * * * (m/h/d/dM/MY)>}, u'indexer': {u'task': u'invenio_indexer.tasks.process_bulk_queue', u'schedule': datetime.timedelta(0, 300)}, u'embargo-updater': {u'task': u'zenodo.modules.records.tasks.update_expired_embargos', u'schedule': <crontab: 2 0 * * * (m/h/d/dM/MY)>}, u'sitemap-updater': {u'task': u'zenodo.modules.sitemap.tasks.update_sitemap_cache', u'schedule': datetime.timedelta(1)}, u'openaire-updater': {u'task': u'zenodo.modules.utils.tasks.update_search_pattern_sets', u'schedule': datetime.timedelta(0, 7200)}}

Beat schedule

zenodo.config.CELERY_BROKER_URL = u'amqp://guest:guest@localhost:5672//'

Default broker (RabbitMQ on locahost).

zenodo.config.CELERY_RESULT_BACKEND = u'redis://localhost:6379/1'

Default Celery result backend.

zenodo.config.CELERY_TASK_ROUTES = {u'zenodo_migrator.tasks.migrate_concept_recid_sips': {u'queue': u'low'}, u'invenio_files_rest.tasks.verify_checksum': {u'queue': u'low'}, u'zenodo.modules.sipstore.tasks.archive_sip': {u'queue': u'low'}, u'invenio_openaire.tasks.register_grant': {u'queue': u'low'}}

Custom task routing

zenodo.config.COLLECT_FILTER = u'zenodo.modules.theme.collect:collect_staticroot_removal'

Remove app.static_folder from source list of static folders.

zenodo.config.COMMUNITIES_ABOUT_TEMPLATE = u'zenodo_theme/communities/about.html'

Override about page template

zenodo.config.COMMUNITIES_COMMUNITY_TEMPLATE = u'zenodo_theme/communities/base.html'

Override templates to use custom search-js

zenodo.config.COMMUNITIES_CURATE_TEMPLATE = u'zenodo_theme/communities/curate.html'

Override templates to use custom search-js

zenodo.config.COMMUNITIES_DETAIL_TEMPLATE = u'zenodo_theme/communities/detail.html'

Override detail page template

zenodo.config.COMMUNITIES_JSTEMPLATE_RESULTS_CURATE = u'templates/zenodo_search_ui/results_curate.html'

Angular template for rendering search results for curation.

zenodo.config.COMMUNITIES_REQUEST_EMAIL_SENDER = u'info@zenodo.org'

Email sender for communities emails.

zenodo.config.COMMUNITIES_SEARCH_TEMPLATE = u'zenodo_theme/communities/search.html'

Override templates to use custom search-js

zenodo.config.COVER_TEMPLATE = u'zenodo_theme/page_cover.html'

Cover template for entire site.

zenodo.config.CSL_JSTEMPLATE_CITEPROC = u'templates/invenio_csl/citeproc.html'

Template for CSL citation result

zenodo.config.CSL_JSTEMPLATE_DIR = u'node_modules/invenio-csl-js/dist/templates/'

Template dirrectory for CSL

zenodo.config.CSL_JSTEMPLATE_ERROR = u'node_modules/invenio-csl-js/dist/templates/error.html'

Template for CSL error

zenodo.config.CSL_JSTEMPLATE_LIST_ITEM = u'templates/invenio_csl/item.html'

Template for CSL citation list item

zenodo.config.CSL_JSTEMPLATE_LOADING = u'node_modules/invenio-csl-js/dist/templates/loading.html'

Template for CSL loading

zenodo.config.CSL_JSTEMPLATE_TYPEAHEAD = u'node_modules/invenio-csl-js/dist/templates/typeahead.html'

Template for CSL typeahead

zenodo.config.CSL_RECORDS_API_ENDPOINT = u'/api/records/'

Records Endpoint for CSL

zenodo.config.CSL_STYLES_API_ENDPOINT = u'/api/csl/styles'

Styles Endpoint for CSL

zenodo.config.DATACITE_MAX_DESCRIPTION_SIZE = 20000

DataCite max description length

zenodo.config.DATACITE_UPDATING_RATE_PER_HOUR = 1000

DataCite updating rate.

zenodo.config.DEBUG_TB_INTERCEPT_REDIRECTS = False

Do not allow DebugToolbar to redirects redirects.

zenodo.config.DEPOSIT_CONTRIBUTOR_TYPES = [{'datacite': u'ContactPerson', 'marc': u'prc', 'label': u'Contact person'}, {'datacite': u'DataCollector', 'marc': u'col', 'label': u'Data collector'}, {'datacite': u'DataCurator', 'marc': u'cur', 'label': u'Data curator'}, {'datacite': u'DataManager', 'marc': u'dtm', 'label': u'Data manager'}, {'datacite': u'Editor', 'marc': u'edt', 'label': u'Editor'}, {'datacite': u'Researcher', 'marc': u'res', 'label': u'Researcher'}, {'datacite': u'RightsHolder', 'marc': u'cph', 'label': u'Rights holder'}, {'datacite': u'Sponsor', 'marc': u'spn', 'label': u'Sponsor'}, {'datacite': u'Other', 'marc': u'oth', 'label': u'Other'}]

Allow list of contributor types.

zenodo.config.DEPOSIT_DATACITE_MINTING_ENABLED = False

Enable the DataCite minding of DOIs after Deposit publishing

zenodo.config.DEPOSIT_DEFAULT_JSONSCHEMA = u'deposits/records/record-v1.0.0.json'

Default JSON Schema for deposit.

zenodo.config.DEPOSIT_DEFAULT_SCHEMAFORM = u'json/zenodo_deposit/deposit_form.json'

Angular Schema Form for deposit.

zenodo.config.DEPOSIT_FILES_API = u'/api/files'

Endpoint for uploading files.

zenodo.config.DEPOSIT_FILEUPLOAD_CHUNKSIZE = 15728640

Size after which files are chunked when uploaded

zenodo.config.DEPOSIT_FORM_JSONSCHEMA = u'deposits/records/legacyrecord.json'

JSON Schema for deposit Angular Schema Form.

zenodo.config.DEPOSIT_FORM_TEMPLATES = {u'grantselect': u'grantselect.html', u'checkbox': u'checkbox.html', u'fieldset': u'fieldset.html', u'radios': u'radios.html', u'strapselect': u'strapselect.html', u'actions': u'actions.html', u'radios_inline': u'radios_inline.html', u'array': u'array.html', u'select': u'select.html', u'ckeditor': u'ckeditor.html', u'textarea': u'textarea.html', u'default': u'default.html', u'button': u'button.html', u'uiselect': u'uiselect.html'}

Specific templates for the various deposit form elements.

zenodo.config.DEPOSIT_FORM_TEMPLATES_BASE = u'templates/zenodo_deposit'

Template path for angular form elements.

zenodo.config.DEPOSIT_PID_MINTER = u'zenodo_record_minter'

PID minter used during record creation.

zenodo.config.DEPOSIT_RECORDS_API = u'/api/deposit/depositions/{pid_value}'

Template for deposit records API.

zenodo.config.DEPOSIT_RECORDS_UI_ENDPOINTS = {u'depid': {u'record_class': u'zenodo.modules.deposit.api:ZenodoDeposit', u'pid_type': u'depid', u'view_imp': u'zenodo.modules.deposit.views.default_view_method', u'route': u'/deposit/<pid_value>', u'template': u'zenodo_deposit/edit.html'}}

Depoist UI endpoints

zenodo.config.DEPOSIT_REST_ENDPOINTS = {'depid': {'list_route': u'/deposit/depositions', 'max_result_window': 10000, 'delete_permission_factory_imp': <function check>, 'links_factory_imp': u'zenodo.modules.deposit.links:links_factory', 'file_item_route': u'/deposit/depositions/<pid(depid,record_class="zenodo.modules.deposit.api:ZenodoDeposit"):pid_value>/files/<file_key:key>', 'search_serializers': {u'application/json': u'zenodo.modules.records.serializers:deposit_legacyjson_v1_search', u'application/vnd.zenodo.v1+json': u'zenodo.modules.records.serializers:deposit_json_v1_search'}, 'record_loaders': {u'application/json': u'zenodo.modules.deposit.loaders:legacyjson_v1'}, 'read_permission_factory_imp': <function deposit_read_permission_factory>, 'pid_minter': u'zenodo_deposit_minter', 'search_factory_imp': u'zenodo.modules.deposit.query.search_factory', 'default_media_type': u'application/json', 'item_route': u'/deposit/depositions/<pid(depid,record_class="zenodo.modules.deposit.api:ZenodoDeposit"):pid_value>', 'record_class': u'zenodo.modules.deposit.api:ZenodoDeposit', 'pid_type': u'depid', 'file_list_route': u'/deposit/depositions/<pid(depid,record_class="zenodo.modules.deposit.api:ZenodoDeposit"):pid_value>/files', 'search_class': u'invenio_deposit.search:DepositSearch', 'files_serializers': {u'application/json': u'zenodo.modules.records.serializers:deposit_legacyjson_v1_files_response'}, 'update_permission_factory_imp': <function check>, 'pid_fetcher': u'zenodo_deposit_fetcher', 'record_serializers': {u'application/json': u'zenodo.modules.records.serializers:deposit_legacyjson_v1_response', u'application/vnd.zenodo.v1+json': u'zenodo.modules.records.serializers:deposit_json_v1_response'}, 'create_permission_factory_imp': <function check>}}

REST API configuration.

zenodo.config.DEPOSIT_SEARCH_API = u'/api/deposit/depositions'

Template for deposit list view.

zenodo.config.DEPOSIT_SEARCH_MIMETYPE = u'application/vnd.zenodo.v1+json'

Mimetype for deposit search.

zenodo.config.DEPOSIT_UI_ENDPOINT = u'{scheme}://{host}/deposit/{pid_value}'

Endpoint for deposit.

zenodo.config.DEPOSIT_UI_INDEX_TEMPLATE = u'zenodo_deposit/index.html'

Template for deposit list view.

zenodo.config.DEPOSIT_UI_JSTEMPLATE_ACTIONS = u'templates/zenodo_deposit/actions.html'

Template for <invenio-records-actions>

zenodo.config.DEPOSIT_UI_JSTEMPLATE_FILESLIST = u'templates/zenodo_deposit/list.html'

Template for <invenio-files-list>

zenodo.config.DEPOSIT_UI_JSTEMPLATE_FORM = u'templates/zenodo_deposit/form.html'

Template for <invenio-records-form>

zenodo.config.DEPOSIT_UI_JSTEMPLATE_UPLOADZONE = u'templates/zenodo_deposit/upload.html'

Template for <invenio-files-upload-zone>

zenodo.config.DEPOSIT_UI_NEW_TEMPLATE = u'zenodo_deposit/edit.html'

Template to use for UI.

zenodo.config.DEPOSIT_UI_RESPONSE_MESSAGES = {'discard': {'message': u'Changes discarded succesfully.'}, 'self': {'message': u'Saved successfully.'}, 'publish': {'message': u'Published succesfully.'}, 'delete': {'message': u'Deleted succesfully.'}}

Alerts shown when actions are completed on deposit.

zenodo.config.FILES_REST_CHECKSUM_VERIFICATION_URI_PREFIXES = []

URI prefixes of files their checksums should be verified

zenodo.config.FILES_REST_ENDPOINT = u'{scheme}://{host}/api/files/{bucket}/{key}'

URL template for generating URLs outside the application/request context

zenodo.config.FILES_REST_FILE_URI_MAX_LEN = 1000

Max URI length

zenodo.config.FILES_REST_OBJECT_KEY_MAX_LEN = 1000

Max object key length

zenodo.config.FILES_REST_PERMISSION_FACTORY = u'zenodo.modules.records.permissions:files_permission_factory'

Files REST permission factory

zenodo.config.FORMATTER_BADGES_ALLOWED_TITLES = [u'DOI', u'doi']

List of allowed titles in badges.

zenodo.config.FORMATTER_BADGES_TITLE_MAPPING = {u'doi': u'DOI'}

Mapping of titles.

zenodo.config.FRONTPAGE_ENDPOINT = u'zenodo_frontpage.index'

Frontpage endpoint.

zenodo.config.GITHUB_APP_CREDENTIALS = {'consumer_secret': u'CHANGE_ME', 'consumer_key': u'CHANGE_ME'}

Credentials for GitHub (must be changed to work).

zenodo.config.GITHUB_DEPOSIT_CLASS = u'zenodo.modules.deposit.api:ZenodoDeposit'

Set Zenodo deposit class

zenodo.config.GITHUB_METADATA_FILE = u'.zenodo.json'

GitHub metdata file

zenodo.config.GITHUB_PID_FETCHER = u'zenodo_doi_fetcher'

GitHub PID fetcher

zenodo.config.GITHUB_RECORD_SERIALIZER = u'zenodo.modules.records.serializers.githubjson_v1'

Record serializer to use for serialize record metadata

zenodo.config.GITHUB_REFRESH_TIMEDELTA = datetime.timedelta(0, 10800)

Time period after which a GitHub account sync should be initiated.

zenodo.config.GITHUB_RELEASE_CLASS = u'zenodo.modules.github.api:ZenodoGitHubRelease'

Set Zenodo deposit class

zenodo.config.GITHUB_TEMPLATE_INDEX = u'zenodo_github/settings/index.html'

Repositories list template.

zenodo.config.GITHUB_TEMPLATE_VIEW = u'zenodo_github/settings/view.html'

Repository detail view template.

zenodo.config.GITHUB_WEBHOOK_RECEIVER_URL = u'http://localhost:5000/api/hooks/receivers/github/events/?access_token={token}'

GitHub webhook url override

zenodo.config.HEADER_TEMPLATE = u'zenodo_theme/header.html'

Header template for entire site.

zenodo.config.I18N_LANGUAGES = []

Other supported languages.

zenodo.config.IIIF_RESIZE_RESAMPLE = u'PIL.Image:BICUBIC'

Improve quality of image resampling using better algorithm

zenodo.config.INDEXER_RECORD_TO_INDEX = u'zenodo.modules.indexer.utils.record_to_index'

Provide a custom record_to_index function for invenio-indexer

zenodo.config.JSONSCHEMAS_HOST = u'zenodo.org'

Hostname for JSON Schemas.

zenodo.config.LOGGING_SENTRY_CELERY = True

Celery sentry logging

zenodo.config.MAX_CONTENT_LENGTH = 104857600

Maximum upload file size via application/mulitpart-formdata

zenodo.config.OAISERVER_ADMIN_EMAILS = [u'info@zenodo.org']

Support email for OAI-PMH.

zenodo.config.OAISERVER_CONTROL_NUMBER_FETCHER = u'zenodo_record_fetcher'

PIDStore fetcher for OAI ID control numbers

zenodo.config.OAISERVER_ID_PREFIX = u'oai:zenodo.org:'

OAI identifier prefix

zenodo.config.OAISERVER_MANAGED_ID_PREFIXES = [u'oai:zenodo.org:', u'oai:openaire.cern.ch:']

Managed OAI identifier prefixes

zenodo.config.OAISERVER_METADATA_FORMATS = {u'marcxml': {u'namespace': u'http://www.loc.gov/MARC21/slim', u'serializer': u'zenodo.modules.records.serializers.oaipmh_marc21_v1', u'schema': u'http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd'}, u'oai_dc': {u'namespace': u'http://www.openarchives.org/OAI/2.0/oai_dc/', u'serializer': u'zenodo.modules.records.serializers.oaipmh_oai_dc', u'schema': u'http://www.openarchives.org/OAI/2.0/oai_dc.xsd'}, u'oai_datacite': {u'namespace': u'http://datacite.org/schema/kernel-3', u'serializer': u'zenodo.modules.records.serializers.oaipmh_oai_datacite', u'schema': u'http://schema.datacite.org/meta/kernel-3/metadata.xsd'}, u'marc21': {u'namespace': u'http://www.loc.gov/MARC21/slim', u'serializer': u'zenodo.modules.records.serializers.oaipmh_marc21_v1', u'schema': u'http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd'}, u'datacite': {u'namespace': u'http://datacite.org/schema/kernel-4', u'serializer': u'zenodo.modules.records.serializers.oaipmh_datacite_v41', u'schema': u'http://schema.datacite.org/meta/kernel-4.1/metadata.xsd'}, u'datacite3': {u'namespace': u'http://datacite.org/schema/kernel-3', u'serializer': u'zenodo.modules.records.serializers.oaipmh_datacite_v31', u'schema': u'http://schema.datacite.org/meta/kernel-3/metadata.xsd'}, u'datacite4': {u'namespace': u'http://datacite.org/schema/kernel-4', u'serializer': u'zenodo.modules.records.serializers.oaipmh_datacite_v41', u'schema': u'http://schema.datacite.org/meta/kernel-4.1/metadata.xsd'}, u'oai_datacite3': {u'namespace': u'http://datacite.org/schema/kernel-3', u'serializer': u'zenodo.modules.records.serializers.oaipmh_oai_datacite', u'schema': u'http://schema.datacite.org/meta/kernel-3/metadata.xsd'}}

Metadata formats for OAI-PMH server

zenodo.config.OAISERVER_PAGE_SIZE = 100

Number of records to return per page in OAI-PMH results.

zenodo.config.OAISERVER_RECORD_INDEX = u'records'

Index to use for the OAI-PMH server.

zenodo.config.OAISERVER_REGISTER_OAISET_SIGNALS = False

Do not register signals to automatically update records on oaiset updates.

zenodo.config.OAISERVER_REGISTER_RECORD_SIGNALS = False

Do not register signals to automatically update records on updates.

zenodo.config.OAISERVER_RESUMPTION_TOKEN_EXPIRE_TIME = 120

Increase resumption token expire time.

zenodo.config.OAUTH2SERVER_ALLOWED_URLENCODE_CHARACTERS = u'=&;:%+~,*@!()/?$\'"'

Special characters that should be valid inside a query string.

zenodo.config.OAUTHCLIENT_REMOTE_APPS = {'orcid': {'authorized_handler': 'invenio_oauthclient.handlers:authorized_signup_handler', 'disconnect_handler': 'invenio_oauthclient.contrib.orcid:disconnect_handler', 'signup_handler': {'info': 'invenio_oauthclient.contrib.orcid:account_info', 'setup': 'invenio_oauthclient.contrib.orcid:account_setup', 'view': 'invenio_oauthclient.handlers:signup_handler'}, 'params': {'request_token_params': {'scope': '/authenticate', 'show_login': 'true'}, 'access_token_method': 'POST', 'authorize_url': 'https://orcid.org/oauth/authorize', 'base_url': 'https://pub.orcid.org/v1.2/', 'app_key': 'ORCID_APP_CREDENTIALS', 'content_type': 'application/json', 'request_token_url': None, 'access_token_url': 'https://pub.orcid.org/oauth/token'}, 'description': 'Connecting Research and Researchers.', 'title': 'ORCID', 'icon': ''}, 'github': {'authorized_handler': 'invenio_oauthclient.handlers:authorized_signup_handler', 'signup_handler': {'info': 'invenio_oauthclient.contrib.github:account_info', 'setup': 'invenio_github.handlers:account_setup', 'view': 'invenio_oauthclient.handlers:signup_handler'}, 'description': u'Software collaboration platform, with one-click software preservation in Zenodo.', 'title': 'GitHub', 'disconnect_handler': 'invenio_github.handlers:disconnect', 'params': {'request_token_params': {'scope': u'user:email,admin:repo_hook,read:org'}, 'access_token_method': 'POST', 'authorize_url': 'https://github.com/login/oauth/authorize', 'base_url': 'https://api.github.com/', 'app_key': 'GITHUB_APP_CREDENTIALS', 'request_token_url': None, 'access_token_url': 'https://github.com/login/oauth/access_token'}, 'icon': 'fa fa-github'}}

Defintion of OAuth client applications.

zenodo.config.OAUTHCLIENT_SIGNUP_TEMPLATE = u'zenodo_theme/security/oauth_register_user.html'

Change default template for oauth sign up.

zenodo.config.OAUTHCLIENT_TEMPLATE_KEY = None

Stop oauthclient from taking over template.

zenodo.config.OPENAIRE_API_PASSWORD = None

OpenAIRE API endpoint password.

zenodo.config.OPENAIRE_API_URL = u'http://dev.openaire.research-infrastructures.eu/is/mvc'

OpenAIRE API endpoint.

zenodo.config.OPENAIRE_API_USERNAME = None

OpenAIRE API endpoint username.

zenodo.config.OPENAIRE_COMMUNITY_IDENTIFIER_PREFIX = u'https://openaire.eu/communities'

OpenAIRE community identifier prefix.

zenodo.config.OPENAIRE_DIRECT_INDEXING_ENABLED = False

Enable sending published records for direct indexing at OpenAIRE.

zenodo.config.OPENAIRE_JSONRESOLVER_GRANTS_HOST = u'dx.zenodo.org'

Hostname for OpenAIRE’s grant resolver.

zenodo.config.OPENAIRE_NAMESPACE_PREFIXES = {u'publication': u'od______2659', u'dataset': u'r37b0ad08687'}

OpenAIRE ID namespace prefixes for Zenodo.

zenodo.config.OPENAIRE_PORTAL_URL = u'https://beta.openaire.eu'

URL to OpenAIRE portal.

zenodo.config.OPENAIRE_SCHEMAS_HOST = u'zenodo.org'

Hostname for JSON Schemas in OpenAIRE.

zenodo.config.OPENAIRE_ZENODO_IDS = {u'publication': u'opendoar____::2659', u'dataset': u're3data_____::r3d100010468'}

OpenAIRE data source IDs for Zenodo.

zenodo.config.OPENDEFINITION_JSONRESOLVER_HOST = u'dx.zenodo.org'

Hostname for OpenAIRE’s grant resolver.

zenodo.config.OPENDEFINITION_SCHEMAS_HOST = u'zenodo.org'

Hostname for JSON Schemas in OpenAIRE.

zenodo.config.ORCID_APP_CREDENTIALS = {'consumer_secret': u'CHANGE_ME', 'consumer_key': u'CHANGE_ME'}

Credentials for ORCID (must be changed to work).

zenodo.config.PIDRELATIONS_RELATION_TYPES = [RelationType(id=0, name=u'version', label=u'Version', api=u'invenio_pidrelations.contrib.versioning:PIDVersioning', schema=u'zenodo.modules.records.serializers.schemas.pidrelations:VersionRelation'), RelationType(id=1, name=u'record_draft', label=u'Record Draft', api=u'invenio_pidrelations.contrib.records:RecordDraft', schema=None)]

Zenodo PID relations

zenodo.config.PIDSTORE_DATACITE_DOI_PREFIX = u'10.5072'

DataCite API - Prefix for minting DOIs in (10.5072 is a test prefix).

zenodo.config.PIDSTORE_DATACITE_PASSWORD = u'CHANGE_ME'

DataCite MDS password.

zenodo.config.PIDSTORE_DATACITE_TESTMODE = False

DataCite API - Disable test mode (we however use the test prefix).

zenodo.config.PIDSTORE_DATACITE_URL = u'https://mds.datacite.org'

DataCite API - URL endpoint.

zenodo.config.PIDSTORE_DATACITE_USERNAME = u'CERN.ZENODO'

DataCite MDS username.

zenodo.config.PREVIEWER_BASE_CSS_BUNDLES = [u'zenodo_theme_css']

Basic bundle which includes Font-Awesome/Bootstrap.

zenodo.config.PREVIEWER_BASE_JS_BUNDLES = [u'zenodo_theme_js']

Basic bundle which includes Bootstrap/jQuery.

zenodo.config.PREVIEWER_CSV_VALIDATION_BYTES = 2048

Number of bytes read by CSV previewer to validate the file.

zenodo.config.PREVIEWER_MAX_IMAGE_SIZE_BYTES = 5242880

Max file size to preview for images

zenodo.config.PREVIEWER_PREFERENCE = [u'csv_dthreejs', u'iiif_image', u'simple_image', u'json_prismjs', u'xml_prismjs', u'mistune', u'pdfjs', u'ipynb', u'zip']

List of previewers (adds IIIF previewer).

zenodo.config.RECAPTCHA_PRIVATE_KEY = None

Recaptcha private key (change to enable).

zenodo.config.RECAPTCHA_PUBLIC_KEY = None

Recaptcha public key (change to enable).

zenodo.config.RECORDS_API = u'/api/records/{pid_value}'

Records REST API endpoints.

zenodo.config.RECORDS_REST_DEFAULT_SORT = {'funders': {'noquery': 'bestmatch', 'query': 'bestmatch'}, 'records': {'noquery': u'mostrecent', 'query': u'bestmatch'}, 'grants': {'noquery': 'bestmatch', 'query': 'bestmatch'}, 'deposits': {'noquery': 'mostrecent', 'query': 'bestmatch'}}

Default sort for records REST API.

zenodo.config.RECORDS_REST_ELASTICSEARCH_ERROR_HANDLERS = {u'query_parsing_exception': <function elasticsearch_query_parsing_exception_handler>, u'token_mgr_error': <function elasticsearch_query_parsing_exception_handler>}

Handlers for ElasticSearch error codes.

zenodo.config.RECORDS_REST_FACETS = {'funders': {'filters': {'country': <function inner>, 'type': <function inner>}, 'aggs': {'country': {'terms': {'field': 'country'}}, 'type': {'terms': {'field': 'type'}}}}, 'records': {'post_filters': {'keywords': <function inner>, 'subtype': <function inner>, 'type': <function inner>, 'access_right': <function inner>, 'file_type': <function inner>}, 'filters': {'communities': <function inner>, 'provisional_communities': <function inner>}, 'aggs': {'keywords': {'terms': {'field': u'keywords'}}, 'file_type': {'terms': {'field': u'filetype'}}, 'type': {'terms': {'field': u'resource_type.type'}, 'aggs': {'subtype': {'terms': {'field': u'resource_type.subtype'}}}}, 'access_right': {'terms': {'field': u'access_right'}}}}, 'grants': {'filters': {'funder': <function inner>}, 'aggs': {'funder': {'terms': {'field': 'funder.acronyms'}}}}, 'deposits': {'post_filters': {'status': <function inner>}, 'aggs': {'status': {'terms': {'field': '_deposit.status'}}}}}

Defined facets for records REST API.

zenodo.config.RECORDS_REST_SORT_OPTIONS = {'funders': {'bestmatch': {'fields': ['-_score'], 'default_order': 'asc', 'order': 1, 'title': 'Best match'}, 'name': {'fields': ['name'], 'default_order': 'asc', 'order': 2, 'title': 'Name'}}, 'records': {'mostviewed': {'fields': [u'-_stats.version_views'], 'default_order': u'asc', 'order': 1, 'title': u'Most viewed'}, 'title': {'fields': [u'title'], 'order': 4, 'title': u'Title'}, 'journal': {'fields': [u'journal.year', u'journal.volume', u'journal.issue', u'journal.pages'], 'default_order': u'desc', 'order': 6, 'title': u'Journal'}, 'mostrecent': {'fields': [u'-_created'], 'default_order': u'asc', 'order': 2, 'title': u'Most recent'}, 'version': {'fields': [u'conceptrecid', u'relations.version.index'], 'default_order': u'desc', 'order': 7, 'title': u'Version'}, 'bestmatch': {'fields': [u'-_score'], 'default_order': u'asc', 'order': 1, 'title': u'Best match'}, 'publication_date': {'fields': [u'publication_date'], 'default_order': u'desc', 'order': 3, 'title': u'Publication date'}, 'conference_session': {'fields': [u'meeting.session', u'-meeting.session_part'], 'default_order': u'desc', 'order': 4, 'title': u'Conference session'}}, 'grants': {'startdate': {'fields': ['startdate'], 'default_order': 'asc', 'order': 2, 'title': 'Start date'}, 'bestmatch': {'fields': ['-_score'], 'default_order': 'asc', 'order': 1, 'title': 'Best match'}, 'enddate': {'fields': ['enddate'], 'default_order': 'asc', 'order': 2, 'title': 'End date'}}, 'deposits': {'version': {'fields': [u'conceptrecid', u'relations.version.index'], 'default_order': u'desc', 'order': 7, 'title': u'Version'}, 'bestmatch': {'fields': ['-_score'], 'default_order': 'asc', 'order': 2, 'title': 'Best match'}, 'mostrecent': {'fields': ['-_updated'], 'default_order': 'asc', 'order': 1, 'title': 'Most recent'}}}

Sort options records REST API.

zenodo.config.RECORDS_UI_DEFAULT_PERMISSION_FACTORY = u'zenodo.modules.records.permissions:deposit_read_permission_factory'

Permission factory for records-ui and deposit-ui

zenodo.config.RECORDS_UI_ENDPOINT = u'{scheme}://{host}/record/{pid_value}'

Endpoint for record ui.

zenodo.config.RECORDS_UI_ENDPOINTS = {'recid_access_request': {'route': '/record/<pid_value>/accessrequest', 'view_imp': 'zenodo_accessrequests.views.requests.access_request', 'methods': ['GET', 'POST'], 'template': 'zenodo_accessrequests/access_request.html', 'pid_type': 'recid'}, 'recid': {'route': u'/record/<pid_value>', 'record_class': u'zenodo.modules.records.api:ZenodoRecord', 'template': u'zenodo_records/record_detail.html', 'pid_type': u'recid'}, 'recid_export': {'route': u'/record/<pid_value>/export/<any(hx, xn, schemaorg_jsonld, xm, dcite, xd, xe, dcite3, dcite4, hm, cp, xw, csl, json):format>', 'view_imp': u'zenodo.modules.records.views.records_ui_export', 'record_class': u'zenodo.modules.records.api:ZenodoRecord', 'template': u'zenodo_records/record_export.html', 'pid_type': u'recid'}, 'recid_files': {'route': u'/record/<pid_value>/files/<path:filename>', 'view_imp': u'invenio_records_files.utils.file_download_ui', 'pid_type': u'recid', 'record_class': u'zenodo.modules.records.api:ZenodoRecord'}, 'recid_access_request_email_confirm': {'route': '/record/<pid_value>/accessrequest/<token>/confirm', 'view_imp': 'zenodo_accessrequests.views.requests.confirm', 'pid_type': 'recid'}, 'recid_preview': {'route': u'/record/<pid_value>/preview/<path:filename>', 'view_imp': u'invenio_previewer.views.preview', 'pid_type': u'recid', 'record_class': u'zenodo.modules.records.api:ZenodoRecord'}}

Endpoints for displaying records.

zenodo.config.RECORDS_UI_TOMBSTONE_TEMPLATE = u'zenodo_records/tombstone.html'

Default tombstone template.

zenodo.config.REQUIREJS_CONFIG = u'js/zenodo-build.js'

JavaScript file containing the require.js build configuration.

zenodo.config.REST_ENABLE_CORS = True

Enable CORS support.

zenodo.config.SEARCH_DOC_TYPE_DEFAULT = None

Default Elasticsearch document type.

zenodo.config.SEARCH_ELASTIC_KEYWORD_MAPPING = {}

Do not map any keywords.

zenodo.config.SEARCH_MAPPINGS = [u'deposits', u'funders', u'grants', u'licenses', u'records']

Only create indexes we actually need.

zenodo.config.SEARCH_UI_JSTEMPLATE_ERROR = u'templates/zenodo_search_ui/error.html'

Angular template for rendering search errors.

zenodo.config.SEARCH_UI_JSTEMPLATE_FACETS = u'templates/zenodo_search_ui/facets.html'

Angular template for rendering search facets.

zenodo.config.SEARCH_UI_JSTEMPLATE_RESULTS = u'templates/zenodo_search_ui/results.html'

Angular template for rendering search results.

zenodo.config.SEARCH_UI_SEARCH_API = u'/api/records/'

Default API endpoint for search UI.

zenodo.config.SEARCH_UI_SEARCH_MIMETYPE = u'application/vnd.zenodo.v1+json'

Accept header fro search-js

zenodo.config.SEARCH_UI_SEARCH_TEMPLATE = u'zenodo_search_ui/search.html'

Default template for search UI.

zenodo.config.SECURITY_LOGIN_USER_TEMPLATE = u'zenodo_theme/security/login_user.html'

Login registration template.

zenodo.config.SECURITY_REGISTER_USER_TEMPLATE = u'zenodo_theme/security/register_user.html'

User registration template.

Set the session cookie to be secure - should be set to true in production.

zenodo.config.SETTINGS_TEMPLATE = u'invenio_theme/page_settings.html'

Settings template for entire site.

zenodo.config.SIPSTORE_AGENT_JSONSCHEMA_ENABLED = True

Enable the agent JSON schema

zenodo.config.SIPSTORE_ARCHIVER_DIRECTORY_BUILDER = u'zenodo.modules.sipstore.utils.archive_directory_builder'

Set OAuth client application config.

zenodo.config.SIPSTORE_ARCHIVER_LOCATION_NAME = u'archive'

Set the builder for archived SIPs directory structure

zenodo.config.SIPSTORE_ARCHIVER_METADATA_TYPES = [u'json', u'marcxml']

Set the name of the Location object holding the archive URI

zenodo.config.SIPSTORE_ARCHIVER_SIPFILE_NAME_FORMATTER = u'invenio_sipstore.archivers.utils.secure_sipfile_name_formatter'

Set the names of SIPMetadataType(s), which are to be archived.

zenodo.config.SIPSTORE_ARCHIVER_SIPMETADATA_NAME_FORMATTER = u'zenodo.modules.sipstore.utils.sipmetadata_name_formatter'

Set the SIPFile name formatter to write secure filenames

zenodo.config.SIPSTORE_BAGIT_TAGS = [(u'Source-Organization', u'European Organization for Nuclear Research'), (u'Organization-Address', u'CERN, CH-1211 Geneva 23, Switzerland'), (u'Bagging-Date', None), (u'Payload-Oxum', None), (u'External-Identifier', None), (u'External-Description', u'BagIt archive of Zenodo record. Description of the payload structure and data interpretation available at https://doi.org/10.5281/zenodo.841781')]

Set the SIPMetadata name formatter: “record-{json/marcxml}.{json/xml}”

zenodo.config.SIPSTORE_DEFAULT_AGENT_JSONSCHEMA = u'sipstore/agent-webclient-v1.0.0.json'

Default JSON schema for the SIP agent

zenodo.config.SIPSTORE_FILEPATH_MAX_LEN = 1000

Max length of SIPFile.filepath

zenodo.config.SIPSTORE_GITHUB_AGENT_JSONSCHEMA = u'sipstore/agent-githubclient-v1.0.0.json'

SIPStore

zenodo.config.SQLALCHEMY_DATABASE_URI = u'postgresql+psycopg2://zenodo:zenodo@localhost/zenodo'

Default database host.

zenodo.config.SQLALCHEMY_ECHO = False

Do not print SQL queries to console.

zenodo.config.SQLALCHEMY_TRACK_MODIFICATIONS = True

Track modifications to objects.

zenodo.config.STATSD_HOST = None

Default StatsD host (i.e. no request timing)

zenodo.config.STATSD_PORT = 8125

Default StatsD port

zenodo.config.STATSD_PREFIX = u'zenodo'

Default StatsD port

zenodo.config.STATS_AGGREGATIONS = {u'record-view-agg': {'templates': u'zenodo.modules.stats.templates.aggregations', 'aggregator_config': {'copy_fields': {'owners': <function <lambda>>, 'doi': u'doi', 'conceptdoi': u'conceptdoi', 'is_parent': <function <lambda>>, 'communities': <function <lambda>>, 'conceptrecid': u'conceptrecid', 'recid': u'recid', 'record_id': u'record_id'}, 'metric_aggregation_fields': {'unique_count': (u'cardinality', u'unique_session_id', {u'precision_threshold': 1000})}, 'aggregation_field': u'recid', 'aggregation_interval': u'day', 'event': u'record-view'}}, u'record-view-all-versions-agg': {}, u'record-download-agg': {}, u'record-download-all-versions-agg': {}}

Enabled aggregations from ‘zenoodo.modules.stats.registrations’

zenodo.config.STATS_QUERIES = {u'record-view': {}, u'record-view-all-versions': {}, u'record-download-all-versions': {}, u'record-download': {}}

Enabled queries from ‘zenoodo.modules.stats.registrations’

zenodo.config.SUPPORT_EMAIL = u'info@zenodo.org'

Email address for support.

zenodo.config.THEME_BREADCRUMB_ROOT_ENDPOINT = u'zenodo_frontpage.index'

Endpoint for breadcrumb root.

zenodo.config.THEME_GOOGLE_SITE_VERIFICATION = [u'5fPGCLllnWrvFxH9QWI0l1TadV7byeEvfPcyK2VkS_s', u'Rp5zp04IKW-s1IbpTOGB7Z6XY60oloZD5C3kTM-AiY4']

Google Site Verification ids.

Path to logo file.

zenodo.config.THEME_PIWIK_ID = None

Piwik site id.

zenodo.config.THEME_SITENAME = u'Zenodo'

Default site name.

zenodo.config.THEME_SITEURL = u'http://localhost:5000'

Default site URL (used only when not in a context - e.g. like celery tasks).

zenodo.config.THEME_TWITTERHANDLE = u'@zenodo_org'

Twitter handle.

zenodo.config.USERPROFILES_EXTEND_SECURITY_FORMS = True

Extend account registration form with user profiles fields.

zenodo.config.WSGI_PROXIES = 0

Number of proxies in front of application.

zenodo.config.ZENODO_ADMIN_EMAIL = u'admin@zenodo.org'

Email address of admins

zenodo.config.ZENODO_LOCAL_DOI_PREFIXES = [u'10.5072', u'10.5281']

DOI prefixes considered as local prefixes.

zenodo.config.ZENODO_RECORDS_EXPORTFORMATS = {u'hx': {'serializer': u'zenodo.modules.records.serializers.bibtex_v1', 'title': u'BibTeX'}, u'xn': None, u'schemaorg_jsonld': {'serializer': u'zenodo.modules.records.serializers.schemaorg_jsonld_v1', 'title': u'JSON-LD (schema.org)'}, u'xm': {'serializer': u'zenodo.modules.records.serializers.marcxml_v1', 'title': u'MARC21 XML'}, u'dcite': {'serializer': u'zenodo.modules.records.serializers.datacite_v41', 'title': u'DataCite XML'}, u'xd': {'serializer': u'zenodo.modules.records.serializers.dc_v1', 'title': u'Dublin Core'}, u'xe': None, u'dcite3': {'serializer': u'zenodo.modules.records.serializers.datacite_v31', 'title': u'DataCite XML'}, u'dcite4': {'serializer': u'zenodo.modules.records.serializers.datacite_v41', 'title': u'DataCite XML'}, u'hm': {'serializer': u'zenodo.modules.records.serializers.marcxml_v1', 'title': u'MARC21 XML'}, u'cp': {'serializer': u'zenodo.modules.records.serializers.citeproc_v1', 'title': u'Citation'}, u'xw': None, u'csl': {'serializer': u'zenodo.modules.records.serializers.csl_v1', 'title': u'Citation Style Language JSON'}, u'json': {'serializer': u'zenodo.modules.records.serializers.json_v1', 'title': u'JSON'}}

Mapping of old export formats to new content type.

zenodo.config.ZENODO_REMOVAL_REASONS = [(u'', u''), (u'spam', u'Spam record, removed by Zenodo staff.'), (u'uploader', u'Record removed on request by uploader.'), (u'takedown', u'Record removed on request by third-party.')]

Standard record removal reasons.

zenodo.config.ZENODO_SYSTEM_SENDER_EMAIL = u'system@zenodo.org'

System sender email address