ARK2/Admin
Contents
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
- 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, but not system
- System Admin - Installation admin
Menu
Rough menu or grouping structure, not all features required in 2.0.
Admin - Site - Content - Structure - Security - System
Initial view should be some kind of dashboard summary view of the install, alternatively the Site initial page.
Site
Administration of an ARK Website (Instance? Project?).
- Site -- 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 Site Details.
Details
General site details:
- Name
- Short description
- Logo
- Favicon
- Contact Name / Email
- Copyright
- Content license: CC, etc
Theme
Web frontend details:
- Frontend (API, Admin, Flat, Web)
- 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, 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:
- https://github.com/lexik/LexikTranslationBundle
- https://github.com/instaclick/TranslationEditorBundle
- https://www.transifex.com/
- https://demo.weblate.org/
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 screens 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.
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
- 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, messages, activity stream, etc.
System Admin
- System -- Status -- Region -- Alerts -- Messages -- Site Defaults -- Cron -- Logging -- Reports -- Routing
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:
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
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.
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.