Difference between revisions of "ARK2"
From ARK
(→Documentation) |
(→Aims) |
||
(11 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
* Full code re-write to modern standards using modern components | * Full code re-write to modern standards using modern components | ||
* Separate the ARK Database backend from the ARK Web frontend | * Separate the ARK Database backend from the ARK Web frontend | ||
− | * Implement a modern | + | * 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 | * 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 | * Improve the overall performance and data integrity of ARK | ||
Line 13: | Line 13: | ||
Modern frontend | Modern frontend | ||
* HTML5 | * HTML5 | ||
− | * Bootstrap | + | * Bootstrap based |
* Twig templates | * Twig templates | ||
− | * Front Controller | + | * Front Controller model |
* Config driven pages views | * Config driven pages views | ||
Modern backend | Modern backend | ||
− | * | + | * Full REST API to access and update all ARK data |
− | * Database abstraction | + | * Database abstraction and Object Relational Mapping |
− | * Config driven | + | * Config driven data schema |
+ | * Controlled Vocabularies and Linked Open Data | ||
* User Authentication via internal user/password and external OAuth2 providers (Facebook, Google, etc) | * 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 | * 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 == | == Documentation == | ||
Line 31: | Line 34: | ||
* [[ARK2/Design|Design]] - High Level Design Decisions | * [[ARK2/Design|Design]] - High Level Design Decisions | ||
* [[ARK2/Technical|Technical]] - Technical details, Development tools and procedures | * [[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/Architecture|Architecture]] - System Architecture | ||
− | * [[ARK2/Database|Database]] - Database details | + | * [[ARK2/Database|Database]] - Database / ORM details |
+ | * [[ARK2/Cache|Cache]] - Cache details | ||
* [[ARK2/Model|Model]] - Data model / Schema | * [[ARK2/Model|Model]] - Data model / Schema | ||
+ | * [[ARK2/View|View]] - Views on the Data Model | ||
* [[ARK2/Spatial|Spatial]] - Spatial data | * [[ARK2/Spatial|Spatial]] - Spatial data | ||
+ | * [[ARK2/Vocabulary|Vocabulary]] - Controlled Vocabularies | ||
* [[ARK2/Files|File Management]] - File, Image, and other Media Management | * [[ARK2/Files|File Management]] - File, Image, and other Media Management | ||
* [[ARK2/Localization|Localization]] - Internationalization, Localization, and Translation | * [[ARK2/Localization|Localization]] - Internationalization, Localization, and Translation | ||
Line 40: | Line 48: | ||
* [[ARK2/API|API]] - REST API implementation | * [[ARK2/API|API]] - REST API implementation | ||
* [[ARK2/Frontend|Frontend]] - Web Frontend | * [[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/Admin|Admin]] - Admin Frontend | ||
* [[ARK2/Branding|Branding]] - Branding of the ARK Project, Products, and Service | * [[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