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

github-bot pushed a commit to branch asf-site
in repository 
https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 0617cb3  Automated deployment: 877d6ba6a05ce518bd5e350e7e4050ba3be9e767
0617cb3 is described below

commit 0617cb3f5872bb3c4a41f30e620b8b191a27280a
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Jan 29 12:05:07 2021 +0000

    Automated deployment: 877d6ba6a05ce518bd5e350e7e4050ba3be9e767
---
 build/development.md.js                            |   2 +-
 en-us/development/architecture-design.html         |   2 +-
 en-us/development/backend-development.html         |   2 +-
 ...elopment.html => dev-frontend-development.html} | 148 ++++++++++++++++----
 en-us/development/dev-frontend-development.json    |   6 +
 .../development/development-environment-setup.html |   2 +-
 en-us/development/download.html                    |   2 +-
 en-us/development/frontend-development.html        |   2 +-
 en-us/development/plugin-development.html          |   2 +-
 zh-cn/development/architecture-design.html         |   2 +-
 zh-cn/development/backend-development.html         |   2 +-
 ...elopment.html => dev-frontend-development.html} | 152 +++++++++++++++++----
 zh-cn/development/dev-frontend-development.json    |   6 +
 .../development/development-environment-setup.html |   2 +-
 zh-cn/development/download.html                    |   2 +-
 zh-cn/development/frontend-development.html        |   2 +-
 zh-cn/development/plugin-development.html          |   2 +-
 17 files changed, 277 insertions(+), 61 deletions(-)

diff --git a/build/development.md.js b/build/development.md.js
index 247e73b..c462df4 100644
--- a/build/development.md.js
+++ b/build/development.md.js
@@ -166,4 +166,4 @@ var a="function"==typeof 
Symbol&&Symbol.for,i=a?Symbol.for("react.element"):6010
  * Copyright © 2012-2019 Faisal Salman <[email protected]>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 
0},trim:function(e){return 
e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var
 n,r,o,a,i,c,s=0;s<t.length&&!i;){var 
l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof
 a&&a.length>0?2==a.length?"function"==typeof 
a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof
 a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 
0},trim:function(e){return 
e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var
 n,r,o,a,i,c,s=0;s<t.length&&!i;){var 
l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!i;)if(i=l[n++].exec(e))for(o=0;o<u.length;o++)c=i[++r],a=u[o],"object"==typeof
 a&&a.length>0?2==a.length?"function"==typeof 
