diff --git a/app/src/modules/docs/routes/markdown.vue b/app/src/modules/docs/routes/markdown.vue index e8dcf890b9..7b8cb30cb8 100644 --- a/app/src/modules/docs/routes/markdown.vue +++ b/app/src/modules/docs/routes/markdown.vue @@ -279,6 +279,7 @@ export default defineComponent({ } table { + margin: 40px 0; padding: 0; border-collapse: collapse; border-spacing: 0; @@ -365,6 +366,7 @@ export default defineComponent({ padding: 0 20px; background-color: var(--background-subdued); border-left: 2px solid var(--primary); + width: 100%; &-title { font-weight: bold; diff --git a/docs/concepts/activity-and-versions.md b/docs/concepts/activity-and-versions.md index 668a1f219e..c269f40300 100644 --- a/docs/concepts/activity-and-versions.md +++ b/docs/concepts/activity-and-versions.md @@ -1,3 +1,45 @@ -# Activity, Revisions & Reverting +# Activity & Versions -> TK +> Directus stores detailed records of all changes made to data through the App and API. This gives a comprehensive accountability log of who did what, and when. This also powers the Directus versioning system, which allows storing alternate versions/revisions of items. + +## Activity + +This is a log of all events that have occured within the project. Activity can be accessed in two ways, via the main [Activity Module](#), or within the sidebar of individual [Item Detail](#) pages. The following information is stored for each event's activity item: + +* Action +* User +* Datetime +* IP Address +* User Agent +* Collection +* Item +* Comment (when applicable) + +::: Readonly +For proper accountability, activity records are readonly. Administrators should avoid changing, deleting, or truncating this data. +::: + +:::warning External Events +Directus can only track events that pass through the platform's middleware. Changes made directly to the database, or by other external means, are not included in the activity log. +::: + +## Versions + +Every change made to items in Directus are also stored as a versioned snapshot. This additional data is also linked to the specific Activity event which created it. Below are the two key pieces of information stored for each version: + +* Data — A full snapshot of the item _after_ the event +* Delta — The specific field data changed by this event + +::: Customizing Version Data +Since versions store a full data snapshot and delta, the `directus_revisions` collection can quickly grow quite large, increasing database size and potentially decreasing performance. To remedy this, Directus allows [configuring version scope](#) per collection to set the exact field data saved. +::: + +::: Creating Detached Versions +You can also create a new version for an item without saving the data to the parent item itself. This allows you to "stage" changes to an item that may already be live/published. +::: + +### Relevant Guides + +* [Reverting an Item](#) +* [Changing an Item's Version](#) +* [Creating Detached Versions](#) diff --git a/docs/concepts/app-components.md b/docs/concepts/app-components.md index b2c9cedfc7..b810e27bf1 100644 --- a/docs/concepts/app-components.md +++ b/docs/concepts/app-components.md @@ -64,7 +64,7 @@ In addition to these core layouts, custom layouts allow for creating more tailor Interfaces provide a multitude of ways to view or interact with field data on [Item Detail](#) page forms. Every interface supports a specific subset of field [types](#) (eg: String), which determines how the data will be stored. For example, the _Text Input_ interface can manage most types of data, but might not be ideal for dates, where a _Calendar_ interface excels. 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 a exhaustive reference? In addition to these core interfaces, custom interfaces allow for creating more tailored or propreitary ways to view or manage field data, such as bespoke layout builders, skeuomorphic knobs, or relational views for third-party data (eg: Stripe Credit Card UI). @@ -78,7 +78,7 @@ Displays are the smaller, read-only counterpart to Interfaces, defining how a fi * Raw * Formatted Value -@TODO List all core interfaces, or link to a exhaustive reference? +* @TODO List all core interfaces, or link to a 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. @@ -90,7 +90,9 @@ In addition to these core displays, custom displays allow for creating customize Directus uses [Database Mirroring](#) to create its underlying data model based on your custom schema. Therefore the App needs a reliable way of converting any raw table name, field name, or other technical value into a prettified format that is human-readable. At its core, the Title Formatter converts any string into title-case with proper whitespace. It also covers acronyms, initialisms, common proper nouns, so each is output properly. Some example conversion include: -* `snowWhiteAndTheSevenDwarfs` -> "Snow White and the Seven Dwarfs" -* `NewcastleUponTyne` -> "Newcastle upon Tyne" -* `brighton_on_sea` -> "Brighton on Sea" -* `new_ipad_ftp_app` -> "New iPad FTP App" +| Original String | Formatted Title | +|-----------------|-----------------| +| `snowWhiteAndTheSevenDwarfs` | `Snow White and the Seven Dwarfs` | +| `NewcastleUponTyne` | `Newcastle upon Tyne` | +| `brighton_by_the_sea` | `Brighton by the Sea` | +| `new_ipad_ftp_app` | `New iPad FTP App` | diff --git a/docs/concepts/app-overview.md b/docs/concepts/app-overview.md index 8806525b13..c1db7d9afe 100644 --- a/docs/concepts/app-overview.md +++ b/docs/concepts/app-overview.md @@ -77,9 +77,7 @@ A module includes a comprehensive listing of all system users within your projec ### User Detail -Similar to other [Item Detail](#) pages, this page provides a custom form for viewing system users. This is also used for editing the "Profile Page" of the current user, which is accessible from the [User Menu](#). - -Directus ships with a full-featured user system, with the following fields: +Similar to other [Item Detail](#) pages, this page provides a custom form for viewing system users. This is also used for editing the "Profile Page" of the current user, which is accessible from the [User Menu](#). Directus ships with a full-featured user system, with the following fields: * First Name * Last Name @@ -114,9 +112,7 @@ This module aggregates all files within the project into one consolidated librar ### File Detail -Similar to other [Item Detail](#) pages, this page provides a custom form for viewing assets and embeds. - -Directus ships with a full-featured system for digital asset management, with the following fields: +Similar to other [Item Detail](#) pages, this page provides a custom form for viewing assets and embeds. Directus ships with a full-featured system for digital asset management, with the following fields: * Title * Description @@ -140,10 +136,41 @@ The sidebar's info component also includes the following readonly details: While the fields included out-of-the-box are locked from schema changes, you can extend Directus Files to include additional proprietary fields within [Settings > Data Model](#). ::: +## Documentation + +This module is an internal set of guides, concepts, and reference docs for your project's specific version of Directus. It also includes a dynamic [API Reference](#) that is dynamically tailored to your custom schema. The docs are organized into four distinct sections: + +* [Getting Started](#) — Novice Oriented. For a platform intro and installation. +* [Concepts](#) — Learning Oriented. For understanding the platfom. +* [Guides](#) — Problem Oriented. Follow along with steps while working. +* [Reference](#) — Information Oriented. Look up info and specs while working. + +::: Updating the Docs +Our docs are written in markdown (with some additional VuePress styling like this hint box), and available for editing/fixing via [GitHub](*). +::: + ## Actvity History +This module provides a collective timeline of all actions taken within the project. This is a great way to audit user activity or enforce accountability. This is the only system module that is not in the module bar by default — instead being located within the notifications tray of the page sidebar. This page has the same features and configuration as [Item Browse](#). + ### Activity Detail +Unlike other item detail pages, activity items are **readonly** (for proper accountability) and open in a modal window with the following fields: + +* User +* Action +* Date +* IP Address +* User Agent +* Collection +* Item + # Settings -@TODO ToC style to Configuration Guides... +This module is only available to users within [admin roles](#). This is where your project is configured, and the first place to go after installation. It includes the following sections: + +* Project Settings +* Data Model +* Roles & Permissions +* Presets & Bookmarks +* Webhooks diff --git a/docs/concepts/files-and-thumbnails.md b/docs/concepts/files-and-thumbnails.md index 8f4a98385e..b988ffe552 100644 --- a/docs/concepts/files-and-thumbnails.md +++ b/docs/concepts/files-and-thumbnails.md @@ -1,3 +1,25 @@ # Files & Thumbnails -> TK +> Directus offers a full Digital Asset Management (DAM) system. This includes multiple storage adapters, nested folder organization, private file access, image editing, and on-demand thumbnail generation. + +## Storage Adapters + +Storage adapters allow project files to be stored in different locations or services. By default, Directus includes the following adapters: + +* Local Filesystem — The default, any filesystem location or network-attached storage +* S3 or Equivalent — Including AWS S3, DigitalOcean Spaces, Alibaba OSS, and others +* Google Cloud Storage — A RESTful web service on the Google Cloud Platform + +## Files + +### Relevant Guides + +* [Requesting an Original File](#) +* [Requesting a Private File](#) + +## Thumbnails + +### Relevant Guides + +* [Allow-Listing Thumbnails](#) +* [Requesting a Thumbnail](#) diff --git a/docs/getting-started/introduction.md b/docs/getting-started/introduction.md index 8737046c0a..8b6c6ce1f3 100644 --- a/docs/getting-started/introduction.md +++ b/docs/getting-started/introduction.md @@ -41,13 +41,17 @@ Dedicated hardware, custom limits, full white-labeling, uptime SLAs, and more ar ### Documentation -The online version of our platform's most recent documentation, all written in publicly managed markdown files so the community can help! +[Our online documentation](#) describes the most version of our platform. They are written in publicly managed markdown files so the community can help keep them clean and up-to-date! -* Getting Started -* Concepts: Learning Oriented. For understanding the platofm. +* Getting Started: Novice Oriented. For a platform intro and installation. +* Concepts: Learning Oriented. For understanding the platfom. * Guides: Problem Oriented. Follow along with steps while working. * Reference: Information Oriented. Look up info and specs while working. +::: Versioned Docs +Docs for specific versions of Directus 9+ are available within the individual Project's App Documentation module. +::: + ### Online Demo [Our online demo](https://demo.directus.io) (`admin@example.com` + `password`) is a quick way to try things out in an isolated sandbox. This entire instance resets each hour.