<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE schema SYSTEM "../../dtd/xmlSchema.dtd">

<!--
  * common.xml
  *
  * Copyright (c) 2013-2016 Simon Fraser University Library
  * Copyright (c) 2000-2016 John Willinsky
  * Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
  *
  * Common elements of the PKP database schema in XML.
  -->

<schema version="0.2">
	<!--
	  *
	  * TABLE versions
	  *
	  -->
	<table name="versions">
		<field name="major" type="I4">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="minor" type="I4">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="revision" type="I4">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="build" type="I4">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="date_installed" type="T">
			<NOTNULL/>
		</field>
		<field name="current" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="product_type" type="C2" size="30"/>
		<field name="product" type="C2" size="30"/>
		<field name="product_class_name" type="C2" size="80"/>
		<field name="lazy_load" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="sitewide" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Installation and upgrade version history.</descr>
		<index name="versions_pkey">
			<col>product_type</col>
			<col>product</col>
			<col>major</col>
			<col>minor</col>
			<col>revision</col>
			<col>build</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE site
	  *
	  -->
	<table name="site">
		<field name="redirect" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
			<descr>If not 0, redirect to the specified journal/conference/... site.</descr>
		</field>
		<field name="primary_locale" type="C2" size="5">
			<NOTNULL/>
			<descr>Primary locale for the site.</descr>
		</field>
		<field name="min_password_length" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="6"/>
		</field>
		<field name="installed_locales" type="C2" size="255">
			<NOTNULL/>
			<DEFAULT VALUE="en_US"/>
			<descr>Locales for which support has been installed.</descr>
		</field>
		<field name="supported_locales" type="C2" size="255">
			<descr>Locales supported by the site (for hosted journals/conferences/...).</descr>
		</field>
		<field name="original_style_file_name" type="C2" size="255"/>
		<descr>Common site settings.</descr>
	</table>

	<!--
	  *
	  * TABLE site_settings
	  *
	  -->
	<table name="site_settings">
		<field name="setting_name" type="C2" size="255">
			<NOTNULL />
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL />
			<descr>(bool|int|float|string|object)</descr>
		</field>
		<descr>Site settings.</descr>
		<index name="site_settings_pkey">
			<col>setting_name</col>
			<col>locale</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE auth_sources
	  *
	  -->
	<table name="auth_sources">
		<field name="auth_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="title" type="C2" size="60">
			<NOTNULL/>
		</field>
		<field name="plugin" type="C2" size="32">
			<NOTNULL/>
		</field>
		<field name="auth_default" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="settings" type="X"/>
		<descr>User authentication sources.</descr>
	</table>

	<!--
	  *
	  * TABLE users
	  *
	  -->
	<table name="users">
		<field name="user_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="username" type="C2" size="32">
			<NOTNULL/>
		</field>
		<field name="password" type="C2" size="255">
			<NOTNULL/>
		</field>
		<field name="salutation" type="C2" size="40"/>
		<field name="first_name" type="C2" size="256">
			<NOTNULL/>
		</field>
		<field name="middle_name" type="C2" size="256"/>
		<field name="last_name" type="C2" size="256">
			<NOTNULL/>
		</field>
		<field name="suffix" type="C2" size="40"/>
		<field name="gender" type="C" size="1"/>
		<field name="initials" type="C2" size="5"/>
		<field name="email" type="C2" size="90">
			<NOTNULL/>
		</field>
		<field name="url" type="C2" size="255"/>
		<field name="phone" type="C2" size="24"/>
		<field name="fax" type="C2" size="24"/>
		<field name="mailing_address" type="C2" size="255"/>
		<field name="billing_address" type="C2" size="255"/>
		<field name="country" type="C2" size="90"/>
		<field name="locales" type="C2" size="255"/>
		<field name="date_last_email" type="T"/>
		<field name="date_registered" type="T">
			<NOTNULL/>
		</field>
		<field name="date_validated" type="T"/>
		<field name="date_last_login" type="T">
			<NOTNULL/>
		</field>
		<field name="must_change_password" type="I1"/>
		<field name="auth_id" type="I8"/>
		<field name="auth_str" type="C2" size="255"/>
		<field name="disabled" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="disabled_reason" type="X"/>
		<field name="inline_help" type="I1" />
		<descr>User authentication credentials and profile data.</descr>
		<index name="users_username">
			<col>username</col>
			<UNIQUE />
		</index>
		<index name="users_email">
			<col>email</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE user_settings
	  *
	  -->
	<table name="user_settings">
		<field name="user_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL/>
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL/>
		</field>
		<field name="assoc_type" type="I8">
			<!-- Not null not specified for sake of upgrade. -->
			<DEFAULT VALUE="0"/>
		</field>
		<field name="assoc_id" type="I8">
			<!-- Not null not specified for sake of upgrade. -->
			<DEFAULT VALUE="0"/>
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
		</field>
		<descr>Locale-specific user data</descr>
		<index name="user_settings_user_id">
			<col>user_id</col>
		</index>
		<index name="user_settings_pkey">
			<col>user_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<col>assoc_type</col>
			<col>assoc_id</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE sessions
	  *
	  -->
	<table name="sessions">
		<field name="session_id" type="C2" size="128">
			<NOTNULL/>
		</field>
		<field name="user_id" type="I8"/>
		<field name="ip_address" type="C2" size="39">
			<NOTNULL/>
		</field>
		<field name="user_agent" type="C2" size="255"/>
		<field name="created" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="last_used" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="remember" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="data" type="X">
			<NOTNULL/>
			<DEFAULT VALUE=""/>
		</field>
		<field name="domain" type="C2" size="255"/>
		<descr>Browser/user sessions and session data.</descr>
		<index name="sessions_user_id">
			<col>user_id</col>
		</index>
		<index name="sessions_pkey">
			<col>session_id</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE captchas
	  *
	  -->
	<table name="captchas">
		<field name="captcha_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="session_id" type="C2" size="128">
			<NOTNULL/>
		</field>
		<field name="value" type="C2" size="20">
			<NOTNULL/>
		</field>
		<field name="date_created" type="T">
			<NOTNULL/>
		</field>
	</table>

	<!--
	  *
	  * TABLE access_keys
	  *
	  -->
	<table name="access_keys">
		<field name="access_key_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="context" type="C2" size="40">
			<NOTNULL/>
		</field>
		<field name="key_hash" type="C2" size="40">
			<NOTNULL/>
		</field>
		<field name="user_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="assoc_id" type="I8"/>
		<field name="expiry_date" type="T">
			<NOTNULL/>
		</field>
		<descr>Access keys are used to provide pseudo-login functionality for security-minimal tasks. Passkeys can be Emailed directly to users, who can use them for a limited time in lieu of standard username and password.</descr>
		<index name="access_keys_hash">
			<col>key_hash</col>
			<col>user_id</col>
			<col>context</col>
		</index>
	</table>


	<!-- Notification tables -->

	<!--
	  *
	  * TABLE notifications
	  *
	  -->
	<table name="notifications">
		<field name="notification_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="context_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="user_id" type="I8">
		</field>
		<field name="level" type="I8">
			<NOTNULL/>
		</field>
		<field name="type" type="I8">
			<NOTNULL/>
		</field>
		<field name="date_created" type="T">
			<NOTNULL/>
		</field>
		<field name="date_read" type="T" />
		<field name="assoc_type" type="I8" />
		<field name="assoc_id" type="I8" />
		<descr>Stores notifications for users as created by the system after certain operations.</descr>
		<index name="notifications_context_id_user_id">
			<col>context_id</col>
			<col>user_id</col>
			<col>level</col>
		</index>
		<index name="notifications_context_id">
			<col>context_id</col>
			<col>level</col>
		</index>
		<index name="notifications_assoc">
			<col>assoc_type</col>
			<col>assoc_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE notification_settings
	  *
	  -->
	<table name="notification_settings">
		<field name="notification_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="locale" type="C2" size="5" />
		<field name="setting_name" type="C2" size="64">
			<NOTNULL/>
		</field>
		<field name="setting_value" type="X">
			<NOTNULL/>
		</field>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL />
			<descr>(bool|int|float|string|object)</descr>
		</field>
		<descr>Stores metadata for specific notifications</descr>
		<index name="notification_settings_pkey">
			<col>notification_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE notification_subscription_settings
	  *
	  -->
	<table name="notification_subscription_settings">
		<field name="setting_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="setting_name" type="C2" size="64">
			<NOTNULL/>
		</field>
		<field name="setting_value" type="X">
			<NOTNULL/>
		</field>
		<field name="user_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="context" type="I8">
			<NOTNULL/>
		</field>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL />
			<descr>(bool|int|float|string|object)</descr>
		</field>
		<descr>Stores user preferences on what notifications should be blocked and/or Emailed to them</descr>
	</table>

	<!--
	  *
	  * TABLE notification_mail_list
	  *
	  -->
	<table name="notification_mail_list">
		<field name="notification_mail_list_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
			<field name="email" type="C2" size="90">
			<NOTNULL/>
		</field>
		<field name="confirmed" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="token" type="C2" size="40">
			<NOTNULL/>
		</field>
		<field name="context" type="I8">
			<NOTNULL/>
		</field>
		<descr>Stores subscriptions to the notification mailing list</descr>
		<index name="notification_mail_list_email_context">
			<col>email</col>
			<col>context</col>
			<UNIQUE />
		</index>
	</table>


	<!-- Email tables -->

	<!--
	  *
	  * TABLE email_templates_default
	  *
	  -->
	<table name="email_templates_default">
		<field name="email_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="email_key" type="C2" size="64">
			<NOTNULL/>
			<descr>Unique identifier for this email.</descr>
		</field>
		<field name="can_disable" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<field name="can_edit" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<field name="from_role_id" type="I8"/>
		<field name="to_role_id" type="I8"/>
		<descr>Default Email templates.</descr>
		<index name="email_templates_default_email_key">
			<col>email_key</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE email_templates_default_data
	  *
	  -->
	<table name="email_templates_default_data">
		<field name="email_key" type="C2" size="64">
			<NOTNULL />
			<descr>Unique identifier for this Email.</descr>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE="en_US"/>
		</field>
		<field name="subject" type="C2" size="120">
			<NOTNULL/>
		</field>
		<field name="body" type="X"/>
		<field name="description" type="X"/>
		<descr>Default data for Email templates.</descr>
		<index name="email_templates_default_data_pkey">
			<col>email_key</col>
			<col>locale</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE email_templates
	  *
	  -->
	<table name="email_templates">
		<field name="email_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="email_key" type="C2" size="64">
			<NOTNULL/>
			<descr>Unique identifier for this Email.</descr>
		</field>
		<field name="assoc_type" type="I8">
			<!-- Not null not specified for sake of upgrade. -->
			<DEFAULT VALUE="0"/>
		</field>
		<field name="assoc_id" type="I8">
			<!-- Not null not specified for sake of upgrade. -->
			<DEFAULT VALUE="0"/>
		</field>
		<field name="enabled" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<descr>Templates for Emails.</descr>
		<index name="email_templates_email_key">
			<col>email_key</col>
			<col>assoc_type</col>
			<col>assoc_id</col>
			<UNIQUE/>
		</index>
		<index name="email_templates_assoc">
			<col>assoc_type</col>
			<col>assoc_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE email_templates_data
	  *
	  -->
	<table name="email_templates_data">
		<field name="email_key" type="C2" size="64">
			<NOTNULL />
			<descr>Unique identifier for this Email.</descr>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE="en_US"/>
		</field>
		<field name="assoc_type" type="I8">
			<!-- Not null not specified for sake of upgrade. -->
			<DEFAULT VALUE="0"/>
		</field>
		<field name="assoc_id" type="I8">
			<!-- Not null not specified for sake of upgrade. -->
			<DEFAULT VALUE="0"/>
		</field>
		<field name="subject" type="C2" size="120">
			<NOTNULL/>
		</field>
		<field name="body" type="X"/>
		<descr>Data for Email templates.</descr>
		<index name="email_templates_data_pkey">
			<col>email_key</col>
			<col>locale</col>
			<col>assoc_type</col>
			<col>assoc_id</col>
			<UNIQUE/>
		</index>
	</table>

	<!-- OAI Tables -->

	<!--
	 *
	 * TABLE oai_resumption_tokens
	 *
	 -->
	<table name="oai_resumption_tokens">
		<field name="token" type="C2" size="32">
			<NOTNULL />
		</field>
		<field name="expire" type="I8">
			<NOTNULL/>
		</field>
		<field name="record_offset" type="I4">
			<NOTNULL/>
		</field>
		<field name="params" type="X" />
		<descr>Resumption tokens for the OAI protocol interface.</descr>
		<index name="oai_resumption_tokens_pkey">
			<col>token</col>
			<UNIQUE/>
		</index>
	</table>

	<!-- Parallel Processing -->

	<!--
	 *
	 * TABLE processes
	 *
	 -->
	<table name="processes">
		<field name="process_id" type="C2" size="23">
			<NOTNULL />
		</field>
		<field name="process_type" type="I1">
			<NOTNULL/>
		</field>
		<field name="time_started" type="I8">
			<NOTNULL/>
		</field>
		<field name="obliterated" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Currently running processes.</descr>
		<index name="processes_pkey">
			<col>process_id</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE journals
	  *
	  -->
	<table name="journals">
		<field name="journal_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="path" type="C2" size="32">
			<NOTNULL/>
		</field>
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="primary_locale" type="C2" size="5"/>
		<field name="enabled" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<field name="domain" type="C2" size="255"/>
		<descr>Journals and basic journal settings.</descr>
		<index name="journals_path">
			<col>path</col>
			<UNIQUE/>
		</index>
		<index name="journals_domain">
			<col>domain</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE journal_settings
	  *
	  -->
	<table name="journal_settings">
		<field name="journal_id" type="I8">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL />
		</field>
		<field name="setting_value" type="XL"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
			<descr>(bool|int|float|string|object)</descr>
		</field>
		<descr>Journal settings.</descr>
		<index name="journal_settings_pkey">
			<col>journal_id</col>
			<col>setting_name</col>
			<col>locale</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE plugin_settings
	  *
	  -->
	<table name="plugin_settings">
		<field name="plugin_name" type="C2" size="80">
			<NOTNULL />
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="setting_name" type="C2" size="80">
			<NOTNULL />
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
			<descr>(bool|int|float|string|object)</descr>
		</field>
		<descr>Plugin settings.</descr>
		<index name="plugin_settings_plugin_name">
			<col>plugin_name</col>
		</index>
		<index name="plugin_settings_pkey">
			<col>plugin_name</col>
			<col>locale</col>
			<col>journal_id</col>
			<col>setting_name</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE roles
	  *
	  -->
	<table name="roles">
		<field name="journal_id" type="I8">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="user_id" type="I8">
			<NOTNULL />
		</field>
		<field name="role_id" type="I8">
			<NOTNULL />
		</field>
		<descr>User roles in journals.</descr>
		<index name="roles_journal_id">
			<col>journal_id</col>
		</index>
		<index name="roles_user_id">
			<col>user_id</col>
		</index>
		<index name="roles_role_id">
			<col>role_id</col>
		</index>
		<index name="roles_pkey">
			<col>journal_id</col>
			<col>user_id</col>
			<col>role_id</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE sections
	  *
	  -->
	<table name="sections">
		<field name="section_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="review_form_id" type="I8" />
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="editor_restricted" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="meta_indexed" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="meta_reviewed" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<field name="abstracts_not_required" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="hide_title" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="hide_author" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="hide_about" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="disable_comments" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="abstract_word_count" type="I8" />
		<descr>Journal sections.</descr>
		<index name="sections_journal_id">
			<col>journal_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE section_settings
	  *
	  -->
	<table name="section_settings">
		<field name="section_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL />
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
			<descr>(bool|int|float|string|object)</descr>
		</field>
		<descr>Section-specific settings</descr>
		<index name="section_settings_section_id">
			<col>section_id</col>
		</index>
		<index name="section_settings_pkey">
			<col>section_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE section_editors
	  *
	  -->
	<table name="section_editors">
		<field name="journal_id" type="I8">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="section_id" type="I8">
			<NOTNULL />
		</field>
		<field name="user_id" type="I8">
			<NOTNULL />
		</field>
		<field name="can_edit" type="I1">
			<NOTNULL />
			<DEFAULT VALUE="1" />
		</field>
		<field name="can_review" type="I1">
			<NOTNULL />
			<DEFAULT VALUE="1" />
		</field>
		<descr>Assignments of section editors to sections.</descr>
		<index name="section_editors_journal_id">
			<col>journal_id</col>
		</index>
		<index name="section_editors_section_id">
			<col>section_id</col>
		</index>
		<index name="section_editors_user_id">
			<col>user_id</col>
		</index>
		<index name="section_editors_pkey">
			<col>journal_id</col>
			<col>section_id</col>
			<col>user_id</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE issues
	  *
	  -->
	<table name="issues">
		<field name="issue_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="volume" type="C2" size="10" />
		<field name="number" type="C2" size="10" />
		<field name="year" type="I2"/>
		<field name="published" type="I1">
			<NOTNULL />
			<DEFAULT VALUE="0" />
		</field>
		<field name="current" type="I1">
			<NOTNULL />
			<DEFAULT VALUE="0" />
		</field>
		<field name="date_published" type="T" />
		<field name="date_notified" type="T" />
		<field name="last_modified" type="T" />
		<field name="access_status" type="I1">
			<NOTNULL />
			<DEFAULT VALUE="1" />
		</field>
		<field name="open_access_date" type="T" />
		<field name="show_volume" type="I1">
			<NOTNULL />
			<DEFAULT VALUE="0" />
		</field>
		<field name="show_number" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="show_year" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="show_title" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="style_file_name" type="C2" size="90"/>
		<field name="original_style_file_name" type="C2" size="255"/>
		<descr>Journal issues.</descr>
		<index name="issues_journal_id">
			<col>journal_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE issue_settings
	  *
	  -->
	<table name="issue_settings">
		<field name="issue_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL />
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
		</field>
		<descr>Locale-specific issue data</descr>
		<index name="issue_settings_issue_id">
			<col>issue_id</col>
		</index>
		<index name="issue_settings_pkey">
			<col>issue_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE custom_issue_orders
	  *
	  -->
	<table name="custom_issue_orders">
		<field name="issue_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Custom sequencing information for journal issues, when available</descr>
		<index name="custom_issue_orders_pkey">
			<col>issue_id</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE issue_files
	  *
	  -->
	<table name="issue_files">
		<field name="file_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="issue_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="file_name" type="C2" size="90">
			<NOTNULL/>
		</field>
		<field name="file_type" type="C2" size="255">
			<NOTNULL/>
		</field>
		<field name="file_size" type="I8">
			<NOTNULL/>
		</field>
		<field name="content_type" type="I8">
			<NOTNULL/>
		</field>
		<field name="original_file_name" type="C2" size="127"/>
		<field name="date_uploaded" type="T">
			<NOTNULL/>
		</field>
		<field name="date_modified" type="T">
			<NOTNULL/>
		</field>
		<index name="issue_files_issue_id">
			<col>issue_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE issue_galleys
	  *
	  -->
	<table name="issue_galleys">
		<field name="galley_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="locale" type="C2" size="5"/>
		<field name="issue_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="file_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="label" type="C2" size="32"/>
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Issue galleys.</descr>
		<index name="issue_galleys_issue_id">
			<col>issue_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE issue_galley_settings
	  *
	  -->
	<table name="issue_galley_settings">
		<field name="galley_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL/>
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL/>
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
			<descr>(bool|int|float|string|object|date)</descr>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
		</field>
		<descr>Issue galley settings.</descr>
		<index name="issue_galley_settings_galley_id">
			<col>galley_id</col>
		</index>
		<index name="issue_galley_settings_pkey">
			<col>galley_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE/>
		</index>
	</table>

	<table name="custom_section_orders">
		<field name="issue_id" type="I8">
			<NOTNULL />
		</field>
		<field name="section_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Custom sequencing information for journal sections by issue, when available.</descr>
		<index name="custom_section_orders_pkey">
			<col>issue_id</col>
			<col>section_id</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE articles
	  *
	  -->
	<table name="articles">
		<field name="article_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="locale" type="C2" size="5" />
		<field name="user_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="section_id" type="I8" />
		<field name="language" type="C2" size="10">
			<DEFAULT VALUE="en"/>
		</field>
		<field name="comments_to_ed" type="X"/>
		<field name="citations" type="XL"/>
		<field name="date_submitted" type="T"/>
		<field name="last_modified" type="T"/>
		<field name="date_status_modified" type="T"/>
		<field name="status" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<field name="submission_progress" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<field name="current_round" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<field name="submission_file_id" type="I8"/>
		<field name="revised_file_id" type="I8"/>
		<field name="review_file_id" type="I8"/>
		<field name="editor_file_id" type="I8"/>
		<field name="pages" type="C2" size="255"/>
		<field name="fast_tracked" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="hide_author" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="comments_status" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Journal articles.</descr>
		<index name="articles_user_id">
			<col>user_id</col>
		</index>
		<index name="articles_journal_id">
			<col>journal_id</col>
		</index>
		<index name="articles_user_journal">
			<col>user_id</col>
			<col>journal_id</col>
		</index>
		<index name="articles_section_id">
			<col>section_id</col>
		</index>
		<index name="articles_section_id">
			<col>section_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE article_settings
	  *
	  -->
	<table name="article_settings">
		<field name="article_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL />
		</field>
		<field name="setting_value" type="XL"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
			<descr>(bool|int|float|string|object)</descr>
		</field>
		<descr>Journal article metadata.</descr>
		<index name="article_settings_article_id">
			<col>article_id</col>
		</index>
		<index name="article_settings_pkey">
			<col>article_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE published_articles
	  *
	  -->
	<table name="published_articles">
		<field name="published_article_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="article_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="issue_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="date_published" type="T"/>
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="access_status" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Journal articles.</descr>
		<index name="published_articles_article_id">
			<col>article_id</col>
			<UNIQUE/>
		</index>
		<index name="published_articles_issue_id">
			<col>issue_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE article_files
	  *
	  -->
	<table name="article_files">
		<field name="file_id" type="I8">
			<AUTOINCREMENT/>
		</field>
		<field name="user_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="revision" type="I8" />
		<field name="source_file_id" type="I8" />
		<field name="source_revision" type="I8" />
		<field name="article_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="file_name" type="C2" size="90">
			<NOTNULL/>
		</field>
		<field name="file_type" type="C2" size="255">
			<NOTNULL/>
		</field>
		<field name="file_size" type="I8">
			<NOTNULL/>
		</field>
		<field name="original_file_name" type="C2" size="127"/>
		<field name="file_stage" type="I8">
			<NOTNULL/>
		</field>
		<field name="viewable" type="I1" />
		<field name="date_uploaded" type="T">
			<NOTNULL/>
		</field>
		<field name="date_modified" type="T">
			<NOTNULL/>
		</field>
		<field name="round" type="I1">
			<NOTNULL/>
		</field>
		<field name="assoc_id" type="I8"/>
		<field name="antiplagiat_id" type="XL" />
		<field name="antiplagiat_status" type="C2" size="90" />
		<field name="antiplagiat_file_name" type="C2" size="255" />
		<field name="antiplagiat_indexing_status" type="C2" size="255" />
		<descr>Files associated with articles. Includes submission files, supplementary files, etc.</descr>
		<index name="article_files_article_id">
			<col>article_id</col>
		</index>
		<index name="article_files_file_revision">
			<col>file_id</col>
			<col>revision</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE article_supplementary_files
	  *
	  -->
	<table name="article_supplementary_files">
		<field name="supp_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="file_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="article_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="type" type="C2" size="255"/>
		<field name="language" type="C2" size="10"/>
		<field name="remote_url" type="C2" size="255"/>
		<field name="date_created" type="D"/>
		<field name="show_reviewers" type="I1">
			<DEFAULT VALUE="0"/>
		</field>
		<field name="date_submitted" type="T">
			<NOTNULL/>
		</field>
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Supplementary files attached to articles.</descr>
		<index name="article_supp_files_file_id">
			<col>file_id</col>
		</index>
		<index name="article_supp_files_article_id">
			<col>article_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE article_supp_file_settings
	  *
	  -->
	<table name="article_supp_file_settings">
		<field name="supp_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL />
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
			<descr>(bool|int|float|string|object|date)</descr>
		</field>
		<descr>Article supplementary file metadata.</descr>
		<index name="article_supp_file_settings_supp_id">
			<col>supp_id</col>
		</index>
		<index name="article_supp_file_settings_pkey">
			<col>supp_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE edit_assignments
	  *
	  -->
	<table name="edit_assignments">
		<field name="edit_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="article_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="editor_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="can_edit" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<field name="can_review" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="1"/>
		</field>
		<field name="date_assigned" type="T"/>
		<field name="date_notified" type="T"/>
		<field name="date_underway" type="T"/>
		<descr>Editing assignments.</descr>
		<index name="edit_assignments_article_id">
			<col>article_id</col>
		</index>
		<index name="edit_assignments_editor_id">
			<col>editor_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE edit_decisions
	  *
	  -->
	<table name="edit_decisions">
		<field name="edit_decision_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="article_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="round" type="I1">
			<NOTNULL/>
		</field>
		<field name="editor_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="decision" type="I1">
			<NOTNULL/>
		</field>
		<field name="date_decided" type="T">
			<NOTNULL/>
		</field>
		<descr>Editor decisions.</descr>
		<index name="edit_decisions_article_id">
			<col>article_id</col>
		</index>
		<index name="edit_decisions_editor_id">
			<col>editor_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE article_galleys
	  *
	  -->
	<table name="article_galleys">
		<field name="galley_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="locale" type="C2" size="5"/>
		<field name="article_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="file_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="label" type="C2" size="32"/>
		<field name="html_galley" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="style_file_id" type="I8"/>
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="remote_url" type="C2" size="255" />
		<descr>Article galleys.</descr>
		<index name="article_galleys_article_id">
			<col>article_id</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE article_galley_settings
	  *
	  -->
	<table name="article_galley_settings">
		<field name="galley_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL/>
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL/>
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
			<descr>(bool|int|float|string|object|date)</descr>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
		</field>
		<descr>Article galley settings.</descr>
		<index name="article_galley_settings_galley_id">
			<col>galley_id</col>
		</index>
		<index name="article_galley_settings_pkey">
			<col>galley_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE collections
	  *
	 -->
	<table name="collections">
		<field name="collection_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
	</table>

	<!--
	  *
	  * TABLE collection_journals
	  *
	 -->
	<table name="collection_journals">
		<field name="collection_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL />
		</field>
	</table>

	<!--
	  *
	  * TABLE collection_settings
	  *
	 -->
	<table name="collection_settings">
		<field name="collection_id" type="I8">
			<NOTNULL />
			<DEFAULT VALUE="0"/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL />
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
			<descr>(bool|int|float|string|object)</descr>
		</field>
		<index name="collection_settings_collection_id">
			<col>collection_id</col>
		</index>
		<index name="collection_settings_pkey">
			<col>collection_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE />
		</index>
	</table>

	<!--
	  *
	  * TABLE article_file_settings
	  *
	  -->
	<table name="article_file_settings">
		<field name="file_id" type="I8">
			<NOTNULL />
		</field>
		<field name="revision" type="I8">
			<NOTNULL />
			<DEFAULT VALUE="1"/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL />
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
			<descr>(bool|int|float|string|object)</descr>
		</field>
		<descr>Article file metadata.</descr>
		<index name="article_file_settings_file_id">
			<col>file_id</col>
		</index>
		<index name="article_file_settings_pkey">
			<col>file_id</col>
			<col>revision</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE collection_subscriptions
	  *
	 -->
	<table name="collection_subscriptions">
		<field name="subscription_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="collection_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="name" type="C2" size="255">
			<NOTNULL/>
		</field>
		<field name="status" type="I1">
			<DEFAULT VALUE="0"/>
		</field>
		<field name="date_start" type="D">
			<NOTNULL/>
		</field>
		<field name="date_end" type="D">
			<NOTNULL/>
		</field>
		<index name="collection_subscriptions_subscr_id">
			<col>subscription_id</col>
		</index>
	</table>

	<!--
	 *
	 * TABLE collection_subscriptions_ip
	 *
	 -->
	<table name="collection_subscriptions_ip">
		<field name="collection_subscriptions_ip_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="subscription_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="ip_string" type="C2" size="40">
			<NOTNULL/>
		</field>
		<field name="ip_start" type="I8">
			<NOTNULL/>
		</field>
		<field name="ip_end" type="I8">
		</field>
		<index name="collection_subscriptions_ip_subscr_id">
			<col>subscription_id</col>
		</index>
		<index name="collection_subscriptions_ip_start">
			<col>ip_start</col>
		</index>
		<index name="collection_subscriptions_ip_end">
			<col>ip_end</col>
		</index>
	</table>

	<!--
	  *
	  * TABLE article_html_galley_images
	  *
	  -->
	<table name="article_html_galley_images">
		<field name="galley_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="file_id" type="I8">
			<NOTNULL />
		</field>
		<descr>Images associated with an article HTML galley.</descr>
		<index name="article_html_galley_images_pkey">
			<col>galley_id</col>
			<col>file_id</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	  *
	  * TABLE article_comments
	  *
	  -->
	<table name="article_comments">
		<field name="comment_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="comment_type" type="I8"/>
		<field name="role_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="article_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="assoc_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="author_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="comment_title" type="C2" size="255">
			<NOTNULL/>
		</field>
		<field name="comments" type="X"/>
		<field name="date_posted" type="T"/>
		<field name="date_modified" type="T"/>
		<field name="viewable" type="I1" />
		<descr>Comments posted on articles.</descr>
		<index name="article_comments_article_id">
			<col>article_id</col>
		</index>
	</table>

	<!--
	 *
	 * TABLE article_search_keyword_list
	 *
	 -->
	<table name="article_search_keyword_list">
		<field name="keyword_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="keyword_text" type="C2" size="60">
			<NOTNULL/>
		</field>
		<descr>List of all keywords.</descr>
		<index name="article_search_keyword_text">
			<col>keyword_text</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	 *
	 * TABLE article_search_objects
	 *
	 -->
	<table name="article_search_objects">
		<field name="object_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="article_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="type" type="I4">
			<NOTNULL />
			<descr>Type of item. E.g., abstract, fulltext, etc.</descr>
		</field>
		<field name="assoc_id" type="I8">
			<descr>Optional ID of an associated record (e.g., a file_id)</descr>
		</field>
		<descr>Indexed objects.</descr>
	</table>

	<!--
	 *
	 * TABLE article_search_object_keywords
	 *
	 -->
	<table name="article_search_object_keywords">
		<field name="object_id" type="I8">
			<NOTNULL />
		</field>
		<field name="keyword_id" type="I8">
			<NOTNULL />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="pos" type="I4">
			<NOTNULL />
			<descr>Word position of the keyword in the object.</descr>
		</field>
		<descr>Keyword occurrences for each indexed object.</descr>
		<index name="a_s_o_k_kwd_id">
			<col>keyword_id</col>
		</index>
		<index name="a_s_o_k_pkey">
			<col>object_id</col>
			<col>pos</col>
			<UNIQUE />
		</index>
	</table>

	<!-- Reading Tools Tables -->

	<!--
	 *
	 * TABLE rt_versions
	 *
	 -->
	<table name="rt_versions">
		<field name="version_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="version_key" type="C2" size="40">
			<NOTNULL/>
		</field>
		<field name="locale" type="C2" size="5">
			<DEFAULT VALUE="en_US"/>
		</field>
		<field name="title" type="C2" size="120">
			<NOTNULL/>
		</field>
		<field name="description" type="X"/>
		<descr>Reading Tools versions.</descr>
		<index name="rt_versions_journal_id">
			<col>journal_id</col>
		</index>
		<index name="rt_versions_version_key">
			<col>version_key</col>
		</index>
	</table>

	<!--
	 *
	 * TABLE rt_contexts
	 *
	 -->
	<table name="rt_contexts">
		<field name="context_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="version_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="title" type="C2" size="120">
			<NOTNULL/>
		</field>
		<field name="abbrev" type="C2" size="32">
			<NOTNULL/>
		</field>
		<field name="description" type="X"/>
		<field name="cited_by" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="author_terms" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="define_terms" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="geo_terms" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Reading Tools contexts (within versions).</descr>
		<index name="rt_contexts_version_id">
			<col>version_id</col>
		</index>
	</table>

	<!--
	 *
	 * TABLE rt_searches
	 *
	 -->
	<table name="rt_searches">
		<field name="search_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="context_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="title" type="C2" size="120">
			<NOTNULL/>
		</field>
		<field name="description" type="X"/>
		<field name="url" type="X"/>
		<field name="search_url" type="X"/>
		<field name="search_post" type="X"/>
		<field name="seq" type="F">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<descr>Reading Tools searches (within contexts).</descr>
		<index name="rt_searches_context_id">
			<col>context_id</col>
		</index>
	</table>

	<!--
	 *
	 * TABLE subscription_types
	 *
	 -->
	<table name="subscription_types">
		<field name="type_id" type="I8">
			<KEY />
			<AUTOINCREMENT />
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="cost" type="F">
			<NOTNULL/>
		</field>
		<field name="currency_code_alpha" type="C2" size="3">
			<NOTNULL/>
		</field>
		<field name="non_expiring" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="duration" type="I2">
		</field>
		<field name="format" type="I2">
			<NOTNULL/>
		</field>
		<field name="institutional" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="membership" type="I1">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="disable_public_display" type="I1">
			<NOTNULL/>
		</field>
		<field name="seq" type="F">
			<NOTNULL/>
		</field>
		<descr>Subscription types.</descr>
	</table>

	<!--
	  *
	  * TABLE subscription_type_settings
	  *
	  -->
	<table name="subscription_type_settings">
		<field name="type_id" type="I8">
			<NOTNULL />
		</field>
		<field name="locale" type="C2" size="5">
			<NOTNULL />
			<DEFAULT VALUE=""/>
		</field>
		<field name="setting_name" type="C2" size="255">
			<NOTNULL />
		</field>
		<field name="setting_value" type="X"/>
		<field name="setting_type" type="C2" size="6">
			<NOTNULL/>
		</field>
		<descr>Locale-specific subscription type data</descr>
		<index name="subscription_type_settings_type_id">
			<col>type_id</col>
		</index>
		<index name="subscription_type_settings_pkey">
			<col>type_id</col>
			<col>locale</col>
			<col>setting_name</col>
			<UNIQUE/>
		</index>
	</table>

	<!--
	 *
	 * TABLE subscriptions
	 *
	 -->
	<table name="subscriptions">
		<field name="subscription_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="user_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="type_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="date_start" type="D">
		</field>
		<field name="date_end" type="T">
		</field>
		<field name="date_reminded_before" type="T">
		</field>
		<field name="date_reminded_after" type="T">
		</field>
		<field name="status" type="I1">
			<DEFAULT VALUE="0"/>
		</field>
		<field name="membership" type="C2" size="40"/>
		<field name="reference_number" type="C2" size="40"/>
		<field name="notes" type="X"/>
		<descr>Journal subscriptions.</descr>
	</table>

	<!--
	 *
	 * TABLE inst_subscriptions
	 *
	 -->
	<table name="inst_subscriptions">
		<field name="inst_subscription_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="subscription_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="journal_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="user_id" type="I8">
			<NOTNULL/>
			<DEFAULT VALUE="0"/>
		</field>
		<field name="institution_name" type="C2" size="255">
			<NOTNULL/>
		</field>
		<field name="mailing_address" type="C2" size="255"/>
		<field name="domain" type="C2" size="255"/>
		<index name="inst_subscriptions_subscription_id">
			<col>subscription_id</col>
		</index>
		<index name="inst_subscriptions_domain">
			<col>domain</col>
		</index>
	</table>

	<!--
	 *
	 * TABLE inst_subscription_ip
	 *
	 -->
	<table name="inst_subscription_ip">
		<field name="inst_subscription_ip_id" type="I8">
			<KEY />
			<AUTOINCREMENT/>
		</field>
		<field name="subscription_id" type="I8">
			<NOTNULL/>
		</field>
		<field name="ip_string" type="C2" size="40">
			<NOTNULL/>
		</field>
		<field name="ip_start" type="I8">
			<NOTNULL/>
		</field>
		<field name="ip_end" type="I8">
		</field>
		<index name="inst_subscription_ip_subscr_id">
			<col>subscription_id</col>
		</index>
		<index name="inst_subscription_ip_start">
			<col>ip_start</col>
		</index>
		<index name="inst_subscription_ip_end">
			<col>ip_end</col>
		</index>
	</table>
</schema>
