Skip to content

Commit 2195d56

Browse files
committed
remove concepts and add modules
1 parent fec8a0d commit 2195d56

File tree

5 files changed

+110
-151
lines changed

5 files changed

+110
-151
lines changed

.vuepress/config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ module.exports = {
7676
children: [
7777
["/getting-started/introduction", "Introduction"],
7878
["/getting-started/installation", "Installation"],
79-
["/getting-started/concepts", "Concepts"],
8079
["/getting-started/contributing", "Contributing"],
8180
["/getting-started/supporting-directus", "Supporting Directus"],
8281
["/getting-started/troubleshooting", "Troubleshooting"]
@@ -100,6 +99,7 @@ module.exports = {
10099
["/guides/i18n", "Internationalization"],
101100
["/guides/js-sdk", "JavaScript SDK"],
102101
"/guides/layouts",
102+
"/guides/modules",
103103
"/guides/permissions",
104104
"/guides/projects",
105105
"/guides/relationships",

getting-started/concepts.md

-119
This file was deleted.

getting-started/introduction.md

+50-3
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,37 @@
66

77
**Directus is an open-source suite of software that wraps custom SQL databases with a dynamic API and intuitive Admin App.** It allows both administrators and non-technical users to view and manage the content/data stored in pure SQL databases. It can be used as a headless CMS for managing project content, a database client for modeling and viewing raw data, or as customizable WebApp.
88

9-
### What is a "headless" CMS?
9+
:::tip What's in a name?
10+
Directus ([duh REKT iss](http://audio.pronouncekiwi.com/Salli/Directus)) is latin for: _laid straight, arranged in lines_. The broadest goal of Directus is to present data in a simple, orderly, and intuitive way.
11+
:::
12+
13+
### What is a "Headless" CMS?
1014

1115
With _traditional_ CMS you choose a design template, throw in some content, and it generates a blog or simple website. However that means that these platforms are limited to websites only, since your designs and content are all jumbled together.
1216

1317
In a "headless" CMS, there are no templates built-in, no design or layout editor, and it doesn't generate a website (aka the "head"). It only manages _content_. That's it. Now that your content is cleanly decoupled, you can connect it anywhere! Websites, sure, but also native apps, kiosks, digital signage, other software, internet-of-things (IoT) devices, or any other data-driven project.
1418

1519
In short: traditional CMS are for small or medium-sized websites, headless CMS can manage content for absolutely anything.
1620

17-
### What is a "database wrapper"?
21+
### What is "Database Mirroring"?
1822

19-
Our database-wrapper uses the SQL database's schema to dynamically build a set of custom API endpoints based on the custom achitecture. This means you can install it on top of existing databases, tailor actual database tables/columns to specific project requirements, and even build/optimize in the database directly.
23+
Directus uses the SQL database's schema to dynamically build a set of custom API endpoints based on your custom achitecture. This means you can install it on top of existing databases, tailor actual database tables/columns to specific project requirements, and even build/optimize in the database directly.
2024

2125
Perhaps one of the biggest advantages of using a database-wrapper like ours in your project, is that you always have direct access to your pure and unaltered data. Meaning, you always have the option to bypass our API, SDK, or CMS and connect to your data directly — effectively removing _any_ bottleneck or additional latency.
2226

27+
_Let's take a look at how Directus maps to your database..._
28+
29+
* **[Project](/guides/projects.html)** — A database (and its asset storage)
30+
* **[Collection](/guides/collections.html)** — A database table
31+
* **[Field](/guides/fields.html)** — A database column (including its datatype)
32+
* **[Item](/guides/user-guide.html#items)** — A database record/row
33+
34+
_Additionally, Directus adds several layers for presentation..._
35+
36+
* **[Module](/extensions/modules.html)** — Modular extensions for project sections/pages
37+
* **[Layout](/guides/layouts.html)** — Modular extensions for displaying collections
38+
* **[Interface](/guides/interfaces.html)** — Modular extensions for interacting with fields
39+
2340
## Core Principles
2441

2542
Directus is a simple solution for complex problems. Every aspect of Directus is data-first and guided by the following core principles:
@@ -81,6 +98,36 @@ In addition to managing multilingual content, the Directus Admin App itself can
8198

8299
Coming in 2020, this will be a library of extensions available for Directus. Eventually we plan on opening this up to community submissions and allowing monetization — but initially it will showcase free extensions created by our core team.
83100

101+
## Concept Glossary
102+
103+
Definitions and other various terms that are exclusive to the Directus Ecosystem.
104+
105+
* **[Alias](/guides/fields.html#alias-fields)** — A field that does not actually map to a database column (eg: a O2M field).
106+
* **Boilerplate** — The base schema and system content included in a fresh/blank copy of Directus.
107+
* **[Bookmarks](](../guides/user-guide.html#bookmarking))** — A specific view of a collection scoped to a user, role, or project.
108+
* **Client** — An external application using data managed by Directus (eg: a website, native app, kiosk, etc).
109+
* **[Collection](/guides/collections.html)** — A grouping of similar items. Each collection represents a table in your database.
110+
* **Collection Preset** — See "bookmark".
111+
* **[Database Mirroring](/guides/database.html#database-mirroring)** — Directus pulls its data model dynamically from any custom SQL database.
112+
* **Datatype** — The vendor-specific SQL database storage type (eg: `VARCHAR`, `BIGINT`)
113+
* **Display Template** — A Mustache-style string used to format field values. For example: `{{first_name}} {{last_name}}, {{title}}`
114+
* **Environment** — A flag set in the project config: either `production` or `staging`.
115+
* **[Extension](/extensions/)** — Extend the core codebase, including: Interfaces, Layouts, Modules, Storage Adapters, etc.
116+
* **[Field](/guides/fields.html)** — A specific type of data within a Collection. Fields represent a database column (except aliases).
117+
* **[Field Type](/guides/field-types.html)** — How field data should be stored. These map to database datatypes (eg: `string`, `number`) or other non-standard options that provide additional functionality (eg `o2m`, `translation`).
118+
* **[Headless CMS](/getting-started/introduction.html#what-is-a-headless-cms)** — Only manages content/assets and makes all data accessible via an API. Unlike traditional/monolithic CMS that commingle in a website's presentation via design templates (the "head").
119+
* **Instance** — A single installation of Directus, including the API, App, and one or more database projects.
120+
* **[Interfaces](/guides/interfaces.html)** — Interfaces provide different ways to view or interact with field data. For example, a string field type could have an input, dropdown, radio button, or completely custom/proprietary interface.
121+
* **[Items](/guides/user-guide.html#items)** — A single record of data within a collection. Each item represents a row within the database.
122+
* **[Length](/guides/fields.html#_2-database-options)** — The amount/size of data that can be stored in a database column or Directus field.
123+
* **[Layout](/guides/layouts.html)** — The presentation of data on the Item Browse page. This could be a listing, tiles, calendar, map, chart, or any other way to showcase data.
124+
* **[Multitenancy](/guides/projects.html#multitenancy)** — Each instance of Directus can manage multiple projects. These can be used to organize properties, environments, projects, or anything else.
125+
* **[Note](/guides/fields.html#_2-database-options)** — Descriptive text displayed below a field to help explain, instruct, or give context to App users.
126+
* **[Project](/guides/projects.html)** — Comprised of a database, config file, and asset storage. Each instance of Directus lets you manage multiple projects, which can be used for different clients or environments.
127+
* **Schema** — The SQL database's tables, columns, datatypes, defaults, and other architectual information. This does not include any items or content.
128+
* **Telemetry** — Directus pings a centralized [Telemetry](https://github.com/directus/telemetry) server to check if an upgrade is available. Telemetry also sends optional anonymous metrics used to calculate Directus install count.
129+
* **Versionless** — The Directus API is "versionless", which means that new releases will only include fixes and improvements, but no deprecations or breaking changes.
130+
84131
-----
85132

86133
<a href="https://www.netlify.com">

guides/modules.md

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Modules
2+
3+
> Everything within Directus is grouped into Modules. Each defines a different section, with its own navigation and pages. Directus comes with several system modules preinstalled, such as Collections, the File Library, and the User Diretory.
4+
5+
## Collections
6+
7+
This is the portal to all of your content, and the most important module of Directus. Within this module you can explore your collections of items through customized layouts, and view/manage data from item detail pages. [Learn more about Collections](/guides/user-guide.html#collections)
8+
9+
## File Library
10+
11+
This system module is an annex of all file assets uploaded to the project. You can upload files here directly (not associated with specific items/fields) and view/manage all files and embeds in one place. This module serves as a built-in Digital Asset Management (DAM) system. [Learn more about the File Library](/guides/user-guide.html#file-library)
12+
13+
## User Directory
14+
15+
A system module that showcases all of the Directus Users within the project. This module can serve as a built-in Company Directory. [Learn more about the User Directory](/guides/user-guide.html#user-directory)
16+
17+
::: tip Extending Directus Users
18+
While not officially supported (yet), you can technically add new columns to `directus_users` directly in the database to extend it with new/proprietary fields. You'll also want to manually add new rows to `directus_fields` to setup these interfaces, etc.
19+
:::
20+
21+
::: tip Users vs. Directus Users
22+
Because it comes with auth, permissions, and other features out-of-the-box, many developers want to repurpose Directus Users to manage "users" within their proprietary client application. While this may work in some projects, we recommend creating your own `users` collection to avoid issues.
23+
:::
24+
25+
## Settings
26+
27+
**Only available to administrators**, this more technical module is where you configure your project, its data model, permissions, and more. [Learn more about Settings](/guides/admin-guide.html)
28+
29+
## Custom Modules
30+
31+
Custom modules are a great way to add new sections/features to Directus — even large sub-systems, such as: dashboards, reporting, or point-of-sale systems. [Learn more about the Custom Modules](/extensions/modules.html#files-structure)

0 commit comments

Comments
 (0)