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
- Click View Details to see full proposal information
- Review the proposed changes:
- New mapping submission (proposal-first workflow)
- Delete mapping request
- Confidence level change
- Connection type modification
- Check user rationale and contact information
Approving Proposals
- Click Approve button
- Changes are immediately applied to the mapping (or a new mapping is created)
- Provenance fields (approved_by, approved_at) are recorded
- Proposal status updated to "Approved"
Rejecting Proposals
- Click Reject button
- Optionally add admin notes explaining the rejection
- Proposal status updated to "Rejected"
- 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.
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
- Click Create Code
- The system generates a unique access code
- 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
| Table | Purpose |
|---|---|
mappings | KE-WP mapping entries with UUID and provenance |
proposals | Change proposals for KE-WP mappings |
ke_go_mappings | KE-GO BP mapping entries with UUID and provenance |
ke_go_proposals | Change proposals for KE-GO mappings |
sparql_cache | Cached SPARQL query responses (24-hour expiry) |
User Management
User access is managed through:
- GitHub OAuth for authentication (primary)
- Guest access codes for workshop participants (admin-managed)
- Environment variable whitelist for admin privileges