This is an automated email from the ASF dual-hosted git repository.

leonbao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 4b46fae  Move SPI from doc to development (#459)
4b46fae is described below

commit 4b46fae83d4e3d42cb1d0f1511b8c83a2163210b
Author: Jiajie Zhong <[email protected]>
AuthorDate: Fri Oct 22 11:34:14 2021 +0800

    Move SPI from doc to development (#459)
---
 .../en-us/{ => backend}/backend-development.md     |   0
 .../en-us/backend/spi/alert.md                     | 208 ++++++++++-----------
 .../spi/plugin.md}                                 |   0
 .../en-us/backend/spi/registry.md                  |   0
 .../zh-cn/{ => backend}/backend-development.md     |   0
 .../zh-cn/backend/spi/alert.md                     |   0
 .../spi/plugin.md}                                 |   0
 .../zh-cn/backend/spi/registry.md                  |   0
 .../zh-cn/backend/spi/task.md                      |   0
 site_config/development.js                         |  66 ++++++-
 site_config/docsdev.js                             |  20 --
 11 files changed, 160 insertions(+), 134 deletions(-)

diff --git a/development/en-us/backend-development.md 
b/development/en-us/backend/backend-development.md
similarity index 100%
rename from development/en-us/backend-development.md
rename to development/en-us/backend/backend-development.md
diff --git a/docs/en-us/dev/user_doc/alert_spi.md 
b/development/en-us/backend/spi/alert.md
similarity index 98%
rename from docs/en-us/dev/user_doc/alert_spi.md
rename to development/en-us/backend/spi/alert.md
index 0e3b5c4..9957be5 100644
--- a/docs/en-us/dev/user_doc/alert_spi.md
+++ b/development/en-us/backend/spi/alert.md
@@ -1,104 +1,104 @@
-### DolphinScheduler Alert SPI main design
-
-#### DolphinScheduler SPI Design
-
-The architecture of microkernel & plug-in of DolphinScheduler is changing. All 
core capabilities such as tasks, resource storage, registry, etc. will be 
designed to be extensions, and we want to improve the flexibility as well as 
the friendliness (extensibility) of DolphinScheduler itself through SPI.
-
-You can read the relevant code under the dolphinscheduler-spi module as a 
reference. The extended interface of the associated plug-in is under the 
module, and when we need to implement the relevant function plug-in, it is 
recommended to read this code block first. Of course, you are welcomed to read 
the documentation, which will save a lot less time. However, the documentation 
has a certain lag and when it is missing, it is suggested to take the source 
code as the reference (If you are i [...]
-
-When you need to extend, you actually only need to focus on the extension 
interface. For example, for the alert service you only need to focus on the 
AlertChannelFactory and the AlertChannel. The underlying logic is already 
implemented by DolphinScheduler, which makes our development much more focused 
and simpler.
-
-By the way, we use an excellent front-end component, form-create, which 
supports the generation of front-end ui components based on json. If plugin 
development involves a front-end, we will use json to generate the relevant 
front-end UI components. The parameters of the plugin are wrapped in 
org.apache.dolphinscheduler.spi.params, which converts all the relevant 
parameters into json, meaning that you can draw the front-end components 
(mainly forms here, we only care about the data of fro [...]
-
-This article focuses on the design and development of Alert alerts.
-
-#### Main Modules
-
-If you don't care about its internal design, and just want to know how to 
develop your own alarm plugin, you can skip this section.
-
-* dolphinscheduler-spi
-
-     This module is the core SPI module and provides the basic SPI relevant 
behaviour, where dolphinschedulerplugin is the plugin top-layer interface, all 
DolphinsCheduler's plugins must implement the interface, and the module also 
provides some universal tool classes (if you can detach it again Some will 
something will be better? For example, the UI, we currently use the parameter 
part) and some UI related basic information.
-
-* dolphinscheduler-alert
-
-     In this module, we have implemented the load of the associated plugin 
when the Alert-Server starts. Alert provides a variety of plug-in configuration 
methods that can be enabled by simple configurations after you have done the 
development. The configuration file is located at 
dolphinscheduler-alert/src/main/resources/alert.properties .
-
-     It provides two methods of configuration.
-
-     1: Configure the jar directory specified by the plugin, eg: 
alert.plugin.dir=/root/dolphinscheduler/lib/plugin/alert . When alert-server 
starts, it will load the jar of the relevant plugin from the specified 
directory.
-
-     2: IDE development mode
-
-     You can use this configuration when you are in the debugging phase of 
development, see 
[dolphinscheduler-maven-plugin](https://github.com/apache/incubator-dolphinscheduler-maven-plugin)
 for design principles.
-
-     
-
- * Packaging plugins
-
- We use provisio, an excellent packaging tool, for packaging plugins. Please 
add it to dolphinscheduler-dist/src/main/provisio/dolphinscheduler.xml, and it 
will package plugins to the specified directory when processed.
-
-
-
-#### Alert SPI Main class information.
-
-AlertChannelFactory
-All alert plugins need to implement this interface. The interface is used to 
define the name of the alert plugin and the required parameters.
-
-AlertChannel
-The interface of the alarm plug-in. The alarm plugin needs to implement the 
interface. It only has one method process. The upper alarm system calls the 
method and gets the return information of the alert by the AlertResult returned 
by this method.
-
-AlertData
-Alert content information. It includes id, title, content and log. 
-
-AlertInfo
-Alarm-related information. When the upper system calls the alarm plug-in 
instance, the instance of this class is incorporated into the specific alarm 
plugin through the Process method. It contains the parameter information filled 
in the front end of the alarm content AlertData and the called alarm plugin 
instance.
-
-AlertResult
-The alert plugin sends an alert return message.
-
-org.apache.dolphinscheduler.spi.params 
-This package contains the plug-in parameter definitions. We use alpacajs, a 
front-end library http://www.form-create.com, which dynamically generates the 
front-end ui based on the parameter list json returned by the plug-in 
definition, so we don't need to care about the front-end when doing SPI plug-in 
development.
-
-Inside this package we currently only wrap RadioParam, TextParam and 
PasswordParam, which are used to define parameters of text, radio and password 
respectively.
-
-AbsPluginParams 
-
-This class is the base class for all parameters and is inherited by the 
RadioParam classes. Each DS alert plugin returns a list of AbsPluginParams in 
the AlertChannelFactory implementation.
-
-The specific design of alert_spi can be found in issue: [Alert Plugin 
Design](https://github.com/apache/incubator-dolphinscheduler/issues/3049)
-
-#### Alert SPI built-in implementation
-
-* Email
-
-     Email alert notification
-
-* DingTalk
-
-     Alert for DingTalk group chat bots
-
-* EnterpriseWeChat
-
-     EnterpriseWeChat alert notifications
-
-     Related parameter configuration can refer to the EnterpriseWeChat robot 
document.
-
-* Script
-
-     We have implemented a shell script for alerting. We will pass the 
relevant alert parameters to the script and you can implement your alert logic 
in the shell. This is a good way to interface with internal alerting 
applications.
-
-* SMS
-
-     SMS alerts
-
-#### Alarm Custom Plugin Development
-
-In fact, it's very easy to implement a plugin by yourself, you only need to 
care about the plugin extension interface. In Alert you only need to care about 
the AlertChannelFactory and AlertChannel. We would recommend that you follow 
the design specifications of other built-in plugins so that when your idea is 
good enough, you can donate it to the community without having to change it too 
much.
-
-When you have finished developing the relevant code, configure the relevant 
plug-ins in alert.properties (or just configure a plug-in directory and it will 
load all the plug-ins in that directory).
-
-
-Then, you can happily start using your own plugins.
-
-In fact, custom plug-in development is as easy as we described, and not as 
difficult as you imagined.
+### DolphinScheduler Alert SPI main design
+
+#### DolphinScheduler SPI Design
+
+The architecture of microkernel & plug-in of DolphinScheduler is changing. All 
core capabilities such as tasks, resource storage, registry, etc. will be 
designed to be extensions, and we want to improve the flexibility as well as 
the friendliness (extensibility) of DolphinScheduler itself through SPI.
+
+You can read the relevant code under the dolphinscheduler-spi module as a 
reference. The extended interface of the associated plug-in is under the 
module, and when we need to implement the relevant function plug-in, it is 
recommended to read this code block first. Of course, you are welcomed to read 
the documentation, which will save a lot less time. However, the documentation 
has a certain lag and when it is missing, it is suggested to take the source 
code as the reference (If you are i [...]
+
+When you need to extend, you actually only need to focus on the extension 
interface. For example, for the alert service you only need to focus on the 
AlertChannelFactory and the AlertChannel. The underlying logic is already 
implemented by DolphinScheduler, which makes our development much more focused 
and simpler.
+
+By the way, we use an excellent front-end component, form-create, which 
supports the generation of front-end ui components based on json. If plugin 
development involves a front-end, we will use json to generate the relevant 
front-end UI components. The parameters of the plugin are wrapped in 
org.apache.dolphinscheduler.spi.params, which converts all the relevant 
parameters into json, meaning that you can draw the front-end components 
(mainly forms here, we only care about the data of fro [...]
+
+This article focuses on the design and development of Alert alerts.
+
+#### Main Modules
+
+If you don't care about its internal design, and just want to know how to 
develop your own alarm plugin, you can skip this section.
+
+* dolphinscheduler-spi
+
+     This module is the core SPI module and provides the basic SPI relevant 
behaviour, where dolphinschedulerplugin is the plugin top-layer interface, all 
DolphinsCheduler's plugins must implement the interface, and the module also 
provides some universal tool classes (if you can detach it again Some will 
something will be better? For example, the UI, we currently use the parameter 
part) and some UI related basic information.
+
+* dolphinscheduler-alert
+
+     In this module, we have implemented the load of the associated plugin 
when the Alert-Server starts. Alert provides a variety of plug-in configuration 
methods that can be enabled by simple configurations after you have done the 
development. The configuration file is located at 
dolphinscheduler-alert/src/main/resources/alert.properties .
+
+     It provides two methods of configuration.
+
+     1: Configure the jar directory specified by the plugin, eg: 
alert.plugin.dir=/root/dolphinscheduler/lib/plugin/alert . When alert-server 
starts, it will load the jar of the relevant plugin from the specified 
directory.
+
+     2: IDE development mode
+
+     You can use this configuration when you are in the debugging phase of 
development, see 
[dolphinscheduler-maven-plugin](https://github.com/apache/incubator-dolphinscheduler-maven-plugin)
 for design principles.
+
+     
+
+ * Packaging plugins
+
+ We use provisio, an excellent packaging tool, for packaging plugins. Please 
add it to dolphinscheduler-dist/src/main/provisio/dolphinscheduler.xml, and it 
will package plugins to the specified directory when processed.
+
+
+
+#### Alert SPI Main class information.
+
+AlertChannelFactory
+All alert plugins need to implement this interface. The interface is used to 
define the name of the alert plugin and the required parameters.
+
+AlertChannel
+The interface of the alarm plug-in. The alarm plugin needs to implement the 
interface. It only has one method process. The upper alarm system calls the 
method and gets the return information of the alert by the AlertResult returned 
by this method.
+
+AlertData
+Alert content information. It includes id, title, content and log. 
+
+AlertInfo
+Alarm-related information. When the upper system calls the alarm plug-in 
instance, the instance of this class is incorporated into the specific alarm 
plugin through the Process method. It contains the parameter information filled 
in the front end of the alarm content AlertData and the called alarm plugin 
instance.
+
+AlertResult
+The alert plugin sends an alert return message.
+
+org.apache.dolphinscheduler.spi.params 
+This package contains the plug-in parameter definitions. We use alpacajs, a 
front-end library http://www.form-create.com, which dynamically generates the 
front-end ui based on the parameter list json returned by the plug-in 
definition, so we don't need to care about the front-end when doing SPI plug-in 
development.
+
+Inside this package we currently only wrap RadioParam, TextParam and 
PasswordParam, which are used to define parameters of text, radio and password 
respectively.
+
+AbsPluginParams 
+
+This class is the base class for all parameters and is inherited by the 
RadioParam classes. Each DS alert plugin returns a list of AbsPluginParams in 
the AlertChannelFactory implementation.
+
+The specific design of alert_spi can be found in issue: [Alert Plugin 
Design](https://github.com/apache/incubator-dolphinscheduler/issues/3049)
+
+#### Alert SPI built-in implementation
+
+* Email
+
+     Email alert notification
+
+* DingTalk
+
+     Alert for DingTalk group chat bots
+
+* EnterpriseWeChat
+
+     EnterpriseWeChat alert notifications
+
+     Related parameter configuration can refer to the EnterpriseWeChat robot 
document.
+
+* Script
+
+     We have implemented a shell script for alerting. We will pass the 
relevant alert parameters to the script and you can implement your alert logic 
in the shell. This is a good way to interface with internal alerting 
applications.
+
+* SMS
+
+     SMS alerts
+
+#### Alarm Custom Plugin Development
+
+In fact, it's very easy to implement a plugin by yourself, you only need to 
care about the plugin extension interface. In Alert you only need to care about 
the AlertChannelFactory and AlertChannel. We would recommend that you follow 
the design specifications of other built-in plugins so that when your idea is 
good enough, you can donate it to the community without having to change it too 
much.
+
+When you have finished developing the relevant code, configure the relevant 
plug-ins in alert.properties (or just configure a plug-in directory and it will 
load all the plug-ins in that directory).
+
+
+Then, you can happily start using your own plugins.
+
+In fact, custom plug-in development is as easy as we described, and not as 
difficult as you imagined.
diff --git a/development/en-us/plugin-development.md 
b/development/en-us/backend/spi/plugin.md
similarity index 100%
rename from development/en-us/plugin-development.md
rename to development/en-us/backend/spi/plugin.md
diff --git a/docs/en-us/dev/user_doc/registry_spi.md 
b/development/en-us/backend/spi/registry.md
similarity index 100%
rename from docs/en-us/dev/user_doc/registry_spi.md
rename to development/en-us/backend/spi/registry.md
diff --git a/development/zh-cn/backend-development.md 
b/development/zh-cn/backend/backend-development.md
similarity index 100%
rename from development/zh-cn/backend-development.md
rename to development/zh-cn/backend/backend-development.md
diff --git a/docs/zh-cn/dev/user_doc/alert_spi.md 
b/development/zh-cn/backend/spi/alert.md
similarity index 100%
rename from docs/zh-cn/dev/user_doc/alert_spi.md
rename to development/zh-cn/backend/spi/alert.md
diff --git a/development/zh-cn/plugin-development.md 
b/development/zh-cn/backend/spi/plugin.md
similarity index 100%
rename from development/zh-cn/plugin-development.md
rename to development/zh-cn/backend/spi/plugin.md
diff --git a/docs/zh-cn/dev/user_doc/registry_spi.md 
b/development/zh-cn/backend/spi/registry.md
similarity index 100%
rename from docs/zh-cn/dev/user_doc/registry_spi.md
rename to development/zh-cn/backend/spi/registry.md
diff --git a/docs/zh-cn/dev/user_doc/task_spi.md 
b/development/zh-cn/backend/spi/task.md
similarity index 100%
rename from docs/zh-cn/dev/user_doc/task_spi.md
rename to development/zh-cn/backend/spi/task.md
diff --git a/site_config/development.js b/site_config/development.js
index 9fa4692..d82d7cc 100644
--- a/site_config/development.js
+++ b/site_config/development.js
@@ -14,17 +14,40 @@ export default {
           },
           {
             title: 'Backend Development',
-            link: '/en-us/development/backend-development.html',
+            children: [
+              {
+                title: 'Overview',
+                link: '/en-us/development/back/backend-development.html',
+              },
+              // TODO not suppor multiply level for now
+              // {
+                // title: 'SPI',
+                // children: [
+                  {
+                    title: 'Plugin',
+                    link: '/en-us/development/backend/spi/plugin.html',
+                  },
+                  {
+                    title: 'Alert SPI',
+                    link: '/en-us/development/backend/spi/alert.html',
+                  },
+                  {
+                    title: 'Registry SPI',
+                    link: '/en-us/development/backend/spi/registry.html',
+                  },
+                  {
+                    title: 'Task SPI',
+                    link: '/en-us/development/backend/spi/task.html',
+                  },
+                // ],
+              // }
+            ],
           },
           {
             title: 'Frontend Development',
             link: '/en-us/development/frontend-development.html',
           },
           {
-            title: 'Plugin Development',
-            link: '/en-us/development/plugin-development.html',
-          },
-          {
             title: 'Questions & Communications',
             link: '/en-us/development/have-questions.html',
           },
@@ -48,17 +71,40 @@ export default {
           },
           {
             title: '后端开发',
-            link: '/zh-cn/development/backend-development.html',
+            children: [
+              {
+                title: '综述',
+                link: '/zh-cn/development/backend/backend-development.html',
+              },
+              // TODO not suppor multiply level for now
+              // {
+                // title: 'SPI相关',
+                // children: [
+                  {
+                    title: '插件开发',
+                    link: '/zh-cn/development/backend/spi/plugin.html',
+                  },
+                  {
+                    title: 'Alert SPI',
+                    link: '/zh-cn/development/backend/spi/alert.html',
+                  },
+                  {
+                    title: 'Registry SPI',
+                    link: '/zh-cn/development/backend/spi/registry.html',
+                  },
+                  {
+                    title: 'Task SPI',
+                    link: '/zh-cn/development/backend/spi/task.html',
+                  },
+                // ],
+              // },
+            ],
           },
           {
             title: '前端开发',
             link: '/zh-cn/development/frontend-development.html',
           },
           {
-            title: '插件开发',
-            link: '/zh-cn/development/plugin-development.html',
-          },
-          {
             title: '问题与交流',
             link: '/zh-cn/development/have-questions.html',
           },
diff --git a/site_config/docsdev.js b/site_config/docsdev.js
index b81dfd7..b0b1189 100644
--- a/site_config/docsdev.js
+++ b/site_config/docsdev.js
@@ -247,14 +247,6 @@ export default {
             link: '/en-us/docs/dev/user_doc/dev_quick_start.html',
           },
           {
-            title: 'Alert-SPI',
-            link: '/en-us/docs/dev/user_doc/alert_spi.html',
-          },
-          {
-            title: 'Registry-SPI',
-            link: '/en-us/docs/dev/user_doc/registry_spi.html',
-          },
-          {
             title: 'Global-Params',
             link: '/en-us/docs/dev/user_doc/globalParams.html',
           },
@@ -506,18 +498,6 @@ export default {
             link: '/zh-cn/docs/dev/user_doc/dev_quick_start.html',
           },
           {
-            title: 'Alert-SPI',
-            link: '/zh-cn/docs/dev/user_doc/alert_spi.html',
-          },
-          {
-            title: 'Registry-SPI',
-            link: '/zh-cn/docs/dev/user_doc/registry_spi.html',
-          },
-          {
-            title: 'Task-SPI',
-            link: '/zh-cn/docs/dev/user_doc/task_spi.html',
-          },
-          {
             title: 'Global-Params',
             link: '/zh-cn/docs/dev/user_doc/globalParams.html',
           },

Reply via email to