a[1]?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:3==a.length?"function"!=typeof
 a[1]||a[1].exec&&a[1].test?this[a [...]
\ No newline at end of file
diff --git a/en-us/development/architecture-design.html 
b/en-us/development/architecture-design.html
index a3bb39a..e180e1a 100644
--- a/en-us/development/architecture-design.html
+++ b/en-us/development/architecture-design.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
 <p>Before explaining the architecture of the schedule system, let us first 
understand the common nouns of the schedule system.</p>
 <h3>1.Noun Interpretation</h3>
 <p><strong>DAG:</strong> Full name Directed Acyclic Graph,referred to as 
DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, 
which are topologically traversed from nodes with zero indegrees of ingress 
until there are no successor nodes. For example, the following picture:</p>
diff --git a/en-us/development/backend-development.html 
b/en-us/development/backend-development.html
index 6d5d156..e186b1a 100644
--- a/en-us/development/backend-development.html
+++ b/en-us/development/backend-development.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
 <h2>Environmental requirements</h2>
 <ul>
 <li>MySQL (5.5+) :  Must be installed</li>
diff --git a/en-us/development/frontend-development.html 
b/en-us/development/dev-frontend-development.html
similarity index 85%
copy from en-us/development/frontend-development.html
copy to en-us/development/dev-frontend-development.html
index 08bf4b3..5f02ad7 100644
--- a/en-us/development/frontend-development.html
+++ b/en-us/development/dev-frontend-development.html
@@ -3,20 +3,22 @@
 <head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0, 
maximum-scale=1.0, user-scalable=no">
-  <meta name="keywords" content="frontend-development" />
-  <meta name="description" content="frontend-development" />
-  <title>frontend-development</title>
+  <meta name="keywords" content="dev-frontend-development" />
+  <meta name="description" content="dev-frontend-development" />
+  <title>dev-frontend-development</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
 <h3>Technical selection</h3>
 <pre><code>Vue mvvm framework
 
 Es6 ECMAScript 6.0
 
-Ans-ui Analysys-ui
+Element-ui
+
+form-create JSON form generator
 
 D3  Visual Library Chart Library
 
@@ -30,28 +32,20 @@ Lodash high performance JavaScript utility library
 <h4>Node installation</h4>
 </li>
 </ul>
-<p>Node package download (note version 8.9.4) 
<code>https://nodejs.org/download/release/v8.9.4/</code></p>
+<p>Node package download (Note: The node version must be a long-term version, 
currently the highest version of Node supports 14+) 
<code>https://nodejs.org/en/</code>
+Node.js extension, you can install nvm management node version, install nrm 
management mirror source</p>
 <ul>
 <li>
 <h4>Front-end project construction</h4>
 </li>
 </ul>
-<p>Use the command line mode <code>cd</code>  enter the 
<code>dolphinscheduler-ui</code> project directory and execute <code>npm 
install</code> to pull the project dependency package.</p>
-<blockquote>
-<p>If <code>npm install</code> is very slow</p>
-</blockquote>
-<blockquote>
-<p>You can enter the Taobao image command line to enter <code>npm install -g 
cnpm --registry=https://registry.npm.taobao.org</code></p>
-</blockquote>
-<blockquote>
-<p>Run <code>cnpm install</code></p>
-</blockquote>
+<p>Use the command line mode <code>cd</code> to enter the 
<code>dolphinscheduler-ui</code> project directory, check the usage status of 
the npm mirror source <code>npm get registry</code>, if it is not a Taobao 
mirror, set the mirror to Taobao mirror <code>npm config set registry 
http://registry.npm.taobao.org</code>, then execute <code>npm install</code> to 
pull project dependency packages</p>
 <ul>
-<li>Create a new <code>.env</code>  file or the interface that interacts with 
the backend</li>
+<li>Configure <code>.env</code> file for the interface to interact with the 
backend</li>
 </ul>
-<p>Create a new<code>.env</code> file in the 
<code>dolphinscheduler-ui</code>directory, add the ip address and port of the 
backend service to the file, and use it to interact with the backend. The 
contents of the<code>.env</code> file are as follows:</p>
+<p>Open the <code>.env</code> file in the <code>dolphinscheduler-ui</code> 
directory, and add the back-end service ip address and port to the file to 
interact with the back-end. The contents of the <code>.env</code> file are as 
follows:</p>
 <pre><code># Proxy interface address (modified by yourself)
-API_BASE = http://192.168.xx.xx:12345
+API_BASE = http://192.168.xx.xx:12345(Note: API interface must be written in 
the form of IP address, not http://localhost:12345)
 
 # If you need to access the project with ip, you can remove the &quot;#&quot; 
(example)
 #DEV_HOST = 192.168.xx.xx
@@ -109,8 +103,6 @@ API_BASE = http://192.168.xx.xx:12345
 <p><code>build</code> some webpack configurations for packaging and 
development environment projects</p>
 <p><code>node_modules</code> development environment node dependency 
package</p>
 <p><code>src</code> project required documents</p>
-<p><code>src =&gt; combo</code> project third-party resource localization 
<code>npm run combo</code> specific view <code>build/combo.js</code></p>
-<p><code>src =&gt; font</code> Font icon library can be added by visiting <a 
href="https://www.iconfont.cn";>https://www.iconfont.cn</a> Note: The font 
library uses its own secondary development to reintroduce its own library 
<code>src/sass/common/_font.scss</code></p>
 <p><code>src =&gt; images</code> public image storage</p>
 <p><code>src =&gt; js</code> js/vue</p>
 <p><code>src =&gt; lib</code> internal components of the company (company 
component library can be deleted after open source)</p>
@@ -135,6 +127,7 @@ API_BASE = http://192.168.xx.xx:12345
 <p>Home  =&gt; <code>http://localhost:8888/#/home</code></p>
 <p>Project Management =&gt; 
<code>http://localhost:8888/#/projects/list</code></p>
 <pre><code>| Project Home
+| Workflow relationship
 | Workflow
   - Workflow definition
   - Workflow instance
@@ -150,12 +143,23 @@ API_BASE = http://192.168.xx.xx:12345
 
 </code></pre>
 <p>Data Source Management =&gt; 
<code>http://localhost:8888/#/datasource/list</code></p>
+<p>monitoring Center =&gt; 
<code>http://localhost:8888/#/monitor/servers/master</code></p>
+<pre><code>| Service management
+  - Master
+  - Worker
+  - Zookeeper
+  - DB
+| Statistics management
+  - Statistics
+</code></pre>
 <p>Security Center =&gt; 
<code>http://localhost:8888/#/security/tenant</code></p>
 <pre><code>| Tenant Management
 | User Management
 | Alarm Group Management
-  - master
-  - worker
+| Alarm instance management
+| Worker Group Management
+| Yarn queue management
+| Token Management
 </code></pre>
 <p>User Center =&gt; <code>http://localhost:8888/#/user/account</code></p>
 <h2>Routing and state management</h2>
@@ -181,6 +185,103 @@ state =&gt; mapState =&gt; 
Details:https://vuex.vuejs.org/zh/guide/state.html
 Specific action:https://vuex.vuejs.org/zh/
 
 </code></pre>
+<h2>Menu added</h2>
+<p>The public menu only needs to be in 
<code>/src/js/conf/home/router/index.js</code> Just add it,Such as: Home</p>
+<pre><code>  {
+    path: '/home',
+    name: 'home',
+    component: resolve =&gt; require(['../pages/home/index'], resolve),
+    meta: {
+      title: `${i18n.$t('Home')} - DolphinScheduler`,
+      refresh_in_switched_tab: true
+    }
+  }
+</code></pre>
+<h2>Exception handling</h2>
+<p>Intercept all request requests in the <code>/src/js/module/io/index.js 
file</code>, and analyze and handle the status code returned by the interface 
through the response interceptor. The code is as follows</p>
+<pre><code>import io from '@/module/axios/index'
+import cookies from 'js-cookie'
+
+const apiPrefix = '/dolphinscheduler'
+const reSlashPrefix = /^\/+/
+
+const resolveURL = (url) =&gt; {
+  if (url.indexOf('http') !== -1) {
+    return url
+  }
+  if (url.charAt(0) !== '/') {
+    return `${apiPrefix}/${url.replace(reSlashPrefix, '')}`
+  }
+
+  return url
+}
+
+/**
+ * Resolve backend api url
+ */
+export { resolveURL }
+
+/**
+ * Set io default instance resolveUrl globally
+ */
+io.config.resolveURL = resolveURL
+io.config.timeout = 0
+io.config.maxContentLength = 200000
+io.config.validateStatus = function (status) {
+  if (status === 401 || status === 504) {
+    window.location.href = `${PUBLIC_PATH}/view/login/index.html`
+    return
+  }
+  return status
+}
+
+// io.config.emulateJSON = false
+const _propRequest = io.request
+
+// Add a local request interceptor
+io.request = (spec) =&gt; {
+  return _propRequest.call(io, spec)
+}
+
+// Global response interceptor registion
+io.interceptors.response.use(
+  response =&gt; {
+    return response
+  }, error =&gt; {
+    // Do something with response error
+    return Promise.reject(error)
+  }
+)
+
+// Global request interceptor registion
+io.interceptors.request.use(
+  config =&gt; {
+    const sIdCookie = cookies.get('sessionId')
+    const sessionId = sessionStorage.getItem('sessionId')
+    const requstUrl = config.url.substring(config.url.lastIndexOf('/') + 1)
+    if ((!sIdCookie || (sessionId &amp;&amp; sessionId !== sIdCookie)) 
&amp;&amp; requstUrl !== 'login') {
+      window.location.href = `${PUBLIC_PATH}/view/login/index.html`
+    } else {
+      const { method } = config
+      if (method === 'get') {
+        config.params = Object.assign({}, config.params, {
+          _t: Math.random()
+        })
+      }
+      config.headers = config.headers || {}
+      const language = cookies.get('language')
+      if (language) config.headers.language = language
+      if (sIdCookie) config.headers.sessionId = sIdCookie
+      return config
+    }
+  }, error =&gt; {
+    // Do something with request error
+    return Promise.reject(error)
+  }
+)
+
+export default io
+</code></pre>
 <h2>specification</h2>
 <h2>Vue specification</h2>
 <h5>1.Component name</h5>
@@ -431,6 +532,7 @@ Interface parameter transfer needs to be changed to the 
following way</p>
 <p>Data Source Center Related Interfaces  
<code>src/js/conf/home/store/datasource/actions.js</code></p>
 <p>Project Management Related Interfaces 
<code>src/js/conf/home/store/projects/actions.js</code></p>
 <p>Resource Center Related Interfaces 
<code>src/js/conf/home/store/resource/actions.js</code></p>
+<p>Monitoring center Related Interface 
<code>src/js/conf/home/store/monitor/actions.js</code></p>
 <p>Security Center Related Interfaces 
<code>src/js/conf/home/store/security/actions.js</code></p>
 <p>User Center Related Interfaces 
<code>src/js/conf/home/store/user/actions.js</code></p>
 <h2>Extended development</h2>
diff --git a/en-us/development/dev-frontend-development.json 
b/en-us/development/dev-frontend-development.json
new file mode 100644
index 0000000..46239ba
--- /dev/null
+++ b/en-us/development/dev-frontend-development.json
@@ -0,0 +1,6 @@
+{
+  "filename": "dev-frontend-development.md",
+  "__html": "<h1>Front-end development documentation</h1>\n<h3>Technical 
selection</h3>\n<pre><code>Vue mvvm framework\n\nEs6 ECMAScript 
6.0\n\nElement-ui\n\nform-create JSON form generator\n\nD3  Visual Library 
Chart Library\n\nJsplumb connection plugin library\n\nLodash high performance 
JavaScript utility library\n</code></pre>\n<h3>Development 
environment</h3>\n<ul>\n<li>\n<h4>Node installation</h4>\n</li>\n</ul>\n<p>Node 
package download (Note: The node version must be a long-term ve [...]
+  "link": "/dist/en-us/development/dev-frontend-development.html",
+  "meta": {}
+}
\ No newline at end of file
diff --git a/en-us/development/development-environment-setup.html 
b/en-us/development/development-environment-setup.html
index ccb30ad..386b171 100644
--- a/en-us/development/development-environment-setup.html
+++ b/en-us/development/development-environment-setup.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
 <ol>
 <li>
 <p>First, fork the <a 
href="https://github.com/apache/incubator-dolphinscheduler";>dolphinscheduler</a>
 code from the remote repository to your local repository.</p>
diff --git a/en-us/development/download.html b/en-us/development/download.html
index bdd87bc..3006621 100644
--- a/en-us/development/download.html
+++ b/en-us/development/download.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
 <p>Use the links below to download the Apache DolphinScheduler from one of our 
mirrors.</p>
 <p><strong>Only source code releases are official Apache releases: Windows and 
Linux binary distributions are just for end user convenience.</strong></p>
 <h2>DolphinScheduler</h2>
diff --git a/en-us/development/frontend-development.html 
b/en-us/development/frontend-development.html
index 08bf4b3..75ae686 100644
--- a/en-us/development/frontend-development.html
+++ b/en-us/development/frontend-development.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
 <h3>Technical selection</h3>
 <pre><code>Vue mvvm framework
 
diff --git a/en-us/development/plugin-development.html 
b/en-us/development/plugin-development.html
index cc2af3b..9f70b60 100644
--- a/en-us/development/plugin-development.html
+++ b/en-us/development/plugin-development.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/en-us/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">中</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackCl [...]
 <p>Remind:Currently, task plugin development does not support hot 
deployment.</p>
 <h3>Shell-based tasks</h3>
 <h4>YARN-based calculations (see MapReduceTask)</h4>
diff --git a/zh-cn/development/architecture-design.html 
b/zh-cn/development/architecture-design.html
index 3860d55..877746d 100644
--- a/zh-cn/development/architecture-design.html
+++ b/zh-cn/development/architecture-design.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
 <p>在对调度系统架构说明之前,我们先来认识一下调度系统常用的名词</p>
 <h3>1.名词解释</h3>
 <p><strong>DAG:</strong> 全称Directed Acyclic 
Graph,简称DAG。工作流中的Task任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。举例如下图:</p>
diff --git a/zh-cn/development/backend-development.html 
b/zh-cn/development/backend-development.html
index f17b43a..57ea5c4 100644
--- a/zh-cn/development/backend-development.html
+++ b/zh-cn/development/backend-development.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
 <h2>环境要求</h2>
 <ul>
 <li>MySQL (5.5+) :  必装</li>
diff --git a/zh-cn/development/frontend-development.html 
b/zh-cn/development/dev-frontend-development.html
similarity index 85%
copy from zh-cn/development/frontend-development.html
copy to zh-cn/development/dev-frontend-development.html
index d03f195..ac0029a 100644
--- a/zh-cn/development/frontend-development.html
+++ b/zh-cn/development/dev-frontend-development.html
@@ -3,20 +3,22 @@
 <head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0, 
maximum-scale=1.0, user-scalable=no">
-  <meta name="keywords" content="frontend-development" />
-  <meta name="description" content="frontend-development" />
-  <title>frontend-development</title>
+  <meta name="keywords" content="dev-frontend-development" />
+  <meta name="description" content="dev-frontend-development" />
+  <title>dev-frontend-development</title>
   <link rel="shortcut icon" href="/img/favicon.ico"/>
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
 <h3>技术选型</h3>
 <pre><code>Vue mvvm框架
 
 Es6 ECMAScript 6.0
 
-Ans-ui Analysys-ui
+Element-ui
+
+form-create JSON表单生成器
 
 D3 可视化库图表库
 
@@ -30,28 +32,20 @@ Lodash 高性能的 JavaScript 实用工具库
 <h4>Node安装</h4>
 </li>
 </ul>
-<p>Node包下载 (注意版本 8.9.4) 
<code>https://nodejs.org/download/release/v8.9.4/</code></p>
+<p>Node包下载 (注意:node版本必须是长期版本,目前Node最高版本支持14+) 
<code>https://nodejs.org/zh-cn/</code>
+node.js扩展,可以安装nvm管理node版本,安装nrm管理镜像源</p>
 <ul>
 <li>
 <h4>前端项目构建</h4>
 </li>
 </ul>
-<p>用命令行模式 <code>cd</code>  进入 <code>dolphinscheduler-ui</code>项目目录并执行 
<code>npm install</code> 拉取项目依赖包</p>
-<blockquote>
-<p>如果 <code>npm install</code> 速度非常慢</p>
-</blockquote>
-<blockquote>
-<p>可以转淘宝镜像命令行输入 <code>npm install -g cnpm 
--registry=https://registry.npm.taobao.org</code></p>
-</blockquote>
-<blockquote>
-<p>运行 <code>cnpm install</code></p>
-</blockquote>
+<p>用命令行模式 <code>cd</code>  进入 
<code>dolphinscheduler-ui</code>项目目录,查看npm镜像源使用状态<code>npm get 
registry</code>,如果不是淘宝镜像,将镜像设置成淘宝镜像<code>npm config set registry 
http://registry.npm.taobao.org</code>,然后执行 <code>npm install</code> 拉取项目依赖包</p>
 <ul>
-<li>新建一个<code>.env</code>文件,用于跟后端交互的接口</li>
+<li>配置<code>.env</code>文件,用于跟后端交互的接口</li>
 </ul>
-<p>在<code>dolphinscheduler-ui</code>目录下新建一个<code>.env</code>文件,在文件里添加后端服务的ip地址和端口,用于跟后端交互,<code>.env</code>文件内容如下:</p>
+<p>在<code>dolphinscheduler-ui</code>目录下打开<code>.env</code>文件,在文件里添加后端服务的ip地址和端口,用于跟后端交互,<code>.env</code>文件内容如下:</p>
 <pre><code># 代理的接口地址(自行修改)
-API_BASE = http://192.168.xx.xx:12345
+API_BASE = 
http://192.168.xx.xx:12345(注意:API接口一定要写成IP地址的形式,不要写成http://localhost:12345)
 
 # 如果您需要用ip访问项目可以把 &quot;#&quot; 号去掉(例)
 #DEV_HOST = 192.168.xx.xx
@@ -109,8 +103,6 @@ API_BASE = http://192.168.xx.xx:12345
 <p><code>build</code> 打包及开发环境项目的一些webpack配置</p>
 <p><code>node_modules</code> 开发环境node依赖包</p>
 <p><code>src</code> 项目所需文件</p>
-<p><code>src =&gt; combo</code> 项目第三方资源本地化 <code>npm run 
combo</code>具体查看<code>build/combo.js</code></p>
-<p><code>src =&gt; font</code> 字体图标库可访问 <code>https://www.iconfont.cn</code> 
进行添加 注意:字体库用的自己的 二次开发需要重新引入自己的库 <code>src/sass/common/_font.scss</code></p>
 <p><code>src =&gt; images</code> 公共图片存放</p>
 <p><code>src =&gt; js</code> js/vue</p>
 <p><code>src =&gt; lib</code> 公司内部组件(公司组件库开源后可删掉)</p>
@@ -135,24 +127,36 @@ API_BASE = http://192.168.xx.xx:12345
 <p>首页 =&gt; <code>http://localhost:8888/#/home</code></p>
 <p>项目管理 =&gt; <code>http://localhost:8888/#/projects/list</code></p>
 <pre><code>| 项目首页
+| 工作流关系
 | 工作流
   - 工作流定义
   - 工作流实例
   - 任务实例
 </code></pre>
-<p>资源管理 =&gt; <code>http://localhost:8888/#/resource/file</code></p>
+<p>资源中心 =&gt; <code>http://localhost:8888/#/resource/file</code></p>
 <pre><code>| 文件管理
 | UDF管理
   - 资源管理
   - 函数管理
 </code></pre>
-<p>数据源管理 =&gt; <code>http://localhost:8888/#/datasource/list</code></p>
+<p>数据源中心 =&gt; <code>http://localhost:8888/#/datasource/list</code></p>
+<p>监控中心 =&gt; <code>http://localhost:8888/#/monitor/servers/master</code></p>
+<pre><code>| 服务管理
+  - Master
+  - Worker
+  - Zookeeper
+  - DB
+| 统计管理
+  - Statistics
+</code></pre>
 <p>安全中心 =&gt; <code>http://localhost:8888/#/security/tenant</code></p>
 <pre><code>| 租户管理
 | 用户管理
 | 告警组管理
-  - master
-  - worker
+| 告警实例管理
+| Worker分组管理
+| Yarn队列管理
+| 令牌管理
 </code></pre>
 <p>用户中心 =&gt; <code>http://localhost:8888/#/user/account</code></p>
 <h2>路由和状态管理</h2>
@@ -179,6 +183,103 @@ state =&gt; mapState =&gt; 
详情:https://vuex.vuejs.org/zh/guide/state.html
 具体操作:https://vuex.vuejs.org/zh/
 
 </code></pre>
+<h2>菜单添加</h2>
+<p>公共的菜单只需要在 <code>/src/js/conf/home/router/index.js</code> 中添加就可以了,如:首页</p>
+<pre><code>  {
+    path: '/home',
+    name: 'home',
+    component: resolve =&gt; require(['../pages/home/index'], resolve),
+    meta: {
+      title: `${i18n.$t('Home')} - DolphinScheduler`,
+      refresh_in_switched_tab: true
+    }
+  }
+</code></pre>
+<h2>异常处理</h2>
+<p>在 <code>/src/js/module/io/index.js</code> 文件中对所有的 request请求进行拦截, 通过response 
拦截器对接口返回的状态码进行分析与异常处理,代码如下</p>
+<pre><code>import io from '@/module/axios/index'
+import cookies from 'js-cookie'
+
+const apiPrefix = '/dolphinscheduler'
+const reSlashPrefix = /^\/+/
+
+const resolveURL = (url) =&gt; {
+  if (url.indexOf('http') !== -1) {
+    return url
+  }
+  if (url.charAt(0) !== '/') {
+    return `${apiPrefix}/${url.replace(reSlashPrefix, '')}`
+  }
+
+  return url
+}
+
+/**
+ * Resolve backend api url
+ */
+export { resolveURL }
+
+/**
+ * Set io default instance resolveUrl globally
+ */
+io.config.resolveURL = resolveURL
+io.config.timeout = 0
+io.config.maxContentLength = 200000
+io.config.validateStatus = function (status) {
+  if (status === 401 || status === 504) {
+    window.location.href = `${PUBLIC_PATH}/view/login/index.html`
+    return
+  }
+  return status
+}
+
+// io.config.emulateJSON = false
+const _propRequest = io.request
+
+// Add a local request interceptor
+io.request = (spec) =&gt; {
+  return _propRequest.call(io, spec)
+}
+
+// Global response interceptor registion
+io.interceptors.response.use(
+  response =&gt; {
+    return response
+  }, error =&gt; {
+    // Do something with response error
+    return Promise.reject(error)
+  }
+)
+
+// Global request interceptor registion
+io.interceptors.request.use(
+  config =&gt; {
+    const sIdCookie = cookies.get('sessionId')
+    const sessionId = sessionStorage.getItem('sessionId')
+    const requstUrl = config.url.substring(config.url.lastIndexOf('/') + 1)
+    if ((!sIdCookie || (sessionId &amp;&amp; sessionId !== sIdCookie)) 
&amp;&amp; requstUrl !== 'login') {
+      window.location.href = `${PUBLIC_PATH}/view/login/index.html`
+    } else {
+      const { method } = config
+      if (method === 'get') {
+        config.params = Object.assign({}, config.params, {
+          _t: Math.random()
+        })
+      }
+      config.headers = config.headers || {}
+      const language = cookies.get('language')
+      if (language) config.headers.language = language
+      if (sIdCookie) config.headers.sessionId = sIdCookie
+      return config
+    }
+  }, error =&gt; {
+    // Do something with request error
+    return Promise.reject(error)
+  }
+)
+
+export default io
+</code></pre>
 <h2>规范</h2>
 <h2>Vue规范</h2>
 <h5>1.组件名</h5>
@@ -430,6 +531,7 @@ test.then(res =&gt; {
 <p>数据源中心 相关接口 <code>src/js/conf/home/store/datasource/actions.js</code></p>
 <p>项目管理 相关接口 <code>src/js/conf/home/store/projects/actions.js</code></p>
 <p>资源中心 相关接口 <code>src/js/conf/home/store/resource/actions.js</code></p>
+<p>监控中心 相关接口 <code>src/js/conf/home/store/monitor/actions.js</code></p>
 <p>安全中心 相关接口 <code>src/js/conf/home/store/security/actions.js</code></p>
 <p>用户中心 相关接口 <code>src/js/conf/home/store/user/actions.js</code></p>
 <h2>扩展开发</h2>
diff --git a/zh-cn/development/dev-frontend-development.json 
b/zh-cn/development/dev-frontend-development.json
new file mode 100644
index 0000000..8fdc4af
--- /dev/null
+++ b/zh-cn/development/dev-frontend-development.json
@@ -0,0 +1,6 @@
+{
+  "filename": "dev-frontend-development.md",
+  "__html": "<h1>前端开发文档</h1>\n<h3>技术选型</h3>\n<pre><code>Vue mvvm框架\n\nEs6 
ECMAScript 6.0\n\nElement-ui\n\nform-create JSON表单生成器\n\nD3 可视化库图表库\n\nJsplumb 
连线插件库\n\nLodash 高性能的 JavaScript 
实用工具库\n</code></pre>\n<h3>开发环境搭建</h3>\n<ul>\n<li>\n<h4>Node安装</h4>\n</li>\n</ul>\n<p>Node包下载
 (注意:node版本必须是长期版本,目前Node最高版本支持14+) 
<code>https://nodejs.org/zh-cn/</code>\nnode.js扩展,可以安装nvm管理node版本,安装nrm管理镜像源</p>\n<ul>\n<li>\n<h4>前端项目构建</h4>\n</li>\n</ul>\n<p>用命令行模式
 <code>cd</code>  进入 <code>dolphinscheduler-u [...]
+  "link": "/dist/zh-cn/development/dev-frontend-development.html",
+  "meta": {}
+}
\ No newline at end of file
diff --git a/zh-cn/development/development-environment-setup.html 
b/zh-cn/development/development-environment-setup.html
index 6beee37..04ade40 100644
--- a/zh-cn/development/development-environment-setup.html
+++ b/zh-cn/development/development-environment-setup.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
 <ol>
 <li>
 <p>首先从远端仓库fork <a 
href="https://github.com/apache/incubator-dolphinscheduler";>dolphinscheduler</a>
 一份代码到自己的仓库中</p>
diff --git a/zh-cn/development/download.html b/zh-cn/development/download.html
index a32610c..8dc7cb6 100644
--- a/zh-cn/development/download.html
+++ b/zh-cn/development/download.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
 <p>使用下面的链接,从Apache DolphinScheduler的镜像下载。</p>
 <p><strong>只有源码包属于Apache官方发布包,二进制发布包只是为了方便用户使用。</strong></p>
 <h2>DolphinScheduler</h2>
diff --git a/zh-cn/development/frontend-development.html 
b/zh-cn/development/frontend-development.html
index d03f195..9f942c6 100644
--- a/zh-cn/development/frontend-development.html
+++ b/zh-cn/development/frontend-development.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
 <h3>技术选型</h3>
 <pre><code>Vue mvvm框架
 
diff --git a/zh-cn/development/plugin-development.html 
b/zh-cn/development/plugin-development.html
index 14de392..c43f63c 100644
--- a/zh-cn/development/plugin-development.html
+++ b/zh-cn/development/plugin-development.html
@@ -10,7 +10,7 @@
   <link rel="stylesheet" href="/build/development.md.css" />
 </head>
 <body>
-  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
+  <div id="root"><div class="md2html development-page" 
data-reactroot=""><header class="header-container header-container-normal"><div 
class="header-body"><a href="/zh-cn/index.html"><img class="logo" 
src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span 
class="icon-search"></span></div><span class="language-switch 
language-switch-normal">En</span><div class="header-menu"><img 
class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul 
class="ant-menu blackC [...]
 <p>提醒:目前任务插件开发暂不支持热部署</p>
 <h3>基于SHELL的任务</h3>
 <h4>基于YARN的计算(参见MapReduceTask)</h4>

Reply via email to