Difference between revisions of "ARK2"

From ARK
Jump to: navigation, search
(Design)
(Aims)
 
(21 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: