ARK2/Admin

From ARK
Revision as of 14:39, 7 December 2016 by John Layt (talk | contribs) (Site Admin)

Jump to: navigation, search

Admin

ARK2 offers a stand-alone Admin web interface, allowing an API-only back-end to be configured and maintained. When running the full ARK2 Web frontend, the Admin interface is accessible to admin-level users, but does not 'leak' into the standard user interface. Because ARK2 supports multi-tenant/multi-site modes, the Admin interface has two broad divisions between Site Admin and System Admin, i.e. managing an ARK instance and managing the ARK installation. The Admin interface should reflect the theme of the main site (colours, fonts, etc), but not otherwise change in layout or function so admin is a consistent experience across sites and installs. Many of the pages will be standard CRUD list views for which we will need a master template, but some pages will benefit from custom UX.

SBAdmin and AdminLTE were early options assessed. The Drupal Admin panel is another example.

Profiles

  • Hosted Site Admin - Basic site details, add users, but not able to change schema, roles, etc.
  • Site Admin - Full site admin, including schema
  • System Admin - Installation admin

Menu

Rough menu or grouping structure, not all features required in 2.0.

Admin
- Site
-- Details
-- Theme
-- Region
-- Alerts
- Content
-- Static Page
-- File
-- Thumbnail
-- Translations
-- Import
-- Upload
- Structure
-- Vocabulary
-- Format
-- Schema
-- View
-- Workflow
- Security
-- Users
-- Roles
-- Permissions
- System
-- Status
-- Alerts
-- Site Defaults
-- Cron
-- Logging
-- Reports
-- Routing

Site Admin

Administration of an ARK Site.

- Site
-- Details
-- Theme
-- Region
-- Alerts
  • Details
    • Name
    • Short description
    • Logo
    • Favicon
    • Contact Name / Email
    • Copyright
    • Content license: CC, etc
  • Theme
    • Frontend (API, Admin, Flat, Web)
    • Skin (Colour, etc)
  • Region
    • Locale
    • Time Zone
    • Multilingual site
    • Default language
    • Supported Languages
  • Alerts

User/RBAC Admin

ARK2 implements a Role-Based Access Control system, where Users are assigned Roles, and Roles have Permissions.

User Frosting was an early option assessed.

Note that a User Profile page will be available in the main Web frontend, the user view in the Admin frontend should only be focussed on the security admin aspects of the user, but should share a design language with the User Profile.

Translation Admin

ARK2 uses Symfony Translation for translating both markup and content into multiple languages, including data values such as taxonomy terms. A Site Admin needs to be able to add and maintain translations directly. Advanced features are not required, as specialised websites will be used to maintain the core translation files. A sortable/filterable list view of translation keys and their translations into the site's supported languages is required. Useful features would including listing keywords that are missing translations, etc.

A translation has the following fields:

  • Domain - Message group, e.g. Users, Admin, Errors, etc
  • Keyword - The translation key
  • Role - The translation role, e.g. Default, Title, Description, Opposite, etc
  • Language
  • Text - The translation
  • Notes - Notes to help the translator, will default to original English translation if not otherwise set

Some possible examples:

Alerts / Flashes Admin

Alerts or Flashes are notifications displayed to users, i.e. Bootstrap Alerts. Site or System Admins can schedule alerts to be show at a system, site, role, or user level, and configure them to be dismissible and/or persistent. The Admin frontend will provide a page to administer these Alerts.

Workflow Admin

Schema Admin

View Admin

System Admin

Early releases of ARK2 will not provide a system admin panel. Instead sysadmins will use the Sysadmin Console.

Options in the Sysadmin panel will include:

  • Install status (maintenance mode / live mode)
  • Error Message maintenance (similar to translations)