d9 Documentation

website·Indexed 30 days ago

https://main.d31e6d78jblf1j.amplifyapp.com

Documentation for d9, a headless CMS featuring a JavaScript SDK. Includes guides on building static websites with Next 13 and Nuxt 3, triggering builds via Vercel and Netlify, self-hosting configuration, SSO integration, and extending the platform with custom operations, migrations, and email templates.

Tokens
90.8K
Snippets
435
Records
733
Agent score
49%

What's inside d9

  1. Overview of d9 Dynamic API

    d9 provides both REST and GraphQL APIs that are dynamically generated based on the connected database's architecture using Database Mirroring. Both APIs offer identical functionality, performance, and capabilities. The APIs use predictable resource-oriented URLs, standard HTTP status codes, and JSON for input and output. Because endpoints are generated from your specific schema and permissions, the exact input/output will vary by installation.
  2. Overview of the d9 Data Platform

    d9 is an open-source data platform (a fork of Directus 9, GPLv3) that acts as a layer on top of a SQL database. It uses database introspection to mirror the existing schema in real-time, providing a no-code App (GUI), REST and GraphQL APIs, a JavaScript SDK, and CLI tools for file management. Because it abstracts the database rather than imposing a proprietary schema, it avoids vendor lock-in and allows users to connect to their data using raw SQL queries independently of the d9 middleware.
  3. Overview of d9 Flows

    Flows in d9 enable custom, event-driven data processing and task automation. A flow consists of a single trigger followed by a series of operations. These operations can get data from d9 or external services, process/transform that data, and send it back to d9 or another external service. Developers can create custom operations to fit specific use cases.
  4. Overview of d9 Extension Types

    d9 is built with a modular architecture that allows developers to expand platform functionality through Extensions. These are categorized into three main types based on where they execute and the technologies used to build them:

    1. App Extensions: Used to create custom user experiences within the d9 App. These are primarily built using Vue.js and custom CSS.
    2. API Extensions: Used to customize the data pipeline and platform logic. These are primarily built using JavaScript/Node.js and Liquid.js.
    3. Hybrid Extensions: Used to add functionality that spans both the API and the App, requiring both Vue.js and JavaScript/Node.js.
  5. Overview of the Content Module

    The Content Module is the primary interface for interacting with Items within a Collection. It provides tools to view, manage, sort, search, import, and export data regardless of the underlying data model (e.g., blog posts, CRM, IoT fleets). While the Content Module is used to manage the data (Items), the data model itself (Collections) is managed within the Settings menu.
  6. Overview of Fields in the Data Model

    Fields are database columns that manage backend logic (such as conditional display and input verification) and frontend design (such as whether data displays in a table or on a map). To access a collection's fields, navigate to Settings > Data Model > [Collection].
  7. Overview of the d9 Data Platform

    d9 is an open-source data platform (a fork of Directus 9 under GPLv3) that acts as a layer on top of a SQL database. It uses database introspection to mirror the existing schema in real-time, providing a no-code App (GUI), dynamically generated REST and GraphQL APIs, a JavaScript SDK, and CLI tools for file management. Because it does not use a proprietary data model, users maintain absolute control over their SQL schema and can connect to the data directly via SQL queries, bypassing the d9 middleware to avoid latency or vendor lock-in.
  8. Understand the d9 User, Role, and Permission model

    d9 uses a role-based access control (RBAC) system to determine data access. The relationship is as follows: Users are assigned to Roles, and Roles are granted Permissions. This prevents the need to configure permissions for each individual user.

    Key concepts include:

    • Users: Individual accounts used for authentication. Users are stored as data rows in a users table and can represent people or non-human entities like AI bots or APIs.
    • Roles: Sets of permissions assigned to users.
    • Permissions: Rules defining what actions a role can perform on specific data tables.
    • Business Rules (Custom Access Permissions): Conditional logic that grants access based on data values (e.g., a user can only read their own profile data).
  9. Understand d9 Data Model terminology

    The platform maps no-code concepts to standard relational database terms as follows:

    • Collections: Containers for items, representing a table in the database. Every collection must have a Primary Key (PK) field. Some collections may be 'folder' collections used only for organization.
    • Fields: Specific values within a collection, representing a column in the database. They mirror column characteristics such as name, type, default value, length, and nullability.
    • Items: Objects within a collection, representing a record (or row) in the database.