Difference between revisions of "ARK2"

From ARK
Jump to: navigation, search
(→‎Design)
(→‎Aims)
 
(18 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 30: Line 33:
  
 
* [[ARK2/Design|Design]] - High Level Design Decisions
 
* [[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/Architecture|Architecture]] - System Architecture
−
* [[ARK2/Development|Development]] - Development tools and procedures
+
* [[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/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/API|API]] - REST API implementation
 
* [[ARK2/Frontend|Frontend]] - Web Frontend
 
* [[ARK2/Frontend|Frontend]] - Web Frontend
−
* [[ARK2/Database|Database]] - Database details
+
* [[ARK2/Templates|Templates]] - Using Twig for the Web Frontend
−
* [[ARK2/Localization|Localization]] - Internationalization, Localization, and Translation
+
* [[ARK2/Console|Console]] - Admin Consoles
−
* [[ARK2/Security|Security]] - Security, Authentication, Authorisation, User Management
+
* [[ARK2/Admin|Admin]] - Admin Frontend
−
 
+
* [[ARK2/Branding|Branding]] - Branding of the ARK Project, Products, and Service
−
== Branding / Community ==
 
−
 
 
−
Two potential issues suggest an evolution of the ARK brand is required
 
−
* Building a development and support community may be easier if ARK is branded as a stand-alone project, rather than seen as owned/controlled by LP Archaeology
 
−
* Extending use of ARK and Hosted ARK to areas outside archaeology may be held back by emphasising the archaeology aspect in the branding
 
−
 
 
−
Branding as something like 'The ARK Project, sponsored by LP Archaeology', and coining a bacronym like 'ARK Recording Kit' might solve these issues.
 
−
 
 
−
The Hosted ARK would need a separate identity to the development project to keep the Open Source / Commercial split clear. A simple .com vs .org difference is probably not clear enough. Examples include:
 
−
* Salesforce.com vs Force.com
 
−
* Mediawiki vs Wikia
 
−
* Wordpress .com vs .org
 
−
 
 
−
Branding would thus consist of three parts:
 
−
* The project
 
−
* The products
 
−
* The service
 
−
 
 
−
The branding would need to be distinctive but consistent to make it clear they are part of a cohesive whole.
 
−
 
 
−
Words with Ark / Arc in them (but not arch) for possible project or theme names:
 
−
* Archive / ARKhive
 
−
* Arctic (very white/light theme?)
 
−
* Arcadia
 
−
* [https://en.wikipedia.org/wiki/Arkose Arkose] (type of sediment)
 
−
* Arkaeology (available in .com, .org, .net!)
 
−
* Arcade
 
−
* Archaic / Arcane / Arcanum / Arcana (more apt for ARK v1 ;-)
 
−
* Arcuate / Arcuated (Arc/bow shaped)
 
−
* Architrave
 
−
* Architect
 
−
* Archipeligo
 
−
* Archosaur
 
−
* Arktivity...
 

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: