From d1215879742ec3090c10960b9c81f204048d5f93 Mon Sep 17 00:00:00 2001 From: Derick Sozo Date: Thu, 21 Sep 2023 05:37:30 +0700 Subject: [PATCH 1/5] (docs): Making the Plugins section of the Amplication docs much easier to understand. --- docs/getting-started/official-plugins.md | 52 ++++++++++++++++++ docs/getting-started/plugins.md | 70 ++++++------------------ docs/plugins/developing-a-plugin.md | 4 +- docs/plugins/plugindev-overview.md | 2 + docs/plugins/publish-your-plugin.md | 4 +- docs/plugins/testing-a-plugin.md | 4 +- sidebars.js | 26 ++++----- 7 files changed, 88 insertions(+), 74 deletions(-) create mode 100644 docs/getting-started/official-plugins.md diff --git a/docs/getting-started/official-plugins.md b/docs/getting-started/official-plugins.md new file mode 100644 index 00000000..07b82fed --- /dev/null +++ b/docs/getting-started/official-plugins.md @@ -0,0 +1,52 @@ +--- +title: Official Plugins +sidebar_label: Official Plugins List +slug: /plugins-list +pagination_next: "plugins/overview" +pagination_prev: getting-started/plugins +--- + +# Official Amplication Plugins + +The following plugins are currently available. +Additional plugins will be added in future releases of Amplication. + +### MongoDB + +[MongoDB](https://www.mongodb.com/) is a free and open-source cross-platform document-oriented database program. It is classified as a NoSQL database program, meaning that it does not use the traditional SQL relational database management system. Instead, it uses JSON-like documents with optional schemas to store data. + +MongoDB is used to store and retrieve large amounts of data in real-time, and it is often used in situations where high performance and horizontal scaling are required. + +### PostgreSQL + +[PostgreSQL](https://www.postgresql.org/) is a free and open-source relational database management system that is designed to be highly scalable, reliable, and powerful. It is known for its ability to handle large amounts of data and a high volume of queries. + +PostgreSQL can handle complex data structures and relationships. It supports a wide range of data types, including arrays, JSON, and XML, and it has robust support for stored procedures, triggers, and views. + +### MySQL + +[MySQL](https://www.mysql.com/) is an open-source relational database management system that is widely used in web applications and other software platforms. It is known for its reliability, simplicity, and performance. It is a powerful tool for storing and managing data in a structured and organized way. + +### Kafka + +[KafkaJS](https://kafka.js.org/) is a distributed streaming platform, used for building real-time data pipelines and streaming applications. It is a publish-subscribe messaging system that allows for the creation of high-throughput and low-latency systems. + +In the Apache Kafka messaging system, processes known as producers write data to Kafka topics, and processes known as consumers read data from Kafka topics. + +### NestJS Auth Module + +The NestJS Auth Module plugin provides all the basic modules required for authentication of the service. +Installation of this plugin is mandatory for the service to be authenticated, and must be installed together with the JwT Auth Provider plugin or the Basic Auth Provider plugin, as follows: + +### JWT Auth Provider + +[Passport](https://www.passportjs.org/) based JWT authentication involves the client sending a request to the server with a user's credentials in the form of a username and password. The server then authenticates the user and issues a JWT if the credentials are valid. This allows the client to authenticate subsequent requests to the server using the JWT. +Read more about authentication [here](https://docs.nestjs.com/security/authentication). + +### Basic Auth Provider + +Basic authentication is a simple authentication scheme built into the HTTP protocol that involves sending a request to a server with a user's credentials in the form of a username and password. The credentials are encoded in base64 and included in the Authorization header of the request. + +### Prettier + +[Prettier](https://prettier.io/) is an opinionated code formatter that automatically formats your code to ensure adherence to a consistent style. Code is automatically formatted every time it is committed. \ No newline at end of file diff --git a/docs/getting-started/plugins.md b/docs/getting-started/plugins.md index 059742a3..b83c5f33 100644 --- a/docs/getting-started/plugins.md +++ b/docs/getting-started/plugins.md @@ -1,65 +1,22 @@ --- id: plugins title: How To Use Plugins -sidebar_label: Use Plugins +sidebar_label: How To Use Plugins slug: /getting-started/plugins +pagination_next: plugins/overview +pagination_prev: getting-started/official-plugins --- -## Overview +Plugins are custom code that extend the functionality of your generated application. -Use plugins to extend the functionality of your generated application. -Some plugins are included in Amplication by default. To add more functionality, you can develop your own plugins, or can use plugins developed by the community, as they become available. +Amplication includes [official plugins](//plugins-list) by default. To add more functionality, you can [develop your own plugins](/plugins/overview), or can use plugins developed by the community, as they become available. -The published plugins are available on the _All Plugins_ screen. -The installed plugins are shown on the _Installed Plugins_ screen. +All the official plugins are available on the _All Plugins_ screen in the Amplication dashboard. +Your installed plugins for a particular service are shown on the _Installed Plugins_ screen. -## Available Plugins +This guide will teach you how to install a plugin, manage plugin versions, and access the plugins list. -The following plugins are currently available. Addition plugins will be added in future releases of Amplication. - -### MongoDB - -[MongoDB](https://www.mongodb.com/) is a free and open-source cross-platform document-oriented database program. It is classified as a NoSQL database program, meaning that it does not use the traditional SQL relational database management system. Instead, it uses JSON-like documents with optional schemas to store data. - -MongoDB is used to store and retrieve large amounts of data in real-time, and it is often used in situations where high performance and horizontal scaling are required. - -### PostgreSQL - -[PostgreSQL](https://www.postgresql.org/) is a free and open-source relational database management system that is designed to be highly scalable, reliable, and powerful. It is known for its ability to handle large amounts of data and a high volume of queries. - -PostgreSQL can handle complex data structures and relationships. It supports a wide range of data types, including arrays, JSON, and XML, and it has robust support for stored procedures, triggers, and views. - -### MySQL - -[MySQL](https://www.mysql.com/) is an open-source relational database management system that is widely used in web applications and other software platforms. It is known for its reliability, simplicity, and performance. It is a powerful tool for storing and managing data in a structured and organized way. - -### Kafka - -[KafkaJS](https://kafka.js.org/) is a distributed streaming platform, used for building real-time data pipelines and streaming applications. It is a publish-subscribe messaging system that allows for the creation of high-throughput and low-latency systems. - -In the Apache Kafka messaging system, processes known as producers write data to Kafka topics, and processes known as consumers read data from Kafka topics. - -### NestJS Auth Module - -The NestJS Auth Module plugin provides all the basic modules required for authentication of the service. -Installation of this plugin is mandatory for the service to be authenticated, and must be installed together with the JwT Auth Provider plugin or the Basic Auth Provider plugin, as follows: - -### JWT Auth Provider - -[Passport](https://www.passportjs.org/) based JWT authentication involves the client sending a request to the server with a user's credentials in the form of a username and password. The server then authenticates the user and issues a JWT if the credentials are valid. This allows the client to authenticate subsequent requests to the server using the JWT. -Read more about authentication [here](https://docs.nestjs.com/security/authentication). - -### Basic Auth Provider - -Basic authentication is a simple authentication scheme built into the HTTP protocol that involves sending a request to a server with a user's credentials in the form of a username and password. The credentials are encoded in base64 and included in the Authorization header of the request. - -### Prettier - -[Prettier](https://prettier.io/) is an opinionated code formatter that automatically formats your code to ensure adherence to a consistent style. Code is automatically formatted every time it is committed. - -## Installing plugins - -To install a plugin: +## How To Install A Plugin 1. In the _All Plugins_ page, click **Install** for the required plugin. @@ -71,6 +28,11 @@ To install a plugin: 3. To see the plugin on gitHub, select **View on GitHub**. +## Access the Official Plugins List + +You can view all official plugins on the _All Plugins_ page. +They're also available on the [Official Plugins](/plugins-list) page here on the Amplication documentation. + ## Order of Plugin Execution The plugins are executed when Amplication generates code, according to their order on the *Installed Plugins* page. @@ -80,7 +42,7 @@ If a plugin execution is a prerequisite for another plugin, it must be located e - To change the order of the installed plugins, click the up or down arrow to the right of the plugin bar. - To activate or deactivate the plugin, click the toggle switch. -## Managing Plugin Versions +## How To Manage Plugin Versions Amplication plugin developers may release several versions of a plugin over time. By default, the latest version will be available when installing the plugin. @@ -104,7 +66,7 @@ By default, the latest version of the plugin will be available in the list of pl Each version of the Plugin has its own settings, so when you replace the version you also replace its settings. ::: -## Creating Plugins +## How To Develop Custom Plugins To add more functionality, you can develop your own plugins, or can use plugins developed by the community, as they become available. diff --git a/docs/plugins/developing-a-plugin.md b/docs/plugins/developing-a-plugin.md index f58a7571..6d490ba8 100644 --- a/docs/plugins/developing-a-plugin.md +++ b/docs/plugins/developing-a-plugin.md @@ -1,7 +1,7 @@ --- id: how-to-create-plugin -title: How to Create a Plugin -sidebar_label: How to Create a Plugin +title: How to Create a Custom Plugin +sidebar_label: How to Create a Custom Plugin slug: /plugins/how-to-create-plugin --- diff --git a/docs/plugins/plugindev-overview.md b/docs/plugins/plugindev-overview.md index 6f6d041a..007d8c9e 100644 --- a/docs/plugins/plugindev-overview.md +++ b/docs/plugins/plugindev-overview.md @@ -3,6 +3,8 @@ id: overview title: Plugin Development Overview sidebar_label: Overview slug: /plugins/overview +pagination_next: plugins/plugin-architecture +pagination_prev: plugins/event-hierarchy --- # Plugin Development Overview diff --git a/docs/plugins/publish-your-plugin.md b/docs/plugins/publish-your-plugin.md index bf36f3a5..1835c3b1 100644 --- a/docs/plugins/publish-your-plugin.md +++ b/docs/plugins/publish-your-plugin.md @@ -1,7 +1,7 @@ --- id: publish-plugin -title: Publishing Your Plugin -sidebar_label: Publishing Your Plugin +title: How To Publish a Custom Plugin +sidebar_label: How To Publish a Custom Plugin slug: /plugins/publish-plugin --- diff --git a/docs/plugins/testing-a-plugin.md b/docs/plugins/testing-a-plugin.md index cbf5ae9f..cf86a28a 100644 --- a/docs/plugins/testing-a-plugin.md +++ b/docs/plugins/testing-a-plugin.md @@ -1,7 +1,7 @@ --- id: how-to-test-plugin -title: How to Test a Plugin -sidebar_label: How to Test a Plugin +title: How to Test a Custom Plugin +sidebar_label: How to Test a Custom Plugin slug: /plugins/how-to-test-plugin --- diff --git a/sidebars.js b/sidebars.js index ddb7aaa4..c722103c 100644 --- a/sidebars.js +++ b/sidebars.js @@ -60,7 +60,6 @@ const sidebars = { }, items: [ "getting-started/deploy", - "getting-started/plugins", { type: "category", label: "Sync With a Git Provider", @@ -119,16 +118,20 @@ const sidebars = { }, { type: "category", - label: "Plugin Development", + label: "Plugins", link: { - type: "doc", - id: "plugins/overview", + type:"doc", + id: "getting-started/plugins" }, items: [ - "plugins/overview", + "getting-started/plugins", + "getting-started/official-plugins", + "plugins/how-to-create-plugin", + "plugins/how-to-test-plugin", + "plugins/publish-plugin", { type: "category", - label: "Architecture", + label: "Custom Plugin Architecture", items: [ "plugins/plugin-architecture", "plugins/plugin-events-before-after", @@ -138,12 +141,7 @@ const sidebars = { }, { type: "category", - label: "Developing Plugins", - items: ["plugins/how-to-create-plugin", "plugins/how-to-test-plugin", "plugins/publish-plugin"], - }, - { - type: "category", - label: "Plugin Events - Reference", + label: "Custom Plugin Events - Reference", items: [ "plugins/plugin-events/create-server", "plugins/plugin-events/create-server-docker-compose", @@ -164,8 +162,8 @@ const sidebars = { "plugins/plugin-events/create-message-broker-topics-enum", "plugins/plugin-events/create-prisma-schema", ], - }, - ], + } + ] }, { type: "category", From 29b14005f2e9b23bd7b60b8bfcdc9310456368a7 Mon Sep 17 00:00:00 2001 From: Derick Sozo Date: Tue, 26 Sep 2023 06:11:08 +0700 Subject: [PATCH 2/5] (docs): 1. Renaming the Official Plugins page to Community Plugins. 2. Adding a note to the Plugins List to check the dashboard as well for the most updated list. --- .../{official-plugins.md => community-plugins.md} | 12 ++++++++---- docs/getting-started/plugins.md | 4 ++-- sidebars.js | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) rename docs/getting-started/{official-plugins.md => community-plugins.md} (92%) diff --git a/docs/getting-started/official-plugins.md b/docs/getting-started/community-plugins.md similarity index 92% rename from docs/getting-started/official-plugins.md rename to docs/getting-started/community-plugins.md index 07b82fed..325f3c1a 100644 --- a/docs/getting-started/official-plugins.md +++ b/docs/getting-started/community-plugins.md @@ -1,16 +1,20 @@ --- -title: Official Plugins -sidebar_label: Official Plugins List +title: Community Plugins +sidebar_label: Community Plugins List slug: /plugins-list -pagination_next: "plugins/overview" +pagination_next: plugins/overview pagination_prev: getting-started/plugins --- -# Official Amplication Plugins +# Amplication Community Plugins The following plugins are currently available. Additional plugins will be added in future releases of Amplication. +:::note +For the most updated list of plugins, it's recommended to check the _All Plugins_ page on your Amplication dashboard. +::: + ### MongoDB [MongoDB](https://www.mongodb.com/) is a free and open-source cross-platform document-oriented database program. It is classified as a NoSQL database program, meaning that it does not use the traditional SQL relational database management system. Instead, it uses JSON-like documents with optional schemas to store data. diff --git a/docs/getting-started/plugins.md b/docs/getting-started/plugins.md index b83c5f33..1863c3b9 100644 --- a/docs/getting-started/plugins.md +++ b/docs/getting-started/plugins.md @@ -4,12 +4,12 @@ title: How To Use Plugins sidebar_label: How To Use Plugins slug: /getting-started/plugins pagination_next: plugins/overview -pagination_prev: getting-started/official-plugins +pagination_prev: getting-started/community-plugins --- Plugins are custom code that extend the functionality of your generated application. -Amplication includes [official plugins](//plugins-list) by default. To add more functionality, you can [develop your own plugins](/plugins/overview), or can use plugins developed by the community, as they become available. +Amplication includes [community plugins](/plugins-list) by default. To add more functionality, you can [develop your own plugins](/plugins/overview), or can use plugins developed by the community, as they become available. All the official plugins are available on the _All Plugins_ screen in the Amplication dashboard. Your installed plugins for a particular service are shown on the _Installed Plugins_ screen. diff --git a/sidebars.js b/sidebars.js index c722103c..90f3526d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -125,7 +125,7 @@ const sidebars = { }, items: [ "getting-started/plugins", - "getting-started/official-plugins", + "getting-started/community-plugins", "plugins/how-to-create-plugin", "plugins/how-to-test-plugin", "plugins/publish-plugin", From 8a22f750da9a126fffd6d56e19e80acbbc98c582 Mon Sep 17 00:00:00 2001 From: Derick Sozo Date: Fri, 3 Nov 2023 17:31:47 +0700 Subject: [PATCH 3/5] (docs): Resolving the conflicts that would be present after merging new changes to the Plugins page from PR #347 --- docs/getting-started/community-plugins.md | 102 ++++++++++++++++++---- docs/getting-started/plugins.md | 57 ++++++++---- 2 files changed, 126 insertions(+), 33 deletions(-) diff --git a/docs/getting-started/community-plugins.md b/docs/getting-started/community-plugins.md index 325f3c1a..cf566c78 100644 --- a/docs/getting-started/community-plugins.md +++ b/docs/getting-started/community-plugins.md @@ -15,42 +15,108 @@ Additional plugins will be added in future releases of Amplication. For the most updated list of plugins, it's recommended to check the _All Plugins_ page on your Amplication dashboard. ::: -### MongoDB +### Mongo DB -[MongoDB](https://www.mongodb.com/) is a free and open-source cross-platform document-oriented database program. It is classified as a NoSQL database program, meaning that it does not use the traditional SQL relational database management system. Instead, it uses JSON-like documents with optional schemas to store data. +Use a Mongo database in your service generated by Amplication. -MongoDB is used to store and retrieve large amounts of data in real-time, and it is often used in situations where high performance and horizontal scaling are required. +[MongoDB](https://github.com/amplication/plugins/tree/master/plugins/db-mongo) is a free and open-source cross-platform document-oriented database program. It is classified as a NoSQL database program, meaning that it does not use the traditional SQL relational database management system. Instead, it uses JSON-like documents with optional schemas to store data. -### PostgreSQL +### PostgreSQL DB -[PostgreSQL](https://www.postgresql.org/) is a free and open-source relational database management system that is designed to be highly scalable, reliable, and powerful. It is known for its ability to handle large amounts of data and a high volume of queries. +Use a PostgreSQL database in your service generated by Amplication. -PostgreSQL can handle complex data structures and relationships. It supports a wide range of data types, including arrays, JSON, and XML, and it has robust support for stored procedures, triggers, and views. +[PostgreSQL](https://github.com/amplication/plugins/tree/master/plugins/db-postgres) is a free and open-source relational database management system that is designed to be highly scalable, reliable, and powerful. It is known for its ability to handle large amounts of data and a high volume of queries. -### MySQL +### MySQL DB -[MySQL](https://www.mysql.com/) is an open-source relational database management system that is widely used in web applications and other software platforms. It is known for its reliability, simplicity, and performance. It is a powerful tool for storing and managing data in a structured and organized way. +Use a MySQL database in your service generated by Amplication. -### Kafka +[MySQL](https://github.com/amplication/plugins/tree/master/plugins/db-mysql) is an open-source relational database management system that is widely used in web applications and other software platforms. It is known for its reliability, simplicity, and performance. It is a powerful tool for storing and managing data in a structured and organized way. -[KafkaJS](https://kafka.js.org/) is a distributed streaming platform, used for building real-time data pipelines and streaming applications. It is a publish-subscribe messaging system that allows for the creation of high-throughput and low-latency systems. +### Apache Kafka + +Use an Apache Kafka message broker to communicate between your services. + +[Apache Kafka](https://github.com/amplication/plugins/tree/master/plugins/broker-kafka) is a distributed streaming platform, used for building real-time data pipelines and streaming applications. It is a publish-subscribe messaging system that allows for the creation of high-throughput and low-latency systems. In the Apache Kafka messaging system, processes known as producers write data to Kafka topics, and processes known as consumers read data from Kafka topics. -### NestJS Auth Module +### NestJS NATS + +Use a NestJS NATS message broker to communicate between your services. + +[NATS](https://docs.nestjs.com/microservices/nats) is a high performance, low latency messaging system that is lightweight. +It follows a publish-subscribe model like Kafka but is less complex and easier to set up. +NATS is ideal for applications that require real-time messaging but don't need the level of durability and fault-tolerance that Kafka provides. -The NestJS Auth Module plugin provides all the basic modules required for authentication of the service. -Installation of this plugin is mandatory for the service to be authenticated, and must be installed together with the JwT Auth Provider plugin or the Basic Auth Provider plugin, as follows: +:::info +A _User_ entity must exist in order to enable this plugin in your project. +Learn [how to add the user entity](/how-to/add-delete-user-entity) into your service. +::: ### JWT Auth Provider -[Passport](https://www.passportjs.org/) based JWT authentication involves the client sending a request to the server with a user's credentials in the form of a username and password. The server then authenticates the user and issues a JWT if the credentials are valid. This allows the client to authenticate subsequent requests to the server using the JWT. -Read more about authentication [here](https://docs.nestjs.com/security/authentication). +Add JSON Web Token (JWT) authentication and authorization to your service. + +[NestJS's Passport based JWT authentication](https://docs.nestjs.com/security/authentication) involves the client sending a request to the server with a user's credentials in the form of a username and password. The server then authenticates the user and issues a JWT if the credentials are valid. This allows the client to authenticate subsequent requests to the server using the JWT. -### Basic Auth Provider +:::note +The _NestJS Auth Provider_ plugin must also be installed to use the JWT Auth Provider plugin. +::: -Basic authentication is a simple authentication scheme built into the HTTP protocol that involves sending a request to a server with a user's credentials in the form of a username and password. The credentials are encoded in base64 and included in the Authorization header of the request. +### Passport Basic Authentication + +[Basic authentication](https://github.com/amplication/plugins/tree/master/plugins/auth-basic) is a simple authentication scheme built into the HTTP protocol that involves sending a request to a server with a user's credentials in the form of a username and password. The credentials are encoded in base64 and included in the Authorization header of the request. + +:::note +The _NestJS Auth Provider_ plugin must also be installed to use the Passport Basic Authentication plugin. +::: ### Prettier -[Prettier](https://prettier.io/) is an opinionated code formatter that automatically formats your code to ensure adherence to a consistent style. Code is automatically formatted every time it is committed. \ No newline at end of file +[Prettier](https://github.com/amplication/plugins/tree/master/plugins/formatter-prettier) is an opinionated code formatter that automatically formats your code to ensure adherence to a consistent style. Code is automatically formatted every time it is committed. + +### ESLint + +[ESLint](https://github.com/amplication/plugins/tree/master/plugins/linter-eslint) is a library that helps find issues and enforce code style in your JavaScript code. +ESLint has a wide array of rules that can be configured to enforce code quality and consistency. + +### Redis + +[Redis](https://github.com/amplication/plugins/tree/master/plugins/cache-redis) is an open-source, in-memory data store that can be used as a database, cache, streaming engine, and message broker. +Redis provides high availability via replication and high performance via caching. +It is commonly used to quickly access frequently used application data. + +### Redis Message Broker + +[Redis Message Broker](https://github.com/amplication/plugins/tree/master/plugins/broker-redis) is an extension of the traditional Redis in-memory data store, allowing it to function as a message broker. +Install this plugin to leverage Redis's in-memory capabilities and enables asynchronous message communication between different parts of an application or between different applications. + +### OpenAI + +The [OpenAI](https://github.com/amplication/plugins/tree/master/plugins/integration-openai) plugin allows you to integrate OpenAI's various AI models into your Amplication app. +This gives you access to models like GPT-3, DALLE-E 2, and Codex right from your Amplication app. + +### GitHub Actions + +Simplify CI/CD for your service with the [GitHub Actions](https://github.com/amplication/plugins/tree/master/plugins/ci-github-actions) plugin. +You can create workflows to build and test your service. +It also supports containerization of your service. + +### Helm Chart + +Package and deploy your app on Kubernetes using Amplication's [Helm Chart](https://github.com/amplication/plugins/tree/master/plugins/deployment-helm-chart) plugin. +This plugin generates a customizable Helm chart for installing and managing your app on Kubernetes clusters. + +### OpenTelemetry + +[OpenTelemetry](https://github.com/amplication/plugins/tree/master/plugins/observability-opentelemetry) is an observability framework that lets you monitor the health and performance of your application. +This plugin lets you integrate with OpenTelemetry allowing you to gain deeper insights into your application's operations and to troubleshoot potential issues more efficiently. + +### Swagger ApiBody + +Add NestJS Api Swagger decorator to your service. + +The OpenAPI specification is a language-agnostic definition format used to describe RESTful APIs. [Nest provides a dedicated module](https://docs.nestjs.com/openapi/introduction) which allows generating such a specification by leveraging decorators. + +This plugin will specifically allow you to specify the structure of the request payload for create (POST) and update (PUT/PATCH) actions. \ No newline at end of file diff --git a/docs/getting-started/plugins.md b/docs/getting-started/plugins.md index 1863c3b9..53a1894a 100644 --- a/docs/getting-started/plugins.md +++ b/docs/getting-started/plugins.md @@ -7,14 +7,18 @@ pagination_next: plugins/overview pagination_prev: getting-started/community-plugins --- -Plugins are custom code that extend the functionality of your generated application. +Amplication uses _Plugins_ to extend the functionality of your generated code. -Amplication includes [community plugins](/plugins-list) by default. To add more functionality, you can [develop your own plugins](/plugins/overview), or can use plugins developed by the community, as they become available. +Some plugins can be enabled when you first create your service. +For example, if you choose MySQL as your database, the _MySQL DB_ plugin will be enabled. +If you choose to turn on authentication for your service, that will enable the _NestJS Auth Module_ plugin. -All the official plugins are available on the _All Plugins_ screen in the Amplication dashboard. -Your installed plugins for a particular service are shown on the _Installed Plugins_ screen. +All community plugins published by Amplication are available on the _All Plugins_ page. +Your installed plugins are shown on the _Installed Plugins_ page. +Plugins can be manually enabled or disabled on either of these pages. +The source code of all community Amplication plugins are [available on GitHub](https://github.com/amplication/plugins). -This guide will teach you how to install a plugin, manage plugin versions, and access the plugins list. +Besides the community plugins created by the Amplication team, you can [develop your own custom plugins](/plugins/overview/). ## How To Install A Plugin @@ -28,28 +32,51 @@ This guide will teach you how to install a plugin, manage plugin versions, and a 3. To see the plugin on gitHub, select **View on GitHub**. -## Access the Official Plugins List +## Community Plugins List You can view all official plugins on the _All Plugins_ page. They're also available on the [Official Plugins](/plugins-list) page here on the Amplication documentation. -## Order of Plugin Execution +## Viewing Open-Source Plugin Code -The plugins are executed when Amplication generates code, according to their order on the *Installed Plugins* page. +All Amplication plugins are open-source and available on GitHub. +You can find the plugin source code for each individual plugin in Amplication's [`plugins`](https://github.com/amplication/amplication-plugins) repository. +## How To Install A Plugin + +To install a plugin: + +1. In the _All Plugins_ page, click **Install** for the required plugin. + +![](./assets/all-plugins.png) + +2. This will turn on the plugin's toggle into its _on_ state. + +3. Go to the _Installed Plugins_ page. The installed plugins are listed. + +4. To see the plugin's code on GitHub, select **View on GitHub**. + +## How To Uninstall A Plugin + +To uninstall, or deactivate, a plugin, click the toggle switch into its _off_ state. + +## How To Modify Plugin Execution Order + +The plugins are executed when Amplication generates code, according to their order on the *Installed Plugins* page. + +:::tip If a plugin execution is a prerequisite for another plugin, it must be located earlier in the list. +::: - To change the order of the installed plugins, click the up or down arrow to the right of the plugin bar. -- To activate or deactivate the plugin, click the toggle switch. -## How To Manage Plugin Versions +![](./assets/installed-plugins.png) -Amplication plugin developers may release several versions of a plugin over time. By default, the latest version will be available when installing the plugin. +## How To Change a Plugin's Version +Amplication plugin developers may release several versions of a plugin over time. Sometimes, you might need to generate a project with an earlier version of the plugin, to ensure compatibility. -### Changing the Plugin Version - By default, the latest version of the plugin will be available in the list of plugins. 1. To change the installed version of a plugin, in the **All Plugins** page, click the **Settings** icon. @@ -66,8 +93,8 @@ By default, the latest version of the plugin will be available in the list of pl Each version of the Plugin has its own settings, so when you replace the version you also replace its settings. ::: -## How To Develop Custom Plugins +## How To Develop a Custom Plugin To add more functionality, you can develop your own plugins, or can use plugins developed by the community, as they become available. -See [Plugin Development Overview](/plugins/overview/) for more information. +See [Plugin Development Overview](/plugins/overview/) for more information. From 306045a4dc41ad3b41fd1a6590e6c10e16f1d249 Mon Sep 17 00:00:00 2001 From: Derick Sozo Date: Fri, 3 Nov 2023 17:36:16 +0700 Subject: [PATCH 4/5] (docs): Changing the wording from official plugins to community plugins. --- docs/getting-started/plugins.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/getting-started/plugins.md b/docs/getting-started/plugins.md index 53a1894a..b8a365ed 100644 --- a/docs/getting-started/plugins.md +++ b/docs/getting-started/plugins.md @@ -34,8 +34,8 @@ Besides the community plugins created by the Amplication team, you can [develop ## Community Plugins List -You can view all official plugins on the _All Plugins_ page. -They're also available on the [Official Plugins](/plugins-list) page here on the Amplication documentation. +You can view all community plugins on the _All Plugins_ page. +They're also available on the [Community Plugins](/plugins-list) page here on the Amplication documentation. ## Viewing Open-Source Plugin Code From 0bf6796dae4278cd7ef0b31ae058889b2964b7a0 Mon Sep 17 00:00:00 2001 From: Derick Sozo Date: Fri, 3 Nov 2023 17:38:02 +0700 Subject: [PATCH 5/5] (docs): Fixing the cspell errors. --- docs/dictionary/en-custom.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/dictionary/en-custom.txt b/docs/dictionary/en-custom.txt index b8225718..d4d18add 100644 --- a/docs/dictionary/en-custom.txt +++ b/docs/dictionary/en-custom.txt @@ -91,3 +91,4 @@ autoincrement Baselining configmap kubeconfig +DALLE