Note: This is not the greatest Open Data Platform in the world, no. This is just a tribute. Looking for the official Directus project instead? Check it out here.
A collection of Directus plugins and tools maintained by the Jamtastic!Β team
Help us expand the Directus ecosystem by contributing to this collection of unofficial, professional grade extensions.
Directus is an open-source data management system. To quote the source:
Directus is an Open Data Platform built to democratize the database.
This platform provides everyone on your team, regardless of technical skill, equal access to data and digital file asset management, for any data model or project. First, link Directus to your desired SQL database and file storage adapter. After that, Directus enables you to perform CRUD operations, create users, assign roles with fully configurable permissions, build complex and granular queries, configure event-driven webhooks and task automation... the list goes on!
Extensions maintained by Jamtastic! are categorised into two main categories: integration and standalone extensions.
Integrations use the bundle extension type and package a number of standalone extensions that work together to either add new experiences, or to integrate other tools into the Directus installation.
- Access - advanced role based permissions with support for groups and resource owner based permissions
- Diagrams - based on Diagrams.net
- Editor - advanced editorial workflow for prose based on EditorJS
- Mailer - Send and trigger emails using the internal mailer and manage templates using an MJML editor
- Notifier - Integrations with communication platforms (e.g. Slack) to receive system notifications and to trigger events remotely
These extensions are either app extensions or API extensions that work by themselves. Some may have recommended counterparts - for example, an interface might work well with another display extension.
App
- Modules
- None planned yet π’
- Layouts
- Interfaces
- Display
- Icon
- Panels
- None planned yet π’
API
- Endpoints
- Hooks
- Models (migrations)
This project includes some tools and utilities to help maintain Directus extensions.
To develop Directus extensions with bunny
:
$ npm install -g @jamtastic/bunny
$ bunny start
To develop bunny
:
$ git clone https://github.com/jamtastic/directus
$ cd directus
$ npm i && npm link
$ bunny help
Install the helpers into your Directus project:
$ npm i @jamtastic/directus
Inside of a migration file in the project:
import { knex } from "knex";
import Directus from "@jamtastic/directus";
export const up = async (knex: Knex) => {
const directus = new Directus.SchemaBuilder(knex);
directus.createCollection({
// ...
});
};
The Directus ecosystem is supported by a growing list of fantastic contributors. For an up to date list of contributions, check out the official Awesome Directus List.
Some of the extensions we either use or have been inspired by are listed below.
- Adrian Dimitrov β GitHub
- M2M Tags
- WP Slug β alternative to our permalink interface
- Search Sync
- Group Modal
- EditorJS β partial inspiration for our editorial workflow
- Gerard Lamusse β GitHub
- Others
- Display Link by @jacobus β recommended counterpart to our permalink interface.
- Mailer by @ryntab β partial inspiration for our own mailer workflow
Footnotes
-
This is the documentation for internal app components which are reused in our own extensions as well. However, according to the team: [they] do not consider internal-API changes in the components as a breaking change of Directus. β©