Difference between revisions of "ARK2"
From ARK
(→Documentation) |
(→Aims) |
||
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 | + | * 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 | + | * 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 | + | * 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 |
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:
- Design - High Level Design Decisions
- Technical - Technical details, Development tools and procedures
- The ARK Way - Web Development - The ARK2 Way
- Install - Installation Instructions
- Architecture - System Architecture
- Database - Database / ORM details
- Cache - Cache details
- Model - Data model / Schema
- View - Views on the Data Model
- 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
- Console - Admin Consoles
- Admin - Admin Frontend
- Branding - Branding of the ARK Project, Products, and Service