Modules & Namespaces#
Modules are the data schemas at the core of Novaza Office. Each module defines a set of fields that describe one type of business entity — for example, a Contact, a Support Ticket, or an Invoice. Namespaces group related modules together into a cohesive application and provide security isolation between different teams or business units.
Namespaces#
A namespace is a self-contained application environment within your workspace. It has its own set of modules, pages, workflows, and roles. Examples of namespaces you might create:
Sales CRM— for the sales team with Leads, Contacts, Deals, and Activities modulesHR Operations— for HR with Employees, Leave Requests, and Onboarding modulesClinical Cases— for a medical team with Patients, Appointments, and Case Notes modules
Users can be granted access to one or more namespaces independently. A user with full access to Sales CRM may have read-only access to HR Operations and no access at all to Clinical Cases.
To create a namespace, go to Office → Namespaces → New Namespace. Enter a name, a URL handle (used in API paths and page URLs), and an optional description. You can also upload a namespace logo that will appear in the sidebar.
Modules#
Within a namespace, click Modules → New Module to define a new data entity. Each module requires:
- Name — a human-readable label (e.g.,
Customer) - Handle — a lowercase, underscore-separated identifier used in API calls (e.g.,
customer) - Fields — the list of field definitions (see below)
Field Types#
Novaza Office supports the following field types:
| Type | Description |
|---|---|
| Text | Single-line or multi-line string |
| Number | Integer or decimal with optional min/max constraints |
| Date/Time | Date, time, or datetime with timezone support |
| Boolean | True/false checkbox |
| Select | Single or multi-select from a predefined option list |
| User | Reference to a workspace user |
| Record | Reference to a record in another module (relationship) |
| File | File attachment (images, PDFs, documents) |
| Email address with format validation | |
| URL | Web address with format validation |
| Formula | Computed value based on an expression over other fields |
| Geometry | Geographic coordinates for map view support |
Field Configuration#
Each field has configuration options beyond its type:
- Required — prevents a record from being saved if this field is empty
- Unique — enforces that no two records in the module have the same value
- Default value — automatically populated when a new record is created
- Description — a tooltip shown to users in forms
- Permissions — can restrict a specific field to certain roles (read-only or hidden)
Module Relationships#
To relate two modules, add a Record field to one module and point it at the other. For example, a Deal module can have a Contact field pointing to the Contact module. From the contact record, a related records tab will automatically show all deals linked to that contact.
Many-to-many relationships are modeled by creating a junction module with two Record fields pointing to each side of the relationship.
Importing and Exporting Module Definitions#
Module definitions can be exported as YAML files for backup or to replicate a module structure in another namespace. Go to Module Settings → Export Definition. To import, go to Modules → Import and upload the YAML file.