Appearance
Core concepts
Access context
An organisation provides a context for user membership and access management. A user can belong to one or more organisations. Roles express responsibilities and access rights within that context, such as administering data or managing ingress.
An organisation can also contain user groups. These groups can receive fine-grained permissions on particular entities, including data, ingress, runners and scheduled operations. Groups also determine the audiences for pages and portals.
Roles and groups are both relevant when planning access: the team needs to decide who manages each part of the application and which resources each audience should be able to use.
Data structures
A table defines a kind of information managed by the application. Its fields describe the values held in each record, and its relationships connect records across tables. The schema supplies this structural definition.
In the equipment example, an Equipment table describes individual assets. A Measurements table contains readings associated with those assets. An Analysis results table holds the outputs of computation. These names and structures are illustrative choices for that application.
Data collection
Ingress brings external data into the platform. With push ingress, a system or user submits data to an endpoint. With pull ingress, NOOSAdmin retrieves data from an external source.
Push endpoints can validate and preprocess incoming data before storage. Pull ingress supports retrieval options such as authenticated calls, scripted fetching, retries and throttling. The two approaches address different ways of obtaining data and can be used within the same application.
Execution
A trigger initiates a configured operation. For example, ingress can fire a system-wide trigger, and a processor can run in response to a newly added record. A schedule supplies a recurring timing rule, such as fetching data every hour.
A data processor is a TypeScript script that works with records. It can read other tables and write results to a table or produce inline output associated with its execution.
A data runner executes external code packaged as a Docker image. Docker packages code with the software it needs to run. A runner has defined inputs and outputs and is invoked by a trigger. Its output can be stored in tables or retained as inline output.
Presentation
A data explorer supports browsing and querying records, including following linked tables. A dashboard presents queried information. A page makes content or functionality available in a user-facing view.
A portal organises pages into a branded experience with its own URL and menu. Portal pages can contain dashboards, explorers, ingress forms and runner-related functionality. Access can be provided to one or more user groups.
The diagram shows conceptual data relationships. Its arrows do not imply that every transition runs automatically.
Loading diagram…
Following a measurement
In the illustrative equipment application, a submitted measurement becomes a record associated with a piece of equipment. An analyst can inspect it alongside other readings. A configured processor could use those readings to calculate a summary and store it in another table. A dashboard could query that summary for presentation in a portal.
These are separate responsibilities: the table defines the information, ingress receives it, processing derives another value, and presentation makes the information useful to an audience. The configured triggers, permissions and page content determine how the particular application operates.
Concept reference
| Concept | Meaning | Detailed guide |
|---|---|---|
| Organisation, role and group | Membership, responsibilities and resource access | Organisations and access |
| Table and schema | Data structure and its definition | Data modelling |
| Push and pull ingress | Receiving or retrieving external data | Push ingress, Pull ingress |
| Trigger and schedule | Event-based initiation and recurring timing | Triggers and schedules |
| Processor and runner | Scripted processing and external computation | Processors, Runners |
| Explorer and dashboard | Record exploration and queried presentations | Explorers, Dashboards |
| Page and portal | User-facing content and its branded organisation | Portals |