From ARK
Revision as of 20:45, 2 January 2017 by John Layt (talk | contribs) (Documentation)

Jump to: navigation, search

This page details the progress on development of ARK 2.0


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 RESTful 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 3 based
  • Twig templates
  • Front Controller / Single Page model
  • Config driven pages views

Modern backend

  • Modern RESTful API to access and update all ARK data
  • Database abstraction
  • Config driven model
  • 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


Details of ARK2 can be found in the following sections:

  • Design - High Level Design Decisions
  • Technical - Technical details, Development tools and procedures
  • Architecture - System Architecture
  • Database - Database details
  • Cache - Cache details
  • Model - Data model / Schema
  • 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
  • Admin - Admin Frontend
  • Branding - Branding of the ARK Project, Products, and Service