A project is a logical workspace inside an instance, implemented as a PostgreSQL schema.
It contains:
- object structures (object tables)
- data table structures
- generated object/data tables
- role permissions
- default permissions for user and device individuals
- history and project settings
In daily operation:
- most users work with objects and their data
- object/data structure design views are intended for Architect permission
¶ Lifecycle and versioning
- Instance and project structures are versioned.
- Instance migration must happen before project migration.
- Some migrations affect only instance-level or only project-level structures.
Project authorization combines multiple sources.
For users:
- role permissions allowed on the project
- project default user permissions
- if All projects access is enabled, instance permissions are also included in project authorization
For devices:
- role permissions allowed on the project
- project default device permissions
Project-level user permissions include:
- Architect
- Role moderator
- Admin
Table/object data access permissions (shared for user/device context at table/object level):
- Object manager
- Data analyst
- Data source
- Data manager
- Role permissions on the project.
- Default user/device permissions on the project.
- Project templates and template permissions.
- Project languages.
- Object and data table structure definitions (Architect scope).
Important: configure project languages before generating the first object structure and data table in the project.
For a full authorization walkthrough, see Permissions and authorization.
Project checks inherit applicable instance checks for users and then apply project-specific role/default permissions.