Skip to content

Commit

Permalink
Overview
Browse files Browse the repository at this point in the history
  • Loading branch information
phazonoverload committed Sep 20, 2024
1 parent 961f3c9 commit bb6f583
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions content/10.extensions/0.overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,64 @@ description:
---

# Extensions Overview

Directus has been built to be extensible - both allowing for powerful enhancements to be built for single projects, and for publishing in the [Directus Marketplace](/extensions/marketplace).

Extensions in Directus run within the same environment as the main application, allowing them to leverage existing access to underlying [services](/extensions/api-extensions/services) and [UI components](/extensions/app-extensions/ui-extensions).

## App Extensions

[App Extensions](/extensions/app-extensions) extend the functionality of the Data Studio.

### Interfaces

<!-- TODO: IMAGE FROM NOTION -->

[Interfaces](/extensions/app-extensions/interfaces) are form inputs used primarily inside of the :product-link{product="editor"}. Interfaces are the primary way users interact with data inside of Directus. Custom interfaces can be used for use cases with unique interaction needs, complex data entry, and any time you need to add elements to the editor.

### Displays

<!-- TODO: IMAGE FROM NOTION -->

[Displays](/extensions/app-extensions/displays) are small components that are used to display a single value throughout the Data Studio. Displays receive a single value and any custom display options that are defined in the display entrypoint. They are then expected to render the value in a user-friendly way.

### Layouts

<!-- TODO: IMAGE FROM NOTION -->

[Layouts](/extensions/app-extensions/layouts) allow for listing of items in :product-link{product="explore"} pages. Layouts receive a collection, filters, searches, and any custom layout options that are defined in the layout entrypoint. They are then expected to fetch and render the items from a collection.


### Panels

<!-- TODO: IMAGE FROM NOTION -->

[Panels](/extensions/app-extensions/panels) are customizable components within :product-link{product="insights"} dashboards. Panels are the building blocks of analytics dashboards, enabling rapid, no-code creation of data visualizations with data from a Directus project. Panels can also contain interactive elements, making them suitable for building custom internal applications within dashboards.

### Modules

<!-- TODO: IMAGE FROM NOTION -->

[Modules](/extensions/app-extensions/modules) are top-level areas of the Data Studio, navigated to from the left-hand module bar. They will load at the specified routes. The Data Studio splits up functionality into modules - the content module, the files module, the user module, the insights module, and the settings module. Extensions can add new modules to the Data Studio.

### Themes

<!-- TODO: IMAGE FROM NOTION -->

[Themes](/extensions/app-extensions/themes) are used to style the Data Studio. They can be used to change the colors, fonts, and other visual elements of the Data Studio.

## API Extensions

[API Extensions](/extensions/api-extensions) extend the functionality of the API.

### Hooks

[Hooks](/extensions/api-extensions/hooks) allow running code when events occur within Directus. Events are triggered on schedules, database events, schedules, or during the Directus application lifecycle.

### Endpoints

[Endpoints](/extensions/api-extensions/endpoints) allow you to register new API routes in your Directus project.

### Operations

[Operations](/extensions/api-extensions/operations) are single steps in a Flow - the no-code automation tool part of :product-link{product="automate"}.

0 comments on commit bb6f583

Please sign in to comment.