1128.03 - Fix Broken Links . Update Installation and Contribution Guides

This commit is contained in:
Philleep Florence
2021-01-15 16:11:53 -05:00
parent d98300d528
commit 7a7026a3ca
21 changed files with 485 additions and 45494 deletions

View File

@@ -7,7 +7,7 @@
## Activity
This is a log of all events that have occurred within the project. Activity can be accessed in two
ways, via the main [Activity Module](/concepts/app-overview#actvity-history), or within the sidebar
ways, via the main [Activity Module](/concepts/app-overview#activity-history), or within the sidebar
of individual [Item Detail](/concepts/app-overview#item-detail) pages. The following information is
stored for each event's activity item:

View File

@@ -57,7 +57,7 @@ includes the following features/options:
<!-- ### Calendar
This temporal layout is ideal for collections that prioritize a date and/or time. It is the default for the [Activity Page](#). It includes the following features/options:
This temporal layout is ideal for collections that prioritize a date and/or time. It is the default for the [Activity Page](/concepts/activity-and-versions). It includes the following features/options:
* @TODO
@@ -76,7 +76,7 @@ Input_ interface can manage most types of data, but might not be ideal for dates
Directus includes many Interfaces out-of-the-box:
- Text Input
- @TODO List all core interfaces, or link to a exhaustive reference?
- @TODO List all core interfaces, or link to an exhaustive reference?
In addition to these core interfaces, custom interfaces allow for creating more tailored or proprietary ways to view or
manage field data, such as bespoke layout builders, skeuomorphic knobs, or relational views for third-party data (eg:
@@ -84,7 +84,7 @@ Stripe Credit Card UI).
### Relevant Guides
- [Creating a Custom Interface](#)
- [Creating a Custom Interface](/guides/extensions/interfaces)
## Displays
@@ -95,7 +95,7 @@ field is referenced throughout the rest of the App. Directus includes many Displ
- Raw
- Formatted Value
- @TODO List all core interfaces, or link to a exhaustive reference?
- @TODO List all core interfaces, or link to an exhaustive reference?
In addition to these core displays, custom displays allow for creating customized ways to view or represent field data,
such as progress indicators, relational data tooltips, or specific formatting options.

View File

@@ -179,13 +179,10 @@ This module is an internal set of guides, concepts, and reference docs for your
version of Directus. It also includes a dynamic [API Reference](/reference/api/introduction) that is
dynamically tailored to your custom schema. The docs are organized into four distinct sections:
- [Getting Started](/getting-started/introduction)\*\* — Novice Oriented. For a platform intro and
installation.
- [Concepts](/concepts/app-overview)\*\* — Learning Oriented. For understanding the platform.
- [Guides](/concepts/roles-and-permissions)\*\* — Problem Oriented. Follow along with steps while
working.
- [Reference](/reference/api/introduction)\*\* — Information Oriented. Look up info and specs
while working.
- [Getting Started](/getting-started/introduction) — Novice Oriented. For a platform intro and installation.
- [Concepts](/concepts/app-overview) — Learning Oriented. For understanding the platform.
- [Guides](/concepts/roles-and-permissions) — Problem Oriented. Follow along with steps while working.
- [Reference](/reference/api/introduction) — Information Oriented. Look up info and specs while working.
<!-- prettier-ignore-start -->
::: tip Updating the Docs

View File

@@ -6,12 +6,12 @@
## App Translations
Directus supports internationalization across its entire Admin App. Many languages are currently
supported, with more are being added all the time. Help the communtiy by adding or refining your
supported, with more are being added all the time. Help the community by adding or refining your
language through our [CrowdIn](https://locales.directus.io/) integration.
## Schema Translations
Directus uses [database mirroring](#) to dynamically pull in your schema's tables and columns,
Directus uses [database mirroring](/concepts/platform-overview#database-mirroring) to dynamically pull in your schema's tables and columns,
however this only covers one language. Therefore our platform supports schema translations for these
names, allowing you to properly support different languages for your Collection and Field names.

View File

@@ -44,7 +44,8 @@ configuration file and any related asset storage. This modular approach means yo
(eg: Dev, Staging, Prod) by simply creating additional project instances.
<!-- ::: tip Migrating Environments
Directus includes [Export](#), [Import](#), [Backup](#), and [Restore](#) features to assist with custom migration workflows between environments. You can also roll your own process by copying the database and assets between environments, either manually or via an automated script.
Directus includes [Export](#), [Import](#), [Backup](#), and [Restore](#) features to assist with custom migration workflows between environments.
You can also roll your own process by copying the database and assets between environments, either manually or via an automated script.
@TODO Reference Schema Revisions
::: -->

View File

@@ -124,7 +124,7 @@ to the Junction Table that sits in the middle. In that sense, there really is no
<!-- prettier-ignore-start -->
::: tip
Manual Reordering To enable manual reordering for a M2M, simply add a numeric field to the
junction table and set it as the [Collection Sort](#).
junction table and set it as the [Collection Sort](/guides/collections#sort).
:::
<!-- prettier-ignore-end -->
@@ -138,7 +138,7 @@ other articles.
## One-to-One (O2O)
Directus does not include a one-to-one (O2O) relationship type or interface. However a O2O saves is
Directus does not include a one-to-one (O2O) relationship type or interface. However, O2O is
essentially the same as a M2O (storing a foreign key). The only difference is that a O2O enforces
the cardinality. In other words, selecting a relational item in a O2O means that item can not be
selected elsewhere (it can only be used once). This functionality can be added by checking and
@@ -178,4 +178,4 @@ page with specific components, allowing the creation of relational page layouts.
[x] m2a [o2m-a2o] (builder)
[ ] a2m [o2a-m2o]
[ ] a2a [o2a-a2o] (dynamic builder)
```
```

View File

@@ -17,7 +17,7 @@ App
::: tip Extending Directus Users
While the included fields within Directus Users are required/locked,
you can still _extend_ this collection with additional custom fields as needed. You can do this via
the normal [Create a new Field](#) process from within the system collection.
the normal [Create a new Field](/guides/fields) process from within the system collection.
:::
<!-- prettier-ignore-end -->

View File

@@ -1,3 +1,5 @@
# Contributing
> Our team truly appreciates every single pull-request, bug report, and feature request made by our community. If you
@@ -13,14 +15,15 @@ monorepo design similar to React or Babel — to learn more about our monorepo's
To contribute to the project, please follow the instructions located within our GitHub repository's
[contributing.md file](https://github.com/directus/directus/blob/main/contributing.md).
<!--
@TODO
<!-- prettier-ignore-start -->
::: tip PHP API Port
While the Node.js version of Directus defines the official specification and is
our team's primary focus, we also support a community-lead PHP API port in Laravel. This secondary
codebase is located in a separate git repository at [`directus/php`](#).
::: -->
codebase is located in a separate git repository at [`directus/php`](https://github.com/directus).
Though the repository is currently hidden, to coordinate contributing, please reach out to our core team via
[Discord](https://directus.chat).
:::
<!-- prettier-ignore-end -->
## Feature Requests
@@ -86,9 +89,16 @@ put our values into practice. We expect all of our staff, contractors and contri
Before getting started, ensure you your local environment meets our [minimum requirements](/guides/installation/cli) and
you are familiar with Git.
<!-- prettier-ignore-start -->
::: tip
You will need to have a minimum of Node 12+ to build Directus!
:::
<!-- prettier-ignore-end -->
### 1. Fork the Directus repository
Go to the [repository](https://github.com/directus/directus) and fork it to your GitHub account.
Go to the [repository](https://github.com/directus/directus) and fork it to your GitHub account. A fork is your copy of the Directus repository.
Forking the repository allows you to freely experiment with changes without affecting the original project.
### 2. Clone from your repository
@@ -152,12 +162,40 @@ git push -u origin YOUR-BRANCH-NAME
### Submit a pull-request
Once you push the changes to your repo, the "Compare & pull request" button will appear in GitHub. Click it and you'll
be taken to a screen where you can fill in the appropriate details. Finally, open the pull request by clicking the
"Create pull request" button.
Once you push the changes to your repo, the "Compare & pull request" button will appear in GitHub.
Click it and you'll be taken to a screen where you can fill in the appropriate details.
Finally, open the pull request by clicking the "Create pull request" button.
Now our core staff will review your contribution and either merge it, or request that you to make changes.
## Syncing Your Fork with Directus
After you have submitted your pull requests, you would need to sync your fork with Directus to pull all the latest commits before you continue to contribute.
### 1. Add Directus as a Remote
While your fork is your main remote or origin, you will add Directus as the upstream, which generally refers to the original repo that you have forked.
```bash
git remote add upstream git@github.com:directus/directus.git
```
### 2. Fetch the Latest Changes
Depending on your setup, you will need to get the latest commits from the `main` branch of Directus by doing a pull, reset, rebase or fetch.
```bash
git pull upstream main
```
At this point you are ready to continue working on Directus, with the latest commits included!
<!-- prettier-ignore-start -->
::: tip
Before you begin or resume development, be sure to always sync, if you are going to submit a pull request with your changes!
:::
<!-- prettier-ignore-end -->
## Codebase Overview
### `/api`

View File

@@ -9,9 +9,9 @@
out for help. Our community and core developers often check this platform and answer posts. It has
the added benefit of being an archival resource for others developers with similar questions.
Our [Discord](https://directus.chat) community is another great way to get assisstance. Please keep
all questions on the `#help` channel, be considerate, and remember that you are getting free help
for a free product.
Our [Discord](https://directus.chat) community is another great way to get assistance. Please keep
all questions on the `#help` channel, be considerate, and remember that you are getting free help
from the community for a free product.
## Premium Support
@@ -66,7 +66,7 @@ prioritization.
If you require more expeditious updates, you can contact us regarding
[sponsoring expedited fixes](#expedited-fixes) or
[commissioning new features](#commisioned-features). You can also
[commissioning new features](#commissioned-features). You can also
[submit a pull request](https://github.com/directus/directus/pulls) — after all, it is open-source!
### Can you give an ETA for this feature/fix?

View File

@@ -1,8 +1,10 @@
# Collections
> You can manage your collections within the Data Model section of the App's Settings, via the
> [API Collections Endpoint](#), or directly within the database. If you're unfamiliar with Directus
> Collections, please start by reading our [Understanding Collections](#) docs.
> [API Collections Endpoint](/reference/api/collections), or directly within the database. If you're unfamiliar with Directus
> Collections, please start by reading our [Understanding Collections](/concepts/platform-overview#collections) docs.
## Creating a Collection
@@ -10,7 +12,7 @@
2. Click the **Create Collection** action button in the header
3. Enter a unique **Collection Name**, keeping in mind that this is entered as a _key_ that
determines the database table name, and is then presented in the App using the
[Title Formatter](#).
[Title Formatter](/reference/internal-helpers#title-formatter).
4. Optional: Configure the collection's **Primary Key** name and type.
- Auto-Incremented Integer
- Generated UUID
@@ -44,11 +46,11 @@ default values.
### Fields & Layout
- [Creating a Field](#)
- [Updating a Field](#)
- [Deleting a Field](#)
- [Duplicating a Field](#)
- [Changing Field Order & Layout](#)
- [Creating a Field](/guides/fields#creating-a-field)
- [Updating a Field](/guides/fields#updating-a-field)
- [Deleting a Field](/guides/fields#deleting-a-field)
- [Duplicating a Field](/guides/fields#duplicating-a-field)
- [Changing Field Order & Layout](/guides/fields#adjusting-field-layout)
### Collection Setup
@@ -61,10 +63,10 @@ default values.
- **Hidden** — Toggles if the collection should be globally hidden. Keep in mind that Admin roles
can always see all collections.
- **Singleton** — Is this collection will only contain a single item (eg: an "About Us" form).
When enabled, the [Collection Detail](#) will be bypassed, and users are taken directly to the
[Item Detail](#) page.
When enabled, the [Collection Detail](/concepts/app-overview#collection-detail) will be bypassed, and users are taken directly to the
[Item Detail](/concepts/app-overview#item-detail) page.
- **Translation** — Allows translating the collection name into different languages. These
[Schema Translations](#) are important for multilingual projects. You can also "translate" a
[Schema Translations](/concepts/internationalization#schema-translations) are important for multilingual projects. You can also "translate" a
collection name into the default language — helpful for renaming technical table names.
### Archive
@@ -96,7 +98,7 @@ automatically be configured for you.
### Sort
The sort feature enables manual drag-and-drop item reordering within the Directus App. This is
typically shown on the [Collection Detail](#) page/modal, and can also be used for sorting items
typically shown on the [Collection Detail](/concepts/app-overview#collection-detail) page/modal, and can also be used for sorting items
within a [Junction Table](#).
<!-- prettier-ignore-start -->
@@ -118,4 +120,4 @@ configured for you.
This action is permanent and can not be undone. Please proceed with
caution.
:::
<!-- prettier-ignore-end -->
<!-- prettier-ignore-end -->

View File

@@ -34,7 +34,7 @@ export default {
- `description` — A short description (<80 characters) of this display shown in the App.
- `icon` — An icon name from the material icon set, or the extended list of Directus custom icons.
- `handler` — A function, or reference to your Vue component.
- `types` — A CSV of supported [types](#).
- `types` — A CSV of supported [types](/concepts/platform-overview#types).
::: See
[the TypeScript definition](https://github.com/directus/directus/blob/20355fee5eba514dd75565f60269311187010c66/app/src/displays/types.ts#L24-L34)

View File

@@ -35,7 +35,7 @@ export default {
- `description` — A short description (<80 characters) of this interface shown in the App.
- `icon` — An icon name from the material icon set, or the extended list of Directus custom icons.
- `component` — A reference to your Vue component.
- `types` — A CSV of supported [types](/concepts/platform-overview.html#types).
- `types` — A CSV of supported [types](/concepts/platform-overview#types).
<!-- prettier-ignore-start -->
::: tip

View File

@@ -1,3 +1,4 @@
# Fields
> You can manage your fields within the Data Model section of the App's Settings, via the
@@ -28,6 +29,26 @@ default values.
:::
<!-- prettier-ignore-end -->
## Updating a Field
1. Navigate to **Settings > Data Model > [Collection Name]**
2. Click the field you want to update
3. Follow the specific setup guide for the field type...
- [Standard Field](/guides/field-types/standard-field)
- [Presentation Field](/guides/field-types/presentation-field)
- [Many-to-One Field](/guides/field-types/many-to-one-field)
- [One-to-Many Field](/guides/field-types/one-to-many-field)
- [Many-to-Many Field](/guides/field-types/many-to-many-field)
- [Many-to-Any Field](/guides/field-types/many-to-any-field)
- [Translated Fields](/guides/field-types/translated-fields)
<!-- prettier-ignore-start -->
::: tip
Learn more about the field options for [Adjusting the Field Layout](#adjusting-field-layout).
:::
<!-- prettier-ignore-end -->
## Duplicating a Field
1. Navigate to **Settings > Data Model > [Collection Name]**

View File

@@ -1,20 +1,23 @@
# Items
> You can browse and manage items from within the App, via the [API Items Endpoint](#), or directly within the database. If you're unfamiliar with Directus Items, please start by reading our [Understanding Items](#) docs.
> You can browse and manage items from within the App, via the [API Items Endpoint](/reference/api/items), or directly within the database.
> If you're unfamiliar with Directus Items, please start by reading our [Understanding Items](/concepts/platform-overview#items) docs.
# Managing Items
Managing items includes the basics of Create, Read, Update, and Delete — as well as more specific features such as Archiving, Reverting, Commenting, and Reordering. Each of the guides below also includes a link to any relevant concepts.
Managing items includes the basics of Create, Read, Update, and Delete — as well as more specific features such as Archiving, Reverting, Commenting, and Reordering.
Each of the guides below also includes a link to any relevant concepts.
<!-- prettier-ignore-start -->
:::warning Permissions
All of the action on this page assume that the current user has permission to perform the action. If they do not, then certain buttons or features may be disabled or altogether hidden.
All of the action on this page assume that the current user has permission to perform the action.
If they do not, then certain buttons or features may be disabled or altogether hidden.
:::
<!-- prettier-ignore-end -->
## Creating Items
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection where you want to add an item
3. Click on the "Create Item" (+ icon) button located in the header
4. Complete the Item Detail form
@@ -28,7 +31,7 @@ If the Collection is configured as a "Singleton" in the data model settings, the
## Updating Items
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the item you want to update
3. Click on the item within the desired layout (eg: on the row of the table)
4. Update the Item Detail form
@@ -42,7 +45,7 @@ If the Collection is configured as a "Singleton" in the data model settings, the
## Deleting Items
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the item you want to delete
3. Select the item(s) within the desired layout (eg: the checkbox on the table row)
4. Click the "Delete Item" (trash icon) button located in the header
@@ -56,7 +59,7 @@ You can also click on an item to navigate to its Detail page. From there, you ca
## Archiving an Item
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the item you want to archive
3. Select the item(s) within the desired layout (eg: the checkbox on the table row)
4. Click the "Archive Item" (trash icon) button located in the header
@@ -76,7 +79,7 @@ You can also click on an item to navigate to its Detail page. From there, you ca
## Reverting Items
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the item you want to archive
3. Click on an item to navigate to its Detail page
4. Click "Revisions" in the page sidebar
@@ -86,7 +89,7 @@ You can also click on an item to navigate to its Detail page. From there, you ca
## Commenting on Items
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the item you want to comment on
3. Click on an item to navigate to its Detail page
4. Click "Comments" in the page sidebar
@@ -95,7 +98,7 @@ You can also click on an item to navigate to its Detail page. From there, you ca
## Reordering Items
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the items you want to reorder
3. Choose a layout that supports reordering (eg: the default "table" mode)
4. Enable manual sorting. (eg: for the table layout, click on the Sort column's header)
@@ -111,13 +114,14 @@ This feature is only available if a Sort column has been configured in the Colle
# Browsing Items
In order to view, update or delete a specific item, you first need to be able to find it. Directus includes a number of features to make browsing items as fast and efficient as possible, each of which are described below.
In order to view, update or delete a specific item, you first need to be able to find it.
Directus includes a number of features to make browsing items as fast and efficient as possible, each of which are described below.
## Adjusting Item Layouts
**[Learn more about the concept of layouts.](#)**
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the items you want to browse
3. Click "Layout Options" in the page sidebar
4. Choose the desired "Layout" you want to use
@@ -127,7 +131,7 @@ In order to view, update or delete a specific item, you first need to be able to
**[Learn more about the concept of search.](#)**
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the items you want to search
3. Type your search query into the input located in the header
@@ -135,7 +139,7 @@ In order to view, update or delete a specific item, you first need to be able to
**[Learn more about the concept of filtering.](#)**
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the items you want to filter
3. Click "Advanced Filter" in the page sidebar
4. Click the "Add Filter" dropdown and select the field to filter on
@@ -147,7 +151,7 @@ In order to view, update or delete a specific item, you first need to be able to
**[Learn more about the concept of bookmarks.](#)**
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the items you want to bookmark
3. Configure the page as desired (eg: layout, options, search, filters, order, etc)
4. Click the "Create Bookmark" (bookmark icon) button in the header beside the page title
@@ -158,7 +162,7 @@ In order to view, update or delete a specific item, you first need to be able to
**[Learn more about the concept of exporting.](#)**
1. Navigate to the [Collections module](#)
1. Navigate to the [Collections Module](/concepts/app-overview#collections)
2. Navigate to the collection of the items you want to bookmark
3. Optional: Configure the dataset as desired (eg: layout, options, search, filters, order, etc)
4. Click "Export Data" in the page sidebar

View File

@@ -95,4 +95,4 @@ customizing the documentation to your specific project.
Most white-labeling takes place in the presentation layer of the platform's App, but in some cases
even the API and/or database needs to be a bit more agnostic. For that reason, Directus allows
changing the prefix used by system tables. By default this is set to use `directus_*` to avoid any
potential conflicts, but you can override this within the [Environment Variables](#). -->
potential conflicts, but you can override this within the [Environment Variables](/reference/environment-variables). -->

View File

@@ -4,7 +4,7 @@ Welcome to the Directus documentation.
## Getting Started
Novice Oriented. For a platform introdusction and installation.
Novice Oriented. For a platform introduction and installation.
- [Introduction](/getting-started/introduction)
- [Support](/getting-started/support)

View File

@@ -36,7 +36,7 @@ You can filter by relational values by appending the field names in nested secti
#### Filtering using JSON
The `filter` parameter supports the full [Filter Rules](/reference/filter-rules.html) syntax. As a matter of fact, the
The `filter` parameter supports the full [Filter Rules](/reference/filter-rules) syntax. As a matter of fact, the
standard array-like syntax is parsed to an object in execution. This means that you can also pass filter rules as a JSON
object in the parameter directly:
@@ -46,4 +46,4 @@ object in the parameter directly:
#### AND vs OR
See [Filter Rules](/reference/filter-rules.html) for more information on how to nest logical operations in a filter.
See [Filter Rules](/reference/filter-rules) for more information on how to nest logical operations in a filter.

View File

@@ -8,9 +8,9 @@
## Syntax
- **Field** — Any valid root field, [relational field](#), or [logical operator](#)
- **Operator** — Any valid [API operator](#) prefaced with an underscore
- **Value** — Any valid static value, or [dynamic variable](#)
- **Field** — Any valid root field, [relational field](/reference/filter-rules#relational), or [logical operator](/reference/filter-rules#logical-operators)
- **Operator** — Any valid [API operator](/reference/filter-rules#supported-operators) prefaced with an underscore
- **Value** — Any valid static value, or [dynamic variable](/reference/filter-rules#dynamic-variables)
```
{

View File

@@ -4,8 +4,8 @@
## Syntax
- **Field** — Any valid root field or [relational field](#)
- **Value** — Any valid static value, or [dynamic variable](#)
- **Field** — Any valid root field or [relational field](/reference/filter-rules#relational)
- **Value** — Any valid static value, or [dynamic variable](/reference/filter-rules#dynamic-variables)
```
{
@@ -24,7 +24,7 @@
## Relational
You can set related values by nesting field names. For example, if you have a relational
[Many-to-One](#) `author` field, you can set a rule for the `author.name` field using the following
[Many-to-One](/concepts/relationships#many-to-one-m2o) `author` field, you can set a rule for the `author.name` field using the following
syntax.
```json

45767
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -190,7 +190,8 @@
"@directus/sdk-js": "file:packages/sdk-js",
"@directus/specs": "file:packages/specs",
"create-directus-project": "file:packages/create-directus-project",
"directus": "file:api"
"directus": "file:api",
"mysql": "^2.18.1"
},
"husky": {
"hooks": {