Overview
BEdita is a tool to handle the data of your mobile, IoT, web and desktop applications.
- It’s a full fledged content management solution with:
an HTTP REST driven server application - the Backend - with a complete API to model, create, modify and retrieve data
a default progressive web application - the Manager - to control & manage your data
BEdita is built with CakePHP 3 and uses relational DBMS like MySQL, Postgres or SQLite in conjunction with (optional) NoSQL systems like Redis, Elastic Search and InfluxDb to boost performance and scale up to Big Data scenarios.
JSON API is the primary, although not unique, exchange data format.
Backend
The Backend is the core of BEdita: an HTTP REST service that exposes a set of API endpoints.
It’s not a standalone application service or daemon like a DBMS, but it’s an application deployed in a Web server like Apache or Nginx and accessible via standard HTTP ports.
So at first it may look like a standard Web application, but it’s not.
It doesn’t offer an HTML interface, it doesn’t respond in HTML [1] but only in JSON [2]: the only way to communicate with this service is through its JSON API REST endpoints. See API reference for an overview.
To install a backend instance see Setup
Manager
The Manager is an hybrid cakephp+vue web application to manage all of your data using the backend REST API.
You may see this application as the primary GUI of BEdita or as a control panel or admin console.
To operate with this application you need to login first.
The first user created during setup has the permanent role of administrator and using its credentials you may:
create new users and assign roles to them
create new roles
create and modify objects - contents or tree structures that may be used in your applications
create new object types from your application domain or extend existing types
create relations between objects
give access permissions to endpoints and objects to some roles
set configuration settings and view system information and relevant events
model your objects
setup configurations and much more
Through its dynamic permission system keep in mind that users having different roles may perform different actions:
some users may not be able to login in the Manager - e.g. standard users of your applications
some users may not have access to some endpoints - like modeling new types, or view some object types
some users may have a read-only access to some endpoints - they may only see certain types but not create or modify anything
Notes