Difference between revisions of "ARK2"

From ARK
Jump to: navigation, search
(Documentation)
(Aims)
 
(4 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 model
 
* Front Controller model
Line 22: Line 22:
 
* Database abstraction and Object Relational Mapping
 
* Database abstraction and Object Relational Mapping
 
* Config driven data schema
 
* 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
* Controlled Vocabularies
+
* Field-level data access control
* Workflow definitions in conjunction with User Authorisation control
+
* Data Workflows in conjunction with User Authorisation control
  
 
== Documentation ==
 
== Documentation ==
Line 33: 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/Install|Install]] - Installation Instructions
 
* [[ARK2/Architecture|Architecture]] - System Architecture
 
* [[ARK2/Architecture|Architecture]] - System Architecture
Line 38: Line 40:
 
* [[ARK2/Cache|Cache]] - Cache 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

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: