Difference between revisions of "ARK2"

From ARK
Jump to: navigation, search
(Documentation)
(Aims)
 
(10 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 RESTful API to allow other frontends and apps to access and update the ARK Database
+
* 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 3 based
+
* Bootstrap based
 
* Twig templates
 
* Twig templates
* Front Controller / Single Page model
+
* Front Controller model
 
* Config driven pages views
 
* Config driven pages views
  
 
Modern backend
 
Modern backend
* Modern RESTful API to access and update all ARK data
+
* Full REST API to access and update all ARK data
* Database abstraction
+
* Database abstraction and Object Relational Mapping
* Config driven model
+
* 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/Vocabulary|Vocabulary]] - Controlled Vocabularies
Line 41: 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: