Skip to content

Commit

Permalink
docs(content-releases): add frontend docs (#19391)
Browse files Browse the repository at this point in the history
* docs(content-releases): add frontend docs

* docs(content-releases): change some content based on review' comments

* docs(content-releases): rewrite some parts and change file  names

* docs(content-releases): small fix
  • Loading branch information
simotae14 committed Feb 8, 2024
1 parent 60335b1 commit 9f2fd88
Show file tree
Hide file tree
Showing 5 changed files with 101 additions and 0 deletions.
20 changes: 20 additions & 0 deletions docs/docs/docs/01-core/content-manager/03-content-releases.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Content Releases
description: Guide for content releases in the content-manager.
tags:
- content-manager
- content-releases
---

## Summary

Content releases is an enterprise feature so you need a valid license.
Additionally, your user role must be granted specific Permissions, such as `plugin::content-releases.read` and `plugin::content-releases.create-action`. You can modify these permissions in the Settings section. The capability to add entries to a release within the content manager is available through the content-manager edit view.

### Edit view

If the feature is enabled with the correct license, and the user has the necessary permissions enabled, a 'Releases' section will appear on the right side of the Edit View. The 'Releases' section has an 'Add to release' button. Clicking this button opens a modal allowing you to assign the entry to a specific release and specify the desired action (Publish/Unpublish).

In the event that no releases are present, users need to create a release first, which can be done on the [Content Releases](../content-releases/00-intro.md) page.

If the user's permissions also includes the `plugin::content-releases.delete-action`, the user can access additional options by clicking the 'More' button (represented by three dots) in the releases sidebar. This will reveal the 'Remove from release' button, providing the ability to detach the entry from the selected release.
21 changes: 21 additions & 0 deletions docs/docs/docs/01-core/content-releases/02-frontend/00-intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: Introduction
tags:
- content-releases
- tech design
---

## Summary

There are two pages, ReleasesPage and ReleaseDetailsPage. To access these pages a user will need a valid Strapi license with the feature enabled and at lease `plugin::content-releases.read` permissions.

Redux toolkit is used to manage content releases data (data retrieval, release creation and editing, and fetching release actions). `Formik` is used to create/edit a release and all input components are controlled components.

### License limits

Most licenses have feature-based usage limits configured through Chargebee. These limits are exposed to the frontend through [`useLicenseLimits`](/docs/core/admin/ee/hooks/use-license-limits).
If the license doesn't specify the number of maximum pending releases an hard-coded is used: max. 3 pending releases.

### Endpoints

For a list of all available endpoints please refer to the [detailed backend design documentation](/docs/core/content-releases/backend).
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: Releases page
tags:
- content-releases
- tech design
---

### Overview

The releases page provides a comprehensive display of all available content releases. Content is organized into two tabs: 'pending' (releases not yet published) and 'done' (releases already published).

#### New Release Creation:

If a user has the `plugin::content-releases.update` permissions, a 'New release' button will be visible in the header. Clicking the button opens a form requiring a name. The name of a pending release must be unique.

#### License limits

If the user reaches the limit of maximum pending releases defined on their license then the 'New release' button is disabled and a banner is displayed to inform the user.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: Release details page
tags:
- content-releases
- tech design
---

### Overview:

The release details page allows users with appropriate permissions to do the following:

#### Group entries:

Entries in a release can be be grouped by the following options:

- Content-Types: Group all entries with the same content type together
- Locales: Group all entries with the same locale together.
- Actions: Group all entries with the same action (publish/unpublish) together.

#### Edit a release:

If the user has the `plugin::content-releases.update` permissions, a "three dot" button will appear in the header giving access to a menu with an "Edit" option.
The Edit button opens a modal, enabling users to modify the release name. To save the changes, the new name must be unique (only for pending releases), non-empty, and distinctly modified.

#### Delete a release:

If the user has the `plugin::content-releases.delete` permissions, a "three dot" button will appear in the header giving access to a menu with a "Delete" option. Selecting this option triggers a confirmation modal.

#### View Entry Status

Each entry within a release is assigned a status, indicating its readiness for actions such as Publish/Unpublish or any validation errors present. If the entry has validation errors, a user can use the entry's "three dots" menu to access the "Edit entry" link which navigates directly to the entry in the content manager.

Within the CM edit view, users can resolve any identified errors. Upon completion, clicking the "Refresh" button on the release details page updates the status of each entry to reflect any changes made.

#### Publish a release:

To execute the release of a content release, users can simply click on the "Publish" button (shown if you have the "plugin::content-releases.publish" permission). If any of the entries exhibit validation errors, the "Publish" action triggers a notification to alert users of the errors.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"label": "Frontend",
"collapsible": true,
"collapsed": true
}

0 comments on commit 9f2fd88

Please sign in to comment.