Difference between revisions of "ARK2"
From ARK
(→Framework) |
(→Aims) |
||
(304 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This page details the progress on development of ARK 2.0 | This page details the progress on development of ARK 2.0 | ||
− | == | + | == Aims == |
− | * | + | The primary aims of ARK2 are: |
− | * | + | * Full code re-write to modern standards using modern components |
+ | * Separate the ARK Database backend from the ARK Web frontend | ||
+ | * Implement a modern REST API to allow other frontends and apps to access and update the ARK Database | ||
+ | * Simplify the setup and configuration of ARK by moving the config into the database and providing online config tools | ||
+ | * Improve the overall performance and data integrity of ARK | ||
+ | * Make it possible to provide an ARK hosting service | ||
− | + | Modern frontend | |
+ | * HTML5 | ||
+ | * Bootstrap based | ||
+ | * Twig templates | ||
+ | * Front Controller model | ||
+ | * Config driven pages views | ||
− | + | Modern backend | |
+ | * Full REST API to access and update all ARK data | ||
+ | * Database abstraction and Object Relational Mapping | ||
+ | * Config driven data schema | ||
+ | * Controlled Vocabularies and Linked Open Data | ||
+ | * User Authentication via internal user/password and external OAuth2 providers (Facebook, Google, etc) | ||
+ | * User Authorisation via Role Based Access Control (RBAC) using hierarchical Roles and Permissions structure | ||
+ | * Field-level data access control | ||
+ | * Data Workflows in conjunction with User Authorisation control | ||
− | == | + | == Documentation == |
− | + | Details of ARK2 can be found in the following sections: | |
− | * [ | + | * [[ARK2/Design|Design]] - High Level Design Decisions |
− | * [ | + | * [[ARK2/Technical|Technical]] - Technical details, Development tools and procedures |
− | + | * [[ARK2/The_ARK_Way|The ARK Way]] - Web Development - The ARK2 Way | |
− | + | * [[ARK2/Install|Install]] - Installation Instructions | |
− | * | + | * [[ARK2/Architecture|Architecture]] - System Architecture |
− | * | + | * [[ARK2/Database|Database]] - Database / ORM details |
− | + | * [[ARK2/Cache|Cache]] - Cache details | |
− | + | * [[ARK2/Model|Model]] - Data model / Schema | |
− | + | * [[ARK2/View|View]] - Views on the Data Model | |
− | + | * [[ARK2/Spatial|Spatial]] - Spatial data | |
− | + | * [[ARK2/Vocabulary|Vocabulary]] - Controlled Vocabularies | |
− | + | * [[ARK2/Files|File Management]] - File, Image, and other Media Management | |
− | + | * [[ARK2/Localization|Localization]] - Internationalization, Localization, and Translation | |
− | * | + | * [[ARK2/Security|Security]] - Security, Authentication, Authorisation, User Management |
− | * | + | * [[ARK2/API|API]] - REST API implementation |
− | + | * [[ARK2/Frontend|Frontend]] - Web Frontend | |
− | * | + | * [[ARK2/Templates|Templates]] - Using Twig for the Web Frontend |
− | * | + | * [[ARK2/Console|Console]] - Admin Consoles |
− | * | + | * [[ARK2/Admin|Admin]] - Admin Frontend |
− | * | + | * [[ARK2/Branding|Branding]] - Branding of the ARK Project, Products, and Service |
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | * | ||
− | * | ||
− | |||
− | * | ||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 12:34, 7 August 2018
This page details the progress on development of ARK 2.0
Aims
The primary aims of ARK2 are:
- Full code re-write to modern standards using modern components
- Separate the ARK Database backend from the ARK Web frontend
- Implement a modern REST API to allow other frontends and apps to access and update the ARK Database
- Simplify the setup and configuration of ARK by moving the config into the database and providing online config tools
- Improve the overall performance and data integrity of ARK
- Make it possible to provide an ARK hosting service
Modern frontend
- HTML5
- Bootstrap based
- Twig templates
- Front Controller model
- Config driven pages views
Modern backend
- Full REST API to access and update all ARK data
- Database abstraction and Object Relational Mapping
- Config driven data schema
- Controlled Vocabularies and Linked Open Data
- User Authentication via internal user/password and external OAuth2 providers (Facebook, Google, etc)
- User Authorisation via Role Based Access Control (RBAC) using hierarchical Roles and Permissions structure
- Field-level data access control
- Data Workflows in conjunction with User Authorisation control
Documentation
Details of ARK2 can be found in the following sections:
- Design - High Level Design Decisions
- Technical - Technical details, Development tools and procedures
- The ARK Way - Web Development - The ARK2 Way
- Install - Installation Instructions
- Architecture - System Architecture
- Database - Database / ORM details
- Cache - Cache details
- Model - Data model / Schema
- View - Views on the Data Model
- Spatial - Spatial data
- Vocabulary - Controlled Vocabularies
- File Management - File, Image, and other Media Management
- Localization - Internationalization, Localization, and Translation
- Security - Security, Authentication, Authorisation, User Management
- API - REST API implementation
- Frontend - Web Frontend
- Templates - Using Twig for the Web Frontend
- Console - Admin Consoles
- Admin - Admin Frontend
- Branding - Branding of the ARK Project, Products, and Service