You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 6, 2025. It is now read-only.
Copy file name to clipboardExpand all lines: docs/concepts/event-driven-architecture.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -45,7 +45,7 @@ For a step-by-step guide on building an event-driven application with Amplicatio
45
45
46
46
## Step 1: Create a Message Broker
47
47
48
-
In your Amplication project, navigate to "Add Resource" and select "[Message Broker](/how-to/create-message-broker)". This will lead you to the Message Broker Creation Wizard.
48
+
In your Amplication project, navigate to "Add Resource" and select "[Message Broker](/guides/message-broker)". This will lead you to the Message Broker Creation Wizard.
49
49
50
50
After creating the message broker, you'll be able to configure the settings by installing and configuring the appropriate [message broker plugin](#supported-message-brokers).
Amplication uses _Plugins_ to extend the functionality of your generated service. These software additions allow developers to customize the default behavior of [Amplication's code generation process](/plugins/plugin-architecture/), providing hooks into various stages of service creation.
12
12
13
-
Amplication offers a wide range of community-created plugins that are open-source and available on GitHub. You also have the flexibility to develop your own [custom plugins](/plugins/overview/) so you can tailor your generated service to meet your exact requirements.
13
+
Amplication offers a wide range of community plugins that are open-source and available on GitHub.
14
+
You can also [develop your own private plugins](/private-plugins/) and [community plugins](/plugins/overview/) to extend Amplication's functionality and have it meet your exact requirements.
14
15
15
16
You can enable certain plugins when you first create your service.
16
17
For example, if you choose MySQL as your database, the _MySQL DB_ plugin will be enabled.
Copy file name to clipboardExpand all lines: docs/plugins/developing-a-plugin.md
+4-5
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,13 @@
1
1
---
2
2
id: how-to-create-plugin
3
-
title: How to Create a Custom Plugin
4
-
sidebar_label: How to Create a Custom Plugin
3
+
title: How to Develop a Plugin
4
+
sidebar_label: Develop a Plugin
5
5
slug: /plugins/how-to-create-plugin
6
6
---
7
7
8
-
Amplication includes several plugins - some allow you to choose an authentication strategy, some allow you to choose which database you want to integrate with and one allows you to connect your service to a message broker.
8
+
### Pre-requisites
9
9
10
-
### Planning and POC:
11
-
Before any development of a plugin, we take the following steps:
10
+
Before the development of a plugin, take the following steps:
Copy file name to clipboardExpand all lines: docs/plugins/event-hierarchy.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
2
id: event-hierarchy
3
-
title: Event Hierarchy
4
-
sidebar_label: Event Hierarchy
3
+
title: Plugin Event Hierarchy
4
+
sidebar_label: Plugin Event Hierarchy
5
5
slug: /plugins/event-hierarchy
6
6
---
7
7
8
-
# Event Hierarchy
8
+
# Plugin Event Hierarchy
9
9
10
10
We have two main event hierarchies in our Data Service Generator (DSG) service: one for Node.js services and one for .NET services. Each of these hierarchies includes events to create the server's files and, in the case of Node.js, the admin-ui files.
Copy file name to clipboardExpand all lines: docs/plugins/plugin-architecture.md
+12-3
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
id: plugin-architecture
3
-
title: Plugin Architecture Overview
4
-
sidebar_label: Custom Plugin Architecture
3
+
title: Plugin Architecture
4
+
sidebar_label: Plugin Architecture
5
5
slug: /plugins/plugin-architecture
6
6
---
7
7
@@ -15,7 +15,16 @@ The `pluginWrapper` function is invoked with the following arguments:
15
15
-**event** - the name of event we want to capture, and change something in the triggered process.
16
16
-**args** - the original parameters of the DSG function. These are likely to be used as the parameters of the event, for the plugin developer to have access to these params and manipulate the returned value of the function.
17
17
18
-
For the purpose of this architecture overview, remember that every event has before and after property (which is a function), representing the event's lifecycle in which you can intervene (before the emission of the event and after the emission of the event). For more information about `before` and `after` event see [Before and After Lifecycle Functions](docs\plugins\before-after.md)
18
+
## Event Lifecycle
19
+
20
+
Each plugin event supports two execution points:
21
+
22
+
-`before`: Executes before the main event processing
23
+
-`after`: Executes after the main event processing
24
+
25
+
These lifecycle hooks allow precise control over the code generation process.
26
+
27
+
For more information about `before` and `after` event see [Before and After Lifecycle Functions](docs\plugins\before-after.md)
19
28
20
29
When the `pluginWrapper` function is invoked, it checks whether the event argument that was passed has a `before` or `after` property. If so, it invokes other functions that are responsible for calculating the final behavior when this event is emitted, or in other words, the outcome of the function that this event is responsible to execute.
A plugin is a custom code that extends Amplication developer platform with new features. The features incorporated can be generic, useful to a wide variety of users, or can be very specific to deal with specialized requirements.
12
+
A plugin is code that extends the Amplication developer platform by adding new features or modifying existing functionality.
13
+
The features incorporated can be generic, useful to a wide variety of users, or can be very specific to deal with specialized requirements.
13
14
14
15
If you or your organization have a specific workflow, install an existing plugin or write one to customize the platform to perform your required tasks.
Copy file name to clipboardExpand all lines: docs/plugins/private-plugins.md
+2-1
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,11 @@
1
1
---
2
2
id: private-plugins
3
+
sidebar_label: Private Plugins
3
4
slug: /private-plugins
4
5
toc_max_heading_level: 2
5
6
---
6
7
7
-
# Creating and Using Private Plugins
8
+
# Private Plugins
8
9
9
10
Private Plugins enable you to create plugins exclusively for your organization's use.
10
11
These plugins let you build secure, proprietary integrations and define your organization's standards. You can use them to protect sensitive business logic and enforce development best practices across your services.
Copy file name to clipboardExpand all lines: docs/plugins/publish-your-plugin.md
+6-2
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,15 @@
1
1
---
2
2
id: publish-plugin
3
-
title: How To Publish a Custom Plugin
4
-
sidebar_label: How To Publish a Custom Plugin
3
+
title: How To Publish a Plugin
4
+
sidebar_label: Publish a Plugin
5
5
description: Learn how to publish your Amplication plugin.
6
6
slug: /plugins/publish-plugin
7
7
---
8
8
9
+
:::info
10
+
These steps are for publishing a publicly available [community plugin](/getting-started/plugins/). For information on releasing private plugins, see the [Private Plugins](/private-plugins/) page.
11
+
:::
12
+
9
13
Step 1. Create the Plugin
10
14
11
15
Step 2. Publish the Plugin in NPM. For details, see [NPM documentation](https://docs.npmjs.com/cli/v6/commands/npm-publish)
0 commit comments