Admin Guide

This guide is for administrators managing proposals, guest access, and data exports.

Admin Access

Admin privileges are controlled via the ADMIN_USERS environment variable:

ADMIN_USERS=username1,username2,username3

Once configured, admin users will see:

  • Admin and Guest Codes links in the top navigation
  • "Admin" badge next to their username
  • Access to proposal management, guest code management, and export tools

KE-WP Proposal Management

Viewing Proposals

Navigate to Admin to access the KE-WP proposals dashboard with:

  • Filterable table of all proposals
  • Status indicators (Pending / Approved / Rejected)
  • User contact information and provenance details
  • Proposed changes detailed view

Reviewing Proposals

  1. Click View Details to see full proposal information
  2. Review the proposed changes:
    • New mapping submission (proposal-first workflow)
    • Delete mapping request
    • Confidence level change
    • Connection type modification
  3. Check user rationale and contact information

Approving Proposals

  1. Click Approve button
  2. Changes are immediately applied to the mapping (or a new mapping is created)
  3. Provenance fields (approved_by, approved_at) are recorded
  4. Proposal status updated to "Approved"

Rejecting Proposals

  1. Click Reject button
  2. Optionally add admin notes explaining the rejection
  3. Proposal status updated to "Rejected"
  4. Original mapping remains unchanged

KE-GO Proposal Management

GO mapping proposals are managed separately. Access via the GO Proposals link on the admin page, or navigate directly to /admin/go-proposals.

The workflow is the same as KE-WP proposals: review, approve (creates/updates GO mapping), or reject with notes.

KE-Reactome Proposal Management

KE-Reactome proposals live at /admin/reactome-proposals, accessible from the admin page. The workflow mirrors KE-WP and KE-GO: review the proposal payload, approve (creates / updates the Reactome mapping) or reject with notes.

Note: the curator-side Reactome tab shows an "under development" notice while suggestion thresholds are being calibrated. The proposal pipeline itself is fully functional.

Guest Code Management

Workshop participants can log in with temporary access codes instead of GitHub OAuth. Manage codes at Guest Codes in the navigation or /admin/guest-codes.

Creating Guest Codes

  1. Click Create Code
  2. The system generates a unique access code
  3. Share the code with workshop participants

Revoking Guest Codes

Click Revoke next to any active code to disable it immediately. Revoked codes cannot be used to log in.

Export & Publication

Admin users can regenerate export files and publish to Zenodo from the admin interface:

  • Regenerate exports: Rebuilds GMT and RDF files in static/exports/
  • Publish to Zenodo: Uploads the latest dataset to Zenodo for DOI assignment

Database Management

The application uses SQLite with automatic migrations on startup. The database is stored in the data/ directory.

Tables

TablePurpose
mappingsKE-WP mapping entries with UUID and provenance
proposalsChange proposals for KE-WP mappings
ke_go_mappingsKE-GO BP mapping entries with UUID and provenance
ke_go_proposalsChange proposals for KE-GO mappings
ke_reactome_mappingsKE-Reactome mapping entries with UUID and provenance
ke_reactome_proposalsChange proposals for KE-Reactome mappings
sparql_cacheCached SPARQL query responses (24-hour expiry)
Important: All admin actions are logged with timestamps and usernames for accountability. Audit trails are maintained in the database via provenance columns.

User Management

User access is managed through:

  • GitHub OAuth sign-in. Identities are stored with a provider prefix (e.g. github:alice) so the database is forward-compatible with additional providers (ORCID, LS Login, SURFconext) when their credentials are provisioned.
  • Guest access codes for workshop participants (admin-managed at /admin/guest-codes)
  • Environment variable whitelist (ADMIN_USERS) for admin privileges; supports the same provider prefixes