{"action":"created","comment":{"url":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/comments/239502792","pull_request_review_id":182302769,"id":239502792,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzOTUwMjc5Mg==","diff_hunk":"@@ -1,464 +1,24 @@\n-#!/usr/bin/env python -W ignore::DeprecationWarning\n-__copyright__ = \"Copyright 2017 Birkbeck, University of London\"\n-__author__ = \"Martin Paul Eve & Andy Byers\"\n-__license__ = \"AGPL v3\"\n-__maintainer__ = \"Birkbeck Centre for Technology and Publishing\"\n-\n-\"\"\"\n-Django settings for core project.\n-\n-Generated by 'django-admin startproject' using Django 1.8.5.\n-\n-For more information on this file, see\n-https://docs.djangoproject.com/en/1.8/topics/settings/\n-\n-For the full list of settings and their values, see\n-https://docs.djangoproject.com/en/1.8/ref/settings/\n-\"\"\"\n-\n-# Build paths inside the project like this: os.path.join(BASE_DIR, ...)\n-import os\n-import sys\n-import logging\n-\n-from django.contrib import messages\n-\n-from core import plugin_installed_apps\n-\n-BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\n-PROJECT_DIR = os.path.dirname(BASE_DIR)\n-sys.path.append(os.path.join(BASE_DIR, \"plugins\"))\n-\n-# Quick-start development settings - unsuitable for production\n-# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/\n \n # SECURITY WARNING: keep the secret key used in production secret!\n # You should change this key before you go live!\n SECRET_KEY = 'uxprsdhk^gzd-r=_287byolxn)$k6tsd8_cepl^s^tms2w1qrv'\n-\n-# SECURITY WARNING: don't run with debug turned on in production!\n-DEBUG = True\n-COMMAND = sys.argv[1:]\n-IN_TEST_RUNNER = COMMAND[:1] == ['test']\n-ALLOWED_HOSTS = ['*']\n-\n-ENABLE_TEXTURE = False\n-\n FILE_UPLOAD_PERMISSIONS = 0o644\n-\n-# Application definition\n-\n-INSTALLED_APPS = [\n-    'django.contrib.admin',\n-    'django.contrib.auth',\n-    'django.contrib.contenttypes',\n-    'django.contrib.sessions',\n-    'django.contrib.messages',\n-    'django.contrib.staticfiles',\n-    'django.contrib.sites',\n-    'django.contrib.humanize',\n-\n-    # Installed Apps\n-    'cms',\n-    'core',\n-    'copyediting',\n-    'cron',\n-    'events',\n-    'identifiers',\n-    'journal',\n-    'metrics',\n-    'comms',\n-    'preprint',\n-    'press',\n-    'production',\n-    'proofing',\n-    'review',\n-    'reports',\n-    'security',\n-    'submission',\n-    'transform',\n-    'utils',\n-    'install',\n-\n-    # 3rd Party\n-    'django_summernote',\n-    'markdown_deux',\n-    'hvad',\n-    'raven.contrib.django.raven_compat',\n-    'bootstrap4',\n-    'rest_framework',\n-    'foundationform',\n-    'materialize',\n-]\n-\n-INSTALLED_APPS += plugin_installed_apps.load_plugin_apps()\n-INSTALLED_APPS += plugin_installed_apps.load_homepage_element_apps()\n-\n-MIDDLEWARE_CLASSES = (\n-    'django.contrib.sessions.middleware.SessionMiddleware',\n-    'django.middleware.common.CommonMiddleware',\n-    'django.middleware.csrf.CsrfViewMiddleware',\n-    'django.contrib.auth.middleware.AuthenticationMiddleware',\n-    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',\n-    'django.contrib.messages.middleware.MessageMiddleware',\n-    'django.middleware.clickjacking.XFrameOptionsMiddleware',\n-    'django.middleware.security.SecurityMiddleware',\n-    'core.middleware.SiteSettingsMiddleware',\n-    'utils.template_override_middleware.ThemeEngineMiddleware',\n-    'core.middleware.MaintenanceModeMiddleware',\n-    'cron.middleware.CronMiddleware',\n-    'core.middleware.CounterCookieMiddleware',\n-    'django.middleware.locale.LocaleMiddleware',\n-    'core.middleware.PressMiddleware',\n-    'core.middleware.GlobalRequestMiddleware',\n-    'django.middleware.gzip.GZipMiddleware',\n-)\n-\n-ROOT_URLCONF = 'core.urls'\n-\n-TEMPLATES = [\n-    {\n-        'BACKEND': 'django.template.backends.django.DjangoTemplates',\n-        'DIRS': [os.path.join(BASE_DIR, 'templates'),\n-                 os.path.join(BASE_DIR, 'templates', 'admin')] + plugin_installed_apps.load_plugin_templates() +\n-        plugin_installed_apps.load_homepage_element_templates(),\n-        'OPTIONS': {\n-            'context_processors': [\n-                'django.template.context_processors.debug',\n-                'django.template.context_processors.request',\n-                'django.contrib.auth.context_processors.auth',\n-                'django.contrib.messages.context_processors.messages',\n-                'core.context_processors.journal',\n-                'core.context_processors.journal_settings',\n-                'core.context_processors.press',\n-                'core.context_processors.active',\n-                'core.context_processors.navigation',\n-                'django_settings_export.settings_export',\n-                'django.template.context_processors.i18n'\n-            ],\n-            'loaders': [\n-                'utils.template_override_middleware.Loader',\n-                'django.template.loaders.filesystem.Loader',\n-                'django.template.loaders.app_directories.Loader',\n-            ],\n-            'builtins': [\n-                'core.templatetags.pathurl',\n-            ],\n-        },\n-    },\n-]\n-\n-SETTINGS_EXPORT = [\n-    'ORCID_API_URL',\n-    'ORCID_TOKEN_URL',\n-    'ORCID_CLIENT_SECRET',\n-    'ORCID_CLIENT_ID',\n-    'ORCID_URL',\n-    'ENABLE_ENHANCED_MAILGUN_FEATURES',\n-    'ENABLE_ORCID',\n-]\n-\n-WSGI_APPLICATION = 'core.wsgi.application'\n-SITES_DIR = os.path.join(os.path.dirname(__file__), 'sites')\n DEFAULT_HOST = 'https://www.example.org'  # This is the default redirect if no other sites are found.\n-\n-# Database\n-# https://docs.djangoproject.com/en/1.8/ref/settings/#databases\n-# We recommend mysql but Django supports PGSQL and SQLite amongst others\n-if os.environ.get(\"DB_VENDOR\") == \"postgres\":\n-    DATABASES = {\n-        'default': {\n-            'ENGINE': 'django.db.backends.postgresql',\n-            'NAME': os.environ[\"DB_NAME\"],\n-            'USER': os.environ[\"DB_USER\"],\n-            'PASSWORD': os.environ[\"DB_PASSWORD\"],\n-            'HOST': os.environ[\"DB_HOST\"],\n-            'PORT': os.environ[\"DB_PORT\"],\n-        }\n-    }\n-elif os.environ.get(\"DB_VENDOR\") == \"mysql\":\n-    DATABASES = {\n-        'default': {\n-            'ENGINE': 'django.db.backends.mysql',\n-            'NAME': os.environ[\"DB_NAME\"],\n-            'USER': os.environ[\"DB_USER\"],\n-            'PASSWORD': os.environ[\"DB_PASSWORD\"],\n-            'HOST': os.environ[\"DB_HOST\"],\n-            'PORT': os.environ[\"DB_PORT\"],\n-            'OPTIONS': {'init_command': 'SET default_storage_engine=INNODB'},\n-        }\n-    }\n-else:\n-    DATABASES = {\n+EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'\n+LOGIN_REDIRECT_URL = '/user/profile/'\n+DATABASES = {\n     'default': {\n-        'ENGINE': 'django.db.backends.sqlite3',\n-        'NAME': os.path.join(PROJECT_DIR, 'db/janeway.sqlite'),\n+        #Example ENGINEs:\n+        #   sqlite:     'django.db.backends.sqlite\n+        #   mysql:      'django.db.backends.sqlite\n+        #   postgres:   'django.db.backends.postgres\n+        'ENGINE': 'django.db.backends.mysql', \n+        'NAME': '',\n+        'USER': '',\n+        'PASSWORD': '',\n+        'HOST': '',\n+        'PORT': '',\n+        'OPTIONS': {'init_command': 'SET default_storage_engine=INNODB'},\n     }\n }\n \n-# Internationalization\n-# https://docs.djangoproject.com/en/1.8/topics/i18n/\n-\n-LANGUAGE_CODE = 'en'\n-TIME_ZONE = 'UTC'\n-LOCALE_PATHS = [\n-    os.path.join(BASE_DIR, 'core', 'locales')\n-] + plugin_installed_apps.load_plugin_locales()\n-\n-\n-def ugettext(s):\n-    return s\n-\n-\n-LANGUAGES = (\n-    ('en', ugettext('English')),\n-    ('fr', ugettext('French')),\n-    ('de', ugettext('German')),\n-)\n-\n-MEDIA_ROOT = os.path.join(BASE_DIR, 'media')\n-MEDIA_URL = '/media/'\n-\n-USE_I18N = True\n-USE_L10N = False\n-USE_TZ = True\n-\n-\n-# Static files (CSS, JavaScript, Images)\n-# https://docs.djangoproject.com/en/1.7/howto/static-files/\n-STATIC_ROOT = os.path.join(BASE_DIR, 'collected-static')\n-STATICFILES_DIRS = (\n-    # The /src/static/ folder is used by Janeway and should not be removed.\n-    os.path.join(BASE_DIR, 'static'),\n-)\n-STATIC_URL = '/static/'\n-\n-if ENABLE_TEXTURE:\n-    STATICFILES_DIRS.append(os.path.join(BASE_DIR, 'texture'))\n-\n-SUMMERNOTE_CONFIG = {\n-    # Using SummernoteWidget - iframe mode\n-    'iframe': True,  # or set False to use SummernoteInplaceWidget - no iframe mode\n-\n-    # Using Summernote Air-mode\n-    'airMode': False,\n-\n-    # Use native HTML tags (`<b>`, `<i>`, ...) instead of style attributes\n-    # (Firefox, Chrome only)\n-    'styleWithTags': True,\n-\n-    # Set text direction : 'left to right' is default.\n-    'direction': 'ltr',\n-\n-    # Change editor size\n-    'width': '100%',\n-    'height': '480',\n-\n-    # Need authentication while uploading attachments.\n-    'attachment_require_authentication': True,\n-    'attachment_filesize_limit': 2056 * 2056,\n-}\n-\n-# 1.9 appears confused about where null and blank are required for many to\n-# many fields, so we're hiding these warning from the console\n-SILENCED_SYSTEM_CHECKS = (\n-    'fields.W340',\n-)\n-\n-'''\n-# This section should only be enabled if you intend to use Sentry for error reporting.\n-LOGGING = {\n-    'version': 1,\n-    'disable_existing_loggers': True,\n-    'root': {\n-        'level': 'WARNING',\n-        'handlers': ['sentry'],\n-    },\n-    'formatters': {\n-        'verbose': {\n-            'format': '%(levelname)s %(asctime)s %(module)s '\n-                      '%(process)d %(thread)d %(message)s'\n-        },\n-    },\n-    'handlers': {\n-        'sentry': {\n-            'level': 'ERROR', # To capture more than ERROR, change to WARNING, INFO, etc.\n-            'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',\n-            'tags': {'custom-tag': 'x'},\n-        },\n-        'console': {\n-            'level': 'DEBUG',\n-            'class': 'logging.StreamHandler',\n-            'formatter': 'verbose'\n-        }\n-    },\n-    'loggers': {\n-        'django.db.backends': {\n-            'level': 'ERROR',\n-            'handlers': ['console'],\n-            'propagate': False,\n-        },\n-        'raven': {\n-            'level': 'DEBUG',\n-            'handlers': ['console'],\n-            'propagate': False,\n-        },\n-        'sentry.errors': {\n-            'level': 'DEBUG',\n-            'handlers': ['console'],\n-            'propagate': False,\n-        },\n-    },\n-}\n-RAVEN_CONFIG = {\n-    'dsn': '',\n-}\n-'''\n-LOGGING = {\n-    'version': 1,\n-    'disable_existing_loggers': False,\n-    'root': {\n-        'level': 'DEBUG' if DEBUG else 'WARNING',\n-        'handlers': ['console'],\n-    },\n-    'formatters': {\n-        'default': {\n-            'format': '%(levelname)s %(asctime)s %(module)s '\n-            'P:%(process)d T:%(thread)d %(message)s',\n-        },\n-        'coloured': {\n-            '()': 'colorlog.ColoredFormatter',\n-            'format': '%(log_color)s%(levelname)s %(asctime)s %(module)s '\n-            'P:%(process)d T:%(thread)d %(message)s',\n-            'log_colors' : {\n-                'DEBUG':    'green',\n-                'WARNING':  'yellow',\n-                'ERROR':    'red',\n-                'CRITICAL': 'red',\n-            }\n-        },\n-    },\n-    'handlers': {\n-        'console': {\n-            'level': 'DEBUG',\n-            'class': 'logging.StreamHandler',\n-            'formatter': 'coloured',\n-            'stream': 'ext://sys.stdout',\n-        }\n-    },\n-    'loggers': {\n-        'django.db.backends': {\n-            'level': 'WARNING',\n-            'handlers': ['console'],\n-            'propagate': False,\n-        },\n-    },\n-}\n-\n-\n-class SuppressDeprecated(logging.Filter):\n-    def filter(self, record):\n-        WARNINGS_TO_SUPPRESS = [\n-            'RemovedInDjango110Warning',\n-        ]\n-        # Return false to suppress message.\n-        return not any([warn in record.getMessage() for warn in WARNINGS_TO_SUPPRESS])\n-\n-\n-MESSAGE_TAGS = {\n-    messages.ERROR: 'danger',\n-}\n-\n-LOGIN_REDIRECT_URL = '/user/profile/'\n-LOGIN_URL = '/login/'\n-\n-EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'\n-#EMAIL_BACKEND = \"django.core.mail.backends.console.EmailBackend\"\n-EMAIL_HOST = ''\n-EMAIL_PORT = ''\n-EMAIL_HOST_USER = ''\n-EMAIL_HOST_PASSWORD = ''\n-EMAIL_USE_TLS = True\n-\n-# Settings for use with Mailgun\n-MAILGUN_ACCESS_KEY = ''\n-MAILGUN_SERVER_NAME = ''\n-MAILGUN_REQUIRE_TLS = False\n-ENABLE_ENHANCED_MAILGUN_FEATURES = False  # Enables email tracking\n-\n-\n-DATE_FORMT = \"Y-m-d\"\n-DATETIME_FORMAT = \"Y-m-d H:i\"\n-\n-AUTH_USER_MODEL = 'core.Account'\n-\n-PLUGIN_HOOKS = {}\n-\n-NOTIFY_FUNCS = []\n-\n-ENABLE_ORCID = True\n-ORCID_API_URL = 'http://pub.orcid.org/v1.2_rc7/'\n-ORCID_URL = 'https://orcid.org/oauth/authorize'\n-ORCID_TOKEN_URL = 'https://pub.orcid.org/oauth/token'\n-ORCID_CLIENT_SECRET = ''\n-ORCID_CLIENT_ID = ''\n-\n-\n-SESSION_COOKIE_NAME = 'JANEWAYSESSID'\n-\n-S3_ACCESS_KEY = ''\n-S3_SECRET_KEY = ''\n-S3_BUCKET_NAME = ''\n-END_POINT = 'eu-west-2'  # eg. eu-west-1\n-S3_HOST = 's3.eu-west-2.amazonaws.com'  # eg. s3.eu-west-1.amazonaws.com\n-\n-BACKUP_TYPE = 'directory'  # s3 or directory\n-BACKUP_DIR = '/path/to/backup/dir/'\n-BACKUP_EMAIL = False  # If set to True, will send an email each time backup is run\n-\n-URL_CONFIG = 'domain'  # path or domain\n-\n-# Captcha\n-# You can get reCaptcha keys for your domain here: https://developers.google.com/recaptcha/intro\n-# You can set either to use Google's reCaptcha or a basic math field with no external requirements\n-\n-INSTALLED_APPS.append('snowpenguin.django.recaptcha2')\n-\n-CAPTCHA_TYPE = 'recaptcha'  # should be either simple_math or recaptcha to enable captcha fields otherwise disabled\n-RECAPTCHA_PRIVATE_KEY = ''","path":"src/core/example_settings.py","position":442,"original_position":442,"commit_id":"37737e34ce1c7e1d5554085955905f9187ea8744","original_commit_id":"37737e34ce1c7e1d5554085955905f9187ea8744","user":{"login":"ajrbyers","id":8321378,"node_id":"MDQ6VXNlcjgzMjEzNzg=","avatar_url":"https://avatars1.githubusercontent.com/u/8321378?v=4","gravatar_id":"","url":"https://api.github.com/users/ajrbyers","html_url":"https://github.com/ajrbyers","followers_url":"https://api.github.com/users/ajrbyers/followers","following_url":"https://api.github.com/users/ajrbyers/following{/other_user}","gists_url":"https://api.github.com/users/ajrbyers/gists{/gist_id}","starred_url":"https://api.github.com/users/ajrbyers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ajrbyers/subscriptions","organizations_url":"https://api.github.com/users/ajrbyers/orgs","repos_url":"https://api.github.com/users/ajrbyers/repos","events_url":"https://api.github.com/users/ajrbyers/events{/privacy}","received_events_url":"https://api.github.com/users/ajrbyers/received_events","type":"User","site_admin":false},"body":"Probably a good idea to have the captcha settings over in example as they need configuring.","created_at":"2018-12-06T15:46:02Z","updated_at":"2018-12-06T15:48:30Z","html_url":"https://github.com/BirkbeckCTP/janeway/pull/691#discussion_r239502792","pull_request_url":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/691","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/comments/239502792"},"html":{"href":"https://github.com/BirkbeckCTP/janeway/pull/691#discussion_r239502792"},"pull_request":{"href":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/691"}}},"pull_request":{"url":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/691","id":236542201,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM2NTQyMjAx","html_url":"https://github.com/BirkbeckCTP/janeway/pull/691","diff_url":"https://github.com/BirkbeckCTP/janeway/pull/691.diff","patch_url":"https://github.com/BirkbeckCTP/janeway/pull/691.patch","issue_url":"https://api.github.com/repos/BirkbeckCTP/janeway/issues/691","number":691,"state":"open","locked":false,"title":"#582: two-layered settings","user":{"login":"mauromsl","id":10760678,"node_id":"MDQ6VXNlcjEwNzYwNjc4","avatar_url":"https://avatars3.githubusercontent.com/u/10760678?v=4","gravatar_id":"","url":"https://api.github.com/users/mauromsl","html_url":"https://github.com/mauromsl","followers_url":"https://api.github.com/users/mauromsl/followers","following_url":"https://api.github.com/users/mauromsl/following{/other_user}","gists_url":"https://api.github.com/users/mauromsl/gists{/gist_id}","starred_url":"https://api.github.com/users/mauromsl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mauromsl/subscriptions","organizations_url":"https://api.github.com/users/mauromsl/orgs","repos_url":"https://api.github.com/users/mauromsl/repos","events_url":"https://api.github.com/users/mauromsl/events{/privacy}","received_events_url":"https://api.github.com/users/mauromsl/received_events","type":"User","site_admin":false},"body":"Closes #582\r\n\r\nSummary:\r\n - Current example settings moved to `janeway_global_settings.py`\r\n - `example_settings.py` now contains those settings that MUST be set by the user\r\n - janeway will load settings from `core.settings.py` and override values from `janeway_global_settings.py`\r\n - Due to the above, users won't need to make any changes to their current settings.\r\n - The custom settings module can be overriden by setting the env variable `JANEWAY_SETTINGS_MODULE` (similar to how django uses `DJANGO_SETTINGS_MODULE`)","created_at":"2018-12-06T14:08:10Z","updated_at":"2018-12-06T15:48:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3a9f68e315f70b7cb96adf3a1e75aa970b97b7fd","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/691/commits","review_comments_url":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/691/comments","review_comment_url":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/comments{/number}","comments_url":"https://api.github.com/repos/BirkbeckCTP/janeway/issues/691/comments","statuses_url":"https://api.github.com/repos/BirkbeckCTP/janeway/statuses/37737e34ce1c7e1d5554085955905f9187ea8744","head":{"label":"BirkbeckCTP:582-Feature_janeway_global_settings","ref":"582-Feature_janeway_global_settings","sha":"37737e34ce1c7e1d5554085955905f9187ea8744","user":{"login":"BirkbeckCTP","id":17926709,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3OTI2NzA5","avatar_url":"https://avatars0.githubusercontent.com/u/17926709?v=4","gravatar_id":"","url":"https://api.github.com/users/BirkbeckCTP","html_url":"https://github.com/BirkbeckCTP","followers_url":"https://api.github.com/users/BirkbeckCTP/followers","following_url":"https://api.github.com/users/BirkbeckCTP/following{/other_user}","gists_url":"https://api.github.com/users/BirkbeckCTP/gists{/gist_id}","starred_url":"https://api.github.com/users/BirkbeckCTP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BirkbeckCTP/subscriptions","organizations_url":"https://api.github.com/users/BirkbeckCTP/orgs","repos_url":"https://api.github.com/users/BirkbeckCTP/repos","events_url":"https://api.github.com/users/BirkbeckCTP/events{/privacy}","received_events_url":"https://api.github.com/users/BirkbeckCTP/received_events","type":"Organization","site_admin":false},"repo":{"id":96784832,"node_id":"MDEwOlJlcG9zaXRvcnk5Njc4NDgzMg==","name":"janeway","full_name":"BirkbeckCTP/janeway","private":false,"owner":{"login":"BirkbeckCTP","id":17926709,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3OTI2NzA5","avatar_url":"https://avatars0.githubusercontent.com/u/17926709?v=4","gravatar_id":"","url":"https://api.github.com/users/BirkbeckCTP","html_url":"https://github.com/BirkbeckCTP","followers_url":"https://api.github.com/users/BirkbeckCTP/followers","following_url":"https://api.github.com/users/BirkbeckCTP/following{/other_user}","gists_url":"https://api.github.com/users/BirkbeckCTP/gists{/gist_id}","starred_url":"https://api.github.com/users/BirkbeckCTP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BirkbeckCTP/subscriptions","organizations_url":"https://api.github.com/users/BirkbeckCTP/orgs","repos_url":"https://api.github.com/users/BirkbeckCTP/repos","events_url":"https://api.github.com/users/BirkbeckCTP/events{/privacy}","received_events_url":"https://api.github.com/users/BirkbeckCTP/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/BirkbeckCTP/janeway","description":"A journal management system designed for publishing scholarly articles.","fork":false,"url":"https://api.github.com/repos/BirkbeckCTP/janeway","forks_url":"https://api.github.com/repos/BirkbeckCTP/janeway/forks","keys_url":"https://api.github.com/repos/BirkbeckCTP/janeway/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BirkbeckCTP/janeway/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BirkbeckCTP/janeway/teams","hooks_url":"https://api.github.com/repos/BirkbeckCTP/janeway/hooks","issue_events_url":"https://api.github.com/repos/BirkbeckCTP/janeway/issues/events{/number}","events_url":"https://api.github.com/repos/BirkbeckCTP/janeway/events","assignees_url":"https://api.github.com/repos/BirkbeckCTP/janeway/assignees{/user}","branches_url":"https://api.github.com/repos/BirkbeckCTP/janeway/branches{/branch}","tags_url":"https://api.github.com/repos/BirkbeckCTP/janeway/tags","blobs_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/refs{/sha}","trees_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BirkbeckCTP/janeway/statuses/{sha}","languages_url":"https://api.github.com/repos/BirkbeckCTP/janeway/languages","stargazers_url":"https://api.github.com/repos/BirkbeckCTP/janeway/stargazers","contributors_url":"https://api.github.com/repos/BirkbeckCTP/janeway/contributors","subscribers_url":"https://api.github.com/repos/BirkbeckCTP/janeway/subscribers","subscription_url":"https://api.github.com/repos/BirkbeckCTP/janeway/subscription","commits_url":"https://api.github.com/repos/BirkbeckCTP/janeway/commits{/sha}","git_commits_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/commits{/sha}","comments_url":"https://api.github.com/repos/BirkbeckCTP/janeway/comments{/number}","issue_comment_url":"https://api.github.com/repos/BirkbeckCTP/janeway/issues/comments{/number}","contents_url":"https://api.github.com/repos/BirkbeckCTP/janeway/contents/{+path}","compare_url":"https://api.github.com/repos/BirkbeckCTP/janeway/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BirkbeckCTP/janeway/merges","archive_url":"https://api.github.com/repos/BirkbeckCTP/janeway/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BirkbeckCTP/janeway/downloads","issues_url":"https://api.github.com/repos/BirkbeckCTP/janeway/issues{/number}","pulls_url":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls{/number}","milestones_url":"https://api.github.com/repos/BirkbeckCTP/janeway/milestones{/number}","notifications_url":"https://api.github.com/repos/BirkbeckCTP/janeway/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BirkbeckCTP/janeway/labels{/name}","releases_url":"https://api.github.com/repos/BirkbeckCTP/janeway/releases{/id}","deployments_url":"https://api.github.com/repos/BirkbeckCTP/janeway/deployments","created_at":"2017-07-10T14:08:53Z","updated_at":"2018-12-04T19:01:52Z","pushed_at":"2018-12-06T14:08:11Z","git_url":"git://github.com/BirkbeckCTP/janeway.git","ssh_url":"git@github.com:BirkbeckCTP/janeway.git","clone_url":"https://github.com/BirkbeckCTP/janeway.git","svn_url":"https://github.com/BirkbeckCTP/janeway","homepage":"","size":23489,"stargazers_count":65,"watchers_count":65,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":18,"mirror_url":null,"archived":false,"open_issues_count":121,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":18,"open_issues":121,"watchers":65,"default_branch":"master"}},"base":{"label":"BirkbeckCTP:1.3.2","ref":"1.3.2","sha":"614865b0428b9aad32c8e30c7cfc1914c0a7afa4","user":{"login":"BirkbeckCTP","id":17926709,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3OTI2NzA5","avatar_url":"https://avatars0.githubusercontent.com/u/17926709?v=4","gravatar_id":"","url":"https://api.github.com/users/BirkbeckCTP","html_url":"https://github.com/BirkbeckCTP","followers_url":"https://api.github.com/users/BirkbeckCTP/followers","following_url":"https://api.github.com/users/BirkbeckCTP/following{/other_user}","gists_url":"https://api.github.com/users/BirkbeckCTP/gists{/gist_id}","starred_url":"https://api.github.com/users/BirkbeckCTP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BirkbeckCTP/subscriptions","organizations_url":"https://api.github.com/users/BirkbeckCTP/orgs","repos_url":"https://api.github.com/users/BirkbeckCTP/repos","events_url":"https://api.github.com/users/BirkbeckCTP/events{/privacy}","received_events_url":"https://api.github.com/users/BirkbeckCTP/received_events","type":"Organization","site_admin":false},"repo":{"id":96784832,"node_id":"MDEwOlJlcG9zaXRvcnk5Njc4NDgzMg==","name":"janeway","full_name":"BirkbeckCTP/janeway","private":false,"owner":{"login":"BirkbeckCTP","id":17926709,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3OTI2NzA5","avatar_url":"https://avatars0.githubusercontent.com/u/17926709?v=4","gravatar_id":"","url":"https://api.github.com/users/BirkbeckCTP","html_url":"https://github.com/BirkbeckCTP","followers_url":"https://api.github.com/users/BirkbeckCTP/followers","following_url":"https://api.github.com/users/BirkbeckCTP/following{/other_user}","gists_url":"https://api.github.com/users/BirkbeckCTP/gists{/gist_id}","starred_url":"https://api.github.com/users/BirkbeckCTP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BirkbeckCTP/subscriptions","organizations_url":"https://api.github.com/users/BirkbeckCTP/orgs","repos_url":"https://api.github.com/users/BirkbeckCTP/repos","events_url":"https://api.github.com/users/BirkbeckCTP/events{/privacy}","received_events_url":"https://api.github.com/users/BirkbeckCTP/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/BirkbeckCTP/janeway","description":"A journal management system designed for publishing scholarly articles.","fork":false,"url":"https://api.github.com/repos/BirkbeckCTP/janeway","forks_url":"https://api.github.com/repos/BirkbeckCTP/janeway/forks","keys_url":"https://api.github.com/repos/BirkbeckCTP/janeway/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BirkbeckCTP/janeway/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BirkbeckCTP/janeway/teams","hooks_url":"https://api.github.com/repos/BirkbeckCTP/janeway/hooks","issue_events_url":"https://api.github.com/repos/BirkbeckCTP/janeway/issues/events{/number}","events_url":"https://api.github.com/repos/BirkbeckCTP/janeway/events","assignees_url":"https://api.github.com/repos/BirkbeckCTP/janeway/assignees{/user}","branches_url":"https://api.github.com/repos/BirkbeckCTP/janeway/branches{/branch}","tags_url":"https://api.github.com/repos/BirkbeckCTP/janeway/tags","blobs_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/refs{/sha}","trees_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BirkbeckCTP/janeway/statuses/{sha}","languages_url":"https://api.github.com/repos/BirkbeckCTP/janeway/languages","stargazers_url":"https://api.github.com/repos/BirkbeckCTP/janeway/stargazers","contributors_url":"https://api.github.com/repos/BirkbeckCTP/janeway/contributors","subscribers_url":"https://api.github.com/repos/BirkbeckCTP/janeway/subscribers","subscription_url":"https://api.github.com/repos/BirkbeckCTP/janeway/subscription","commits_url":"https://api.github.com/repos/BirkbeckCTP/janeway/commits{/sha}","git_commits_url":"https://api.github.com/repos/BirkbeckCTP/janeway/git/commits{/sha}","comments_url":"https://api.github.com/repos/BirkbeckCTP/janeway/comments{/number}","issue_comment_url":"https://api.github.com/repos/BirkbeckCTP/janeway/issues/comments{/number}","contents_url":"https://api.github.com/repos/BirkbeckCTP/janeway/contents/{+path}","compare_url":"https://api.github.com/repos/BirkbeckCTP/janeway/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BirkbeckCTP/janeway/merges","archive_url":"https://api.github.com/repos/BirkbeckCTP/janeway/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BirkbeckCTP/janeway/downloads","issues_url":"https://api.github.com/repos/BirkbeckCTP/janeway/issues{/number}","pulls_url":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls{/number}","milestones_url":"https://api.github.com/repos/BirkbeckCTP/janeway/milestones{/number}","notifications_url":"https://api.github.com/repos/BirkbeckCTP/janeway/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BirkbeckCTP/janeway/labels{/name}","releases_url":"https://api.github.com/repos/BirkbeckCTP/janeway/releases{/id}","deployments_url":"https://api.github.com/repos/BirkbeckCTP/janeway/deployments","created_at":"2017-07-10T14:08:53Z","updated_at":"2018-12-04T19:01:52Z","pushed_at":"2018-12-06T14:08:11Z","git_url":"git://github.com/BirkbeckCTP/janeway.git","ssh_url":"git@github.com:BirkbeckCTP/janeway.git","clone_url":"https://github.com/BirkbeckCTP/janeway.git","svn_url":"https://github.com/BirkbeckCTP/janeway","homepage":"","size":23489,"stargazers_count":65,"watchers_count":65,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":18,"mirror_url":null,"archived":false,"open_issues_count":121,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":18,"open_issues":121,"watchers":65,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/691"},"html":{"href":"https://github.com/BirkbeckCTP/janeway/pull/691"},"issue":{"href":"https://api.github.com/repos/BirkbeckCTP/janeway/issues/691"},"comments":{"href":"https://api.github.com/repos/BirkbeckCTP/janeway/issues/691/comments"},"review_comments":{"href":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/691/comments"},"review_comment":{"href":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/BirkbeckCTP/janeway/pulls/691/commits"},"statuses":{"href":"https://api.github.com/repos/BirkbeckCTP/janeway/statuses/37737e34ce1c7e1d5554085955905f9187ea8744"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"ajrbyers"}}