ARK2/Admin

From ARK
Revision as of 14:02, 19 December 2016 by John Layt (talk | contribs) (Structure)

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. It will probably be an option on the User dropdown menu, or directly at example.com/admin.

Because ARK2 supports multi-tenant/multi-site modes, the Admin interface has two broad divisions between Website Admin and System Admin, i.e. managing an ARK instance and managing the ARK install. How the UX of multi-site / multi-tenant will work is still to be figured out.

The Admin interface should reflect the theme of the main website (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

The options available in the admin frontend will vary depending on the admin level of the user.

  • Hosted Website Admin - Basic website details, add users, but not able to change schema, roles, etc.
  • Website Admin - Full website admin for a single website, including schema
  • Multisite Admin - Full website admin for multiple websites?
  • System Admin - Installation admin

Menu

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

Admin
- Website
- Content
- Structure
- Security
- System

Initial view should be some kind of dashboard summary view of the install, alternatively the Website initial page.

Website

Administration of an ARK Website (Instance? Project?).

- Website
-- Details
-- Theme
-- Region
-- Alerts

Initial view should be some kind of dashboard summary view of the websites managed by the user with ability to switch websites, alternatively the Website Details.

Details

General website details:

  • Name
  • Short description
  • Logo
  • Favicon
  • Contact Name / Email
  • Copyright
  • Content license: CC, etc

Theme

Web frontend details:

  • Frontend (API, Admin, Flat, Web) [Not available for Hosted ARK Admin]
  • Skin (Colour, etc)

Region

Regional and language settings:

  • Locale
  • Time Zone
  • Multilingual site
  • Default language
  • Supported Languages

Alerts

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. The Alerts Admin will appear at both Site and System levels with the appropriate options.

Content Admin

- Content
-- Static Page
-- File
-- Image
-- Translation
-- Import
-- Upload

Static Page

Static Page administration. Ability to add or edit a static html page at a given URL.

File

File options and file management. Allowed types, sizes, etc. Flysystem config. Basic CRUD list with admin options. Bulk upload option?

Image

Image options management (files themselves included in File tab). Toolkit options, thumbnail profiles, regenerate thumbnails, etc.

Translation

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 for a given language, 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:

Import

Bulk data import functions.

Upload

Bulk file upload function, or in File section?

Structure

Section to manage the data structures available, i.e. Modules, Schemas, Fields, etc.

Most pages to be developed for v2.1, but Vocabulary may be required for 2.0.

- Structure
-- Vocabulary
-- Format
-- Schema
-- Workflow
-- View

Vocabulary

Page to manage controlled vocabularies (List, Ring, Taxonomy, Thesaurus), including translations (i.e current Aliases). See the Vocabulary page for more details.

Format

Page to manage data field formats.

Schema

Page to manage Module Data Schemas.

Workflow

Page to manage Workflows.

View

Page to manage Module View Layouts.

Security Admin

Section to manage the user and security.

Required for 2.0.

See the Security page for more details.

- Security
-- Options
-- Users
-- Roles
-- Permissions

ARK2 implements a Role-Based Access Control system, where Users are assigned Roles, and Roles have Permissions. The usual set of functions will be required for both self-registration and invitation-only models, password resets, and user management.

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.

Options

Configure security options, such as user registration policy, anonymous users, etc.

Users

List of users and management tools. Register, approve, reset password, suspend, delete, etc.

Roles

List of roles and management tools.

Permissions

List of permissions and management tools.

User Registration

Register a user, used for both Admin-Register or Self-Register.

User Settings

The user's admin-serviced security settings, such as roles, password reset, etc.

User Profile

The users profile, including self-service security settings, personal details, avatar, notifications, activity stream, social media accounts, etc. Part of the main user facing UX.

System Admin

Section to configure system-level settings.

Only used by Sysadmin level users.

Not required for 2.0, instead sysadmins will use the Sysadmin Console.

Options in the Sysadmin panel will include:

- System
-- Status
-- Region
-- Alerts
-- Messages
-- Site Defaults
-- Cron
-- Logging
-- Reports
-- Routing

Status

Install status, maintenance mode / live mode, etc.

Region

Install-wide default regional and language settings:

  • Locale
  • Time Zone
  • Multilingual site
  • Default language
  • Supported Languages

Alerts

Set install wide alerts, i.e. maintenance announcements.

Messages

Message maintenance, similar to translations.

Site Defaults

Default settings for new sites when in multi-site mode.

Cron

Cron job management.

Logging

Manage and view logs.

Reports

Various status reports.

Routing

Configure routes, api, etc.