This repository was archived by the owner on Feb 6, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 60
Docs: Private Plugins (Dev Versions) #554
Open
dericksozo
wants to merge
2
commits into
main
Choose a base branch
from
docs/private-plugins-updates
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
-196 KB
(27%)
docs/plugins/assets/private-plugins/configure-git-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -43,17 +43,6 @@ Never use the same repository for private plugins and generated services to avoi | |
|
||
 | ||
|
||
## Add a New Private Plugin | ||
|
||
Next, add a new private plugin to your Platform Console: | ||
|
||
1. In the Private Plugins tab's sidebar, click the `Add Private Plugin` field | ||
2. Enter a unique name using kebab-case (e.g., `acme-corp-authentication`) | ||
3. Set the plugin's **Display Name** and **Description** - these will appear in the UI when selecting plugins | ||
4. Choose the appropriate code generator (Node.js or .NET) that matches your target services | ||
|
||
 | ||
|
||
## Set Up Your Private Plugin Folder | ||
|
||
After creating the plugin entry in the Platform Console, set up your development environment. | ||
|
@@ -122,54 +111,72 @@ Follow the steps below to complete this process: | |
mv plugins/dotnet-db-postgres your-plugin-id | ||
``` | ||
|
||
## Develop Your Plugin | ||
## Add a New Private Plugin | ||
|
||
Now that your plugin structure is set up, it's time to start building your plugin. | ||
We've prepared several resources and reference materials to help guide your plugin development process. | ||
Next, add a new private plugin to your Platform Console: | ||
|
||
Core Documentation: | ||
1. In the Private Plugins tab's sidebar, click the `Add Private Plugin` field | ||
2. A modal appears that scans your connected Git repository for private plugins | ||
3. Select your plugin from the list of found plugins | ||
|
||
- [Private Plugins Overview](https://docs.amplication.com/plugins/overview/) | ||
- [.NET Plugin Events Reference Guide](https://docs.amplication.com/plugins/dotnet-plugin-events/create-server/) | ||
- [Node.js Plugin Events Reference Guide](https://docs.amplication.com/plugins/plugin-events/create-server/) | ||
:::note | ||
Only plugins that are properly structured within the `plugins` folder of your connected Git repository will be detected. | ||
::: | ||
|
||
Community Plugin Examples: | ||
 | ||
|
||
- Browse the [official plugins repository](https://github.com/amplication/plugins/tree/master/plugins) for real-world examples | ||
## Configure Your Plugin | ||
|
||
:::note | ||
Study the published Node.js and .NET community plugins for best practices and guidance on how to structure your code effectively. | ||
After adding your plugin, you'll need to configure its settings: | ||
|
||
1. **Plugin ID**: Automatically set based on your plugin's folder name in the Git repository. This can only be modified by renaming the folder and re-adding the plugin. | ||
2. **Display Name**: The human-readable name for your plugin that appears in the UI. By default, it matches the Plugin ID but can be customized for better clarity. | ||
3. **Icon**: Choose from a variety of technology-specific icons to help visually identify your plugin. You can also customize the icon's color to match your categorization system. | ||
4. **Code Generator**: Select the appropriate code generator for your plugin: | ||
- Node.js | ||
- .NET | ||
- Blueprints (for custom blueprint solutions) | ||
5. **Blueprint Compatibility**: Optionally restrict your plugin to work with specific blueprints by selecting them from the dropdown menu. | ||
6. **Description**: Provide a detailed description of your plugin's purpose. A detailed description helps developers quickly understand and choose the right plugin for their needs. | ||
|
||
:::tip | ||
A meaningful display name, icon, and description will help developers quickly identify and understand your plugin's purpose when browsing the plugin list in services and templates. | ||
::: | ||
|
||
## Add Versions to Your Plugin | ||
 | ||
|
||
After developing your plugin, you'll need to version it both in Amplication and your Git repository. | ||
First, let's add a version through the Amplication UI: | ||
## Develop Your Plugin | ||
|
||
1. Navigate to the Private Plugins tab and select your plugin | ||
2. Scroll to **Add New Version** and click `Add Version` | ||
3. Note the version number you assign (e.g., `0.1.0`) | ||
Now that your plugin structure is set up, it's time to start building your plugin. | ||
|
||
 | ||
First, enable dev versions by toggling the `Enable Dev Version` into the on state. | ||
|
||
## Tag Your Git Repository | ||
 | ||
|
||
Next, let's add a git tag to your plugin. | ||
Amplication uses Git tags to identify plugin versions during code generation. | ||
Dev Versions streamline the plugin development process by automatically using the latest code from your repository's base branch. | ||
This eliminates the need to publish new versions during development and testing. | ||
|
||
Create a tag with your Plugin ID and version from the previous step: | ||
Dev Versions makes the development process much smoother. | ||
The plugin code will be pulled from the base branch set at the Git Settings. | ||
The new changes in your plugin folder are immediately available for testing. | ||
|
||
```bash | ||
git tag "[email protected]" | ||
``` | ||
Next, we've prepared several resources and reference materials to help guide your plugin development process. | ||
|
||
Push the tag to your remote repository: | ||
Core Documentation: | ||
|
||
```bash | ||
git push origin "[email protected]" | ||
``` | ||
- [Private Plugins Overview](https://docs.amplication.com/plugins/overview/) | ||
- [.NET Plugin Events Reference Guide](https://docs.amplication.com/plugins/dotnet-plugin-events/create-server/) | ||
- [Node.js Plugin Events Reference Guide](https://docs.amplication.com/plugins/plugin-events/create-server/) | ||
|
||
Community Plugin Examples: | ||
|
||
## Configure Plugin Settings | ||
- Browse the [official plugins repository](https://github.com/amplication/plugins/tree/master/plugins) for real-world examples | ||
|
||
:::note | ||
Study the published Node.js and .NET community plugins for best practices and guidance on how to structure your code effectively. | ||
::: | ||
|
||
### Add Plugin Settings | ||
|
||
Plugin settings allow you to define customizable options that users can configure when using your plugin. These settings can include API keys, feature flags, or other configuration values that modify your plugin's behavior. | ||
|
||
|
@@ -196,7 +203,45 @@ For a real-world example of using settings in your plugin, see the [Supertokens | |
|
||
## Publish Your Plugin | ||
|
||
After adding a version to your plugin, configuring your plugin settings, and tagging your repository, it's time to publish your plugin. Publishing makes your plugin version available for use in services and templates, and sets it as the latest version. | ||
After developing your plugin it's time to get it for release. | ||
To do this, you'll need to add a version to your plugin, tag your repository, and finally publish it through the Amplication UI. | ||
|
||
Publishing makes your plugin version available for use in services and templates, and sets it as the latest version. | ||
|
||
### Add Versions to Your Plugin | ||
|
||
After developing your plugin and to get it ready for release, you'll need to version it in both Amplication and your Git repository. | ||
|
||
First, disable dev versions by toggling the `Enable Dev Version` into the off state. | ||
|
||
 | ||
|
||
Next, let's add a version through the Amplication UI: | ||
|
||
1. Navigate to the Private Plugins tab and select your plugin | ||
2. Scroll to **Add New Version** and click `Add Version` | ||
3. Note the version number you assign (e.g., `0.1.0`) | ||
|
||
 | ||
|
||
### Tag Your Git Repository | ||
|
||
Next, let's add a git tag to your plugin. | ||
Amplication uses Git tags to identify plugin versions during code generation. | ||
|
||
Create a tag with your Plugin ID and version from the previous step: | ||
|
||
```bash | ||
git tag "[email protected]" | ||
``` | ||
|
||
Push the tag to your remote repository: | ||
|
||
```bash | ||
git push origin "[email protected]" | ||
``` | ||
|
||
### Publish Your Plugin | ||
|
||
1. Go to your Platform Console | ||
2. Click on "Publish New Version" in your Platform Changes sidebar | ||
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "dev" version must be specifically selected in the plugin installation settings to use the dev version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@yuval-hazaz If I'm understanding you correctly, the plugin installation settings page, should have a setting to use the development version?
This page:

This is separate from the dev versions toggle that developers have to toggle on the plugin repository private plugin settings page?