Difference between revisions of "ARK2/Admin"
(→Menu) |
(→Translation) |
||
(57 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Admin = | = 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. | + | 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. |
− | [https://startbootstrap.com/template-overviews/sb-admin-2/ SBAdmin] and [https://almsaeedstudio.com/ AdminLTE] were early options assessed. The Drupal | + | 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. | ||
+ | |||
+ | [https://startbootstrap.com/template-overviews/sb-admin-2/ SBAdmin] and [https://almsaeedstudio.com/ AdminLTE] were early options assessed. The Drupal Admin panel is another example. | ||
== Profiles == | == Profiles == | ||
− | * Hosted | + | 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 | * System Admin - Installation admin | ||
== Menu == | == Menu == | ||
+ | |||
+ | Rough menu or grouping structure, not all features required in 2.0. | ||
Admin | Admin | ||
− | - | + | - Website |
- Content | - Content | ||
− | |||
− | |||
− | |||
− | |||
− | |||
- Structure | - Structure | ||
− | |||
− | |||
− | |||
− | |||
- Security | - Security | ||
− | |||
− | |||
− | |||
- System | - 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 | * Logo | ||
* Favicon | * Favicon | ||
− | * Frontend (API, Admin, Flat, Web) | + | * 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. [http://getbootstrap.com/components/#alerts 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 | + | === Translation === |
− | ARK2 uses [http://symfony.com/doc/current/translation.html 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. | + | ARK2 uses [http://symfony.com/doc/current/translation.html 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: | A translation has the following fields: | ||
Line 72: | Line 109: | ||
* Text - The translation | * Text - The translation | ||
* Notes - Notes to help the translator, will default to original English translation if not otherwise set | * 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: | Some possible examples: | ||
Line 79: | Line 118: | ||
* https://demo.weblate.org/ | * 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. | |
− | == View Admin == | + | 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 [[ARK2/Vocabulary|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 [[ARK2/Security|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. | ||
+ | |||
+ | [http://www.userfrosting.com/ 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 == | == 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: | 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. |
Latest revision as of 15:15, 19 December 2016
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
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, 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:
- 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 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.