From ARK
Jump to: navigation, search


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

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.


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


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

- Website
- Content
- Structure
- Security
- System

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


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.


General website details:

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


Web frontend details:

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


Regional and language settings:

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


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 options and file management. Allowed types, sizes, etc. Flysystem config. Basic CRUD list with admin options. Bulk upload option?


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


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, export al translations to XLIFF file, 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

Note that a Keyword can have multiple Roles in the table, for example keyword 'field.location' will have Roles for 'default' (the translation to use for any Role not set), 'title' (the Title to show for a field, in title case), 'description' ( a short description of the field that can be shown in a help mouseover).

Some possible examples:


Bulk data import functions.


Bulk file upload function, or in File section?


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


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


Page to manage data field formats.


Page to manage Module Data Schemas.


Page to manage Workflows.


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.


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


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


List of roles and management tools.


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


Install status, maintenance mode / live mode, etc.


Install-wide default regional and language settings:

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


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


Message maintenance, similar to translations.

Site Defaults

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


Cron job management.


Manage and view logs.


Various status reports.


Configure routes, api, etc.