diff --git a/docs/user-docs/latest/assets/plugins/Documentation-swagger.png b/docs/user-docs/latest/assets/plugins/Documentation-swagger.png
new file mode 100644
index 0000000000..6612440566
Binary files /dev/null and b/docs/user-docs/latest/assets/plugins/Documentation-swagger.png differ
diff --git a/docs/user-docs/latest/assets/plugins/EmailPlugin.png b/docs/user-docs/latest/assets/plugins/EmailPlugin.png
new file mode 100644
index 0000000000..51f94a24f9
Binary files /dev/null and b/docs/user-docs/latest/assets/plugins/EmailPlugin.png differ
diff --git a/docs/user-docs/latest/assets/plugins/Gatsby_Monogram.png b/docs/user-docs/latest/assets/plugins/Gatsby_Monogram.png
new file mode 100644
index 0000000000..2263c607a5
Binary files /dev/null and b/docs/user-docs/latest/assets/plugins/Gatsby_Monogram.png differ
diff --git a/docs/user-docs/latest/assets/plugins/MediaLibPlugin.png b/docs/user-docs/latest/assets/plugins/MediaLibPlugin.png
new file mode 100644
index 0000000000..e01de681d7
Binary files /dev/null and b/docs/user-docs/latest/assets/plugins/MediaLibPlugin.png differ
diff --git a/docs/user-docs/latest/assets/plugins/graphql.png b/docs/user-docs/latest/assets/plugins/graphql.png
new file mode 100644
index 0000000000..5cc90404a3
Binary files /dev/null and b/docs/user-docs/latest/assets/plugins/graphql.png differ
diff --git a/docs/user-docs/latest/assets/plugins/icon_i18n-plugin.png b/docs/user-docs/latest/assets/plugins/icon_i18n-plugin.png
index 698d8c31d9..cbfc386a1f 100644
Binary files a/docs/user-docs/latest/assets/plugins/icon_i18n-plugin.png and b/docs/user-docs/latest/assets/plugins/icon_i18n-plugin.png differ
diff --git a/docs/user-docs/latest/assets/plugins/icon_up-plugin.png b/docs/user-docs/latest/assets/plugins/icon_up-plugin.png
index bafed24b3a..058730a4cf 100644
Binary files a/docs/user-docs/latest/assets/plugins/icon_up-plugin.png and b/docs/user-docs/latest/assets/plugins/icon_up-plugin.png differ
diff --git a/docs/user-docs/latest/assets/plugins/sentry.png b/docs/user-docs/latest/assets/plugins/sentry.png
new file mode 100644
index 0000000000..9082ad20b6
Binary files /dev/null and b/docs/user-docs/latest/assets/plugins/sentry.png differ
diff --git a/docs/user-docs/latest/assets/plugins/seo-logo.png b/docs/user-docs/latest/assets/plugins/seo-logo.png
new file mode 100644
index 0000000000..27a95fa73f
Binary files /dev/null and b/docs/user-docs/latest/assets/plugins/seo-logo.png differ
diff --git a/docs/user-docs/latest/plugins/strapi-plugins.md b/docs/user-docs/latest/plugins/strapi-plugins.md
index 7e322dcf4b..5cd0367865 100644
--- a/docs/user-docs/latest/plugins/strapi-plugins.md
+++ b/docs/user-docs/latest/plugins/strapi-plugins.md
@@ -2,46 +2,52 @@
title: List of Strapi plugins - Strapi User Guide
description: Reference guide to Strapi plugins explaining how they work and how they expand a Strapi application.
canonicalUrl: https://docs.strapi.io/user-docs/latest/plugins/strapi-plugins.html
+sidebarDepth: 2
---
# List of Strapi plugins
-
+Strapi builds and maintains plugins that extend the functionality of a core Strapi application. This section is a reference guide to the pre-installed plugins and additional plugins developed by Strapi, which are available in the [Marketplace](/user-docs/latest/plugins/installing-plugins-via-marketplace.md). Additional documentation on plugins is provided in the relevant sections of the User Guide and the Developer Documentation, however, a brief plugin description, how the installed plugin works, and changes to the admin panel is provided.
+
+::: note
-No matter if they are installed by default, or additional, Strapi plugins allow to expand your application by adding more options and possibilities. All options are documented in their right places throughout the user guide. However, you can use the following documentation as a reference guide to know which Strapi plugins are available, how they work and which options they add to your Strapi application.
+- Some Strapi Starters and Templates might install additional plugins beyond the default plugins listed below.
+- Some plugin options are only available with an [Enterprise edition license](https://strapi.io/pricing-self-hosted), and are marked with in this reference guide.
+- All plugin installations can be confirmed in the admin panel by clicking on  *Plugins* in the main navigation.
-## Default plugins
+:::
+
+## Pre-installed plugins
###
Internationalization plugin
-The Internationalization plugin is installed by default on all v4 Strapi applications, but can be deactivated.
+The Internationalization plugin is installed by default on all v4 Strapi applications, but it can be deactivated.
-This plugin allows to manage content in different languages, called "locales". With the Internationalization plugin, it is possible to:
+This plugin is used to manage content in different languages, called "locales". With the Internationalization plugin, it is possible to:
-- define what locales should be available in the Strapi application,
+- define which locales should be available in the Strapi application,
- define which content-types and fields can be translated in different locales, or should only be available in the default locale,
-- translate content and manage it each locale at a time.
+- translate content and manage each locale individually.
-The Internationalization plugin impacts several parts of the admin panel. The table below lists all the additional options and settings that are added to a Strapi application once the plugin has been installed.
+The Internationalization plugin affects several parts of the admin panel. The table below lists all the additional options and settings that are added to a Strapi application once the plugin has been installed.
| Section impacted | Options and settings |
|------------------|---------------------------------------------------------------------------------------------------------|
-| Settings |
- Addition of a new "Internationalization" setting sub-section, from which to add, edit or delete locales available for the application (see [Configuring Internationalization locales](../settings/managing-global-settings.md#configuring-internationalization-locales)).
👉 Path reminder:  *Settings > Global Settings > Internationalization*
- Addition of new permissions for administator roles: access to content-types, as well as possible actions on the content-types, can be defined depending on the locale (see [Configuring role's permissions](/user-docs/latest/users-roles-permissions/configuring-administrator-roles.md#configuring-role-s-permissions)).
👉 Path reminder:  *Settings > Administration panel*
|
-| Content-type Builder | - Addition of a new setting at content-type level, to allow or not localisation/translation of the content-type (see [Creating a new content-type](/user-docs/latest/content-types-builder/creating-new-content-type.md#creating-a-new-content-type)).
- Addition of a new setting at field level, to allow or not localisation/translation of the content-type (see [Configuring fields for content-types](/user-docs/latest/content-types-builder/configuring-fields-content-type.md#regular-fields)).
|
-| Content Manager | - Addition of new *Locales* filter in collection types list view, to manage entries per locale (see [Introduction to the Content Manager](/user-docs/latest/content-manager/introduction-to-content-manager.md#collection-types)).
- Addition of new options in content-types edit view, to translate content and manage it per locale (see [Translating content](/user-docs/latest/content-manager/translating-content.md)).
|
-
+| Settings | - Addition of a new "Internationalization" setting sub-section, where locales can be added, edited or deleted from the application (see [Configuring Internationalization locales](../settings/managing-global-settings.md#configuring-internationalization-locales)).
👉 Path reminder:  *Settings > Global Settings > Internationalization*
- Addition of new permissions for administrator roles: access to Content-types, as well as possible actions on the Content-types, can be defined depending on the locale (see [Configuring permissions](/user-docs/latest/users-roles-permissions/configuring-administrator-roles.md#configuring-role-s-permissions)).
👉 Path reminder:  *Settings > Administration panel*
- Addition of role-based permissions settings where the access for each user type can be enabled or restricted (see [Configuring permissions](/user-docs/latest/users-roles-permissions/configuring-administrator-roles.html#editing-a-role)).
👉 Path reminder:  *Settings > Administration panel > Roles > select role > Settings*
|
+| Content-type Builder | - Addition of a new setting at the Content-type level, to allow or not localization/translation of the content-type (see [Creating a new content-type](/user-docs/latest/content-types-builder/creating-new-content-type.md#creating-a-new-content-type)).
- Addition of a new setting at field level, to allow or not localization/translation of the content-type (see [Configuring fields for content-types](/user-docs/latest/content-types-builder/configuring-fields-content-type.md#regular-fields)).
|
+| Content Manager | - Addition of a new *Locales* filter in collection types list view, to manage entries per locale (see [Introduction to the Content Manager](/user-docs/latest/content-manager/introduction-to-content-manager.md#collection-types)).
- Addition of new options in Content-types edit view, to translate content and manage it per locale (see [Translating content](/user-docs/latest/content-manager/translating-content.md)).
|
###
Users & Permissions plugin
+:::note
+[API tokens](/user-docs/latest/settings/managing-global-settings.html#managing-api-tokens) are the preferred method for managing end users. Strapi plans to remove the Users & Permissions plugin from the default installation by the end of September 2022.
+:::
+
The Users & Permissions plugin is installed by default on all v4 Strapi applications, but can be deactivated.
-This plugin allows to manage end users, who consume the content that is created and managed with a Strapi application and displayed on a front-end application (e.g. website, mobile application, connected device etc.). With the Users & Permissions plugin, it is possible to:
+This plugin is used to manage end users, who consume the content that is created and managed with a Strapi application and displayed on a front-end application (e.g. website, mobile application, connected device, etc.). With the Users & Permissions plugin, it is possible to:
-- manage end users accounts, based on a "User" collection type available through the plugin,
+- manage end users accounts, based on the "User" collection type available through the plugin,
- define the available end-user roles and their related permissions,
- manage available providers to enable end users to login through third-party providers,
- configure available email templates aimed at the end users (e.g. password reset, email address confirmation).
@@ -51,5 +57,76 @@ The Users & Permissions plugin impacts several parts of the admin panel. The tab
| Section impacted | Options and settings |
|------------------|---------------------------------------------------------------------------------------------------------|
| Settings | Addition of a "Users & Permissions plugin" setting section, which contains 4 sub-sections: Roles (see [Configuring end-user roles](../users-roles-permissions/configuring-end-users-roles.md)), Providers, Email Templates, and Advanced Settings (see [Configuring Users & Permissions plugin](../settings/configuring-users-permissions-plugin-settings.md)).
👉 Path reminder:  *Settings > Users & Permissions plugin*
|
-| Content-type Builder | Creation of 3 default collection types: "User", "Role" and "Permission". They respectively allow to manage the end users, the end-user roles and their permissions. These collection types cannot be deleted and their composing fields cannot be edited, but addition of new fields is possible. Out of the 3, only the "User" collection type is then available via the Content Manager.
|
-| Content Manager | Addition of the default "User" collection type that allows to manage end-user accounts (see [Managing end-user accounts](../users-roles-permissions/managing-end-users.md)). - By default, the following fields are available: Username, Email, Password, as well as Confirmed and Blocked as boolean fields.
- The "User" collection type has a relation established with the "Role" collection type. All end-user accounts must indeed be attributed a role: by default, the end user is attributed the end-user role set as default, but that role can be changed via the end-user entries directly in the Content Manager.
|
\ No newline at end of file
+| Content-type Builder | Creation of a default collection type "User" which allows for the management of the end users, the end-user roles and their permissions. This collection type cannot be deleted and the composing fields cannot be edited, but the addition of new fields is possible.
|
+| Content Manager | Addition of the default "User" collection type that allows for the management of end-user accounts (see [Managing end-user accounts](../users-roles-permissions/managing-end-users.md)). - By default, the following fields are available: Username, Email, Password, as well as Confirmed and Blocked as boolean fields.
- The "User" collection type has a relation established with the "Role" collection type. All end-user accounts must have a designated role: by default, the end user is attributed the end-user role set as default, but that role can be changed via the end-user entries directly in the Content Manager.
|
+
+###
Email plugin
+
+The Email plugin allows users to send email from the server or from external providers such as Sendgrid. The Email plugin is not configurable in the admin panel, however users can test email delivery if it has been setup by an administrator. More information about the email plugin is available in the [Developer Documentation](/developer-docs/latest/plugins/email.md).
+
+| Section impacted | Options and settings |
+|------------------|----------------------|
+| Settings | - Addition of "Email plugin" setting section, which contains a "Configuration" sub-section. In the Configuration section, only the email address field under "Test email delivery" is modifiable by users. A **send test email** button sends a test email.
- Addition of "Email" to the permissions for authenticated and public users. In the Email section the ability to send emails via the API can be enabled or disabled.
👉 Path reminder:  *Settings > Users and Permissions > Roles*
|
+
+## Additional plugins
+
+###
Documentation
+
+ The Documentation plugin automates documentation for APIs in a Strapi application using the Open API specification version 3.0.1. When the Documentation plugin is installed it is available in the admin panel, under the heading "Plugins". The Documentation plugin is available in the in-app Marketplace and the [Strapi Market](https://market.strapi.io/plugins/@strapi-plugin-documentation). The Documentation plugin enables:
+
+- opening the API documentation,
+- regenerating the documentation,
+- restricting access to the documentation endpoint.
+
+The Documentation plugin affects multiple parts of the admin panel. The table below lists all the additional options and settings that are added to a Strapi application once the plugin has been installed.
+
+| Section impacted | Options and settings |
+|------------------|---------------------------------------------------------------------------------------------------------|
+| Documentation | Addition of a new Documentation option in the main navigation under the plugins heading, which contains links to open and refresh the documentation.
|
+| Settings | - Addition of a "Documentation plugin" setting section, which controls whether the documentation endpoint is private or not.
👉 Path reminder:  *Settings > Documentation plugin*
- Activation of role based access control for accessing, updating, deleting, and regenerating the documentation. Administrators can authorize different access levels to different types of users in the *Plugins* tab and the *Settings* tab.
👉 Path reminder:  *Settings > Administration Panel > Roles*
|
+
+###
Gatsby preview
+
+The Gatsby preview plugin allows applications with Gatsby Cloud accounts to preview the front end. The Strapi Gatsby preview plugin is available in the in-app Marketplace and the [Strapi Market](https://market.strapi.io/plugins/@strapi-plugin-gatsby-preview).
+
+The Gatsby preview plugin affects multiple parts of the admin panel. The table below lists all the additional options and settings that are added to a Strapi application once the plugin has been installed.
+
+| Section impacted | Options and settings |
+|------------|-----------------|
+| Settings | Addition of a "Gatsby preview plugin" setting section, enables/disables collection types and single types, and allows the Gatsby Content Sync URL to be added.
👉 Path reminder:  *Settings > Gatsby preview plugin* | |
+| Content Manager | Addition of the **open Gatsby preview** button in the right-side navigation. |
+
+
+###
GraphQL
+
+The GraphQL plugin enables GraphQL endpoints in a Strapi application, and gives access to the GraphQL Playground: a browser-based interface that assists in writing GraphQL queries and data exploration. The Strapi GraphQL plugin is available in the in-app Marketplace and the [Strapi Market](https://market.strapi.io/plugins/@strapi-plugin-graphql).
+
+There is no access to the GraphQL plugin in the admin panel. The GraphQL Playground is accessible at in a Strapi application. More information on using the GraphQL API is located in the [API reference](/developer-docs/latest/developer-resources/database-apis-reference/graphql-api.md#graphql-api) and the [Developer Documentation plugins section](/developer-docs/latest/plugins/graphql.md#graphql).
+
+###
SEO
+
+The Strapi SEO plugin is designed to improve your application SEO. The Strapi SEO plugin is available in the in-app Marketplace and the [Strapi Market](https://market.strapi.io/plugins/@strapi-plugin-seo). Once installed, the plugin is available in the main navigation and adds 2 pre-built components *MetaSocial* and *Seo* to the Content-type Builder, which can be used as regular components (see [Configuring fields for content-types](/user-docs/latest/content-types-builder/configuring-fields-content-type.html#components)).
+
+With the plugin installed, it is possible to:
+
+- import default Strapi SEO and meta-social components,
+- manage the meta title, meta description, and preview the content,
+- manage social tags for Facebook and Twitter,
+- analyze the SEO of the application content.
+
+The Strapi SEO plugin affects multiple parts of the admin panel. The table below lists all the additional options and settings that are added to a Strapi application once the plugin has been installed.
+
+| Section impacted | Options and settings |
+|-------------------|--------------------------------------------|
+| Content Manager | - Addition of SEO field to Collection Types with the SEO component.
- Addition of SEO menu in the right-side navigation
- Addition of **Browser Preview** and **Social Preview** buttons in the right-side navigation,
- Addition of SEO Summary and link for details in the right-side navigation.
|
+| Content-type Builder | Addition of `shared - metaSocial` and `shared - seo` components in the Content-type Builder sub navigation. The `shared - metaSocial` and `shared - seo` components can be added to a collection type or single type using the **+ Add another field** button and adding an existing component (see [Configuring fields for content-types](/user-docs/latest/content-types-builder/configuring-fields-content-type.html#components)).
|
+|Main navigation | Addition of  *SEO* to the main navigation. By clicking on  *SEO* a list of Collection Types and Single Types, with the SEO status, is available.
+
+###
Sentry
+
+The Strapi Sentry plugin is used to track Strapi errors with Sentry. The Strapi Sentry plugin is available in the in-app Marketplace and the [Strapi Market](https://market.strapi.io/plugins/@strapi-plugin-sentry). With the plugin installed it is possible to:
+
+- initialize a Sentry instance when a Strapi application starts,
+- send errors encountered in an application end API to Sentry,
+- attach useful metadata to Sentry events, to help with debugging,
+- expose a global Sentry service.