Difference between revisions of "ARK2"
From ARK
(→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 | + | * 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 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 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:
- 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