Skip to content

Commit

Permalink
[文档修改]新增国庆维护MIP站长平台的文档说明 (#700)
Browse files Browse the repository at this point in the history
* 新增国庆通知文档

* 增加部分规范说明
  • Loading branch information
clark-t authored Sep 23, 2019
1 parent ecc33b0 commit 5898aac
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 5 deletions.
3 changes: 1 addition & 2 deletions docs/contribute/getting-start/component-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ MIP 扩展组件开发采用 [Forking工作流](https://github.com/oldratlee/tra
- <a href="#4">JavaScript 规范</a>
- <a href="#5">CSS 规范</a>


<div id="1"></div>
## 目录规范

Expand Down Expand Up @@ -122,7 +121,7 @@ MIP 自定义组件的配置项需符合 Camel 规范,不得采用中划线
<div id="4"></div>
## JavaScript 规范

- [MUST] 组件的脚本开发必须遵守 JavaScript Standard Style [[CN](https://standardjs.com/rules-zhcn.html)/[EN](https://standardjs.com/rules-en.html)] 代码规范
- [MUST] 组件的脚本开发必须遵守 JavaScript Standard Style [CN](https://standardjs.com/rules-zhcn.html)/[EN](https://standardjs.com/rules-en.html)代码规范
- [MUST] 组件的模版开发应该遵循 [Vue Style Guide](https://cn.vuejs.org/v2/style-guide/index.html)
- [MUST] 禁止使用白名单之外的原生 JS API (参考:[沙盒机制](../principle/sandbox.md))
- [SHOULD] 使用 ES6 和 ES Module 模块化组织代码
Expand Down
53 changes: 50 additions & 3 deletions docs/contribute/getting-start/how-to-contribute.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# 如何提交站长组件代码

[notice]站长组件是扩展 MIP 功能的一种形式,在开发提交站长组件之前,请首先阅读[《请优先使用 MIP 现有机制和官方组件来实现业务功能》](./use-official-mip-first.md)一文,看看所需要开发的站长组件是否已被 MIP 现有的机制和官方组件覆盖了,从而减少开发和审核的时间成本
[notice]站长组件是扩展 MIP 功能的一种形式,在开发提交站长组件之前,请首先阅读[《请优先使用 MIP 现有机制和官方组件来实现业务功能》](./use-official-mip-first.md)一文,看看所需要开发的站长组件是否已被 MIP 现有的机制和官方组件覆盖了,覆盖到的功能将不会受理相关组件的提交审核

当前 MIP 的组件有内置组件、官方组件、站长组件几部分。其中,内置组件不支持开发者提交修改,官方组件是官方提供的较为通用的组件,开发者也可以通过 Pull Request 的方式[修改提交官方组件](./how-to-contribute-mip-extensions.md)。站长组件则是为了满足站点特殊定制化需求而提供的。下面介绍如何提交站长组件。
当前 MIP 的组件有内置组件、官方组件、站长组件几部分。其中,内置组件包括 mip-img、mip-carousel 等等;官方组件是官方提供的功能较为通用的组件,开发者可以通过 Pull Request 的方式[修改提交官方组件](./how-to-contribute-mip-extensions.md)。站长组件则是为了满足站点特殊定制化需求,并且现有 MIP 通用机制无法涵盖而提供的一种功能拓展的形式。

下面介绍如何提交站长组件,以及说明提交审核的一些注意事项。

## 提交站长组件

Expand Down Expand Up @@ -76,10 +78,12 @@ $ cd test.a.com

3.**发起 Pull Request**

开发完成后,[发起 pull Request](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)。进入自己 fork 的仓库,点击 New pull request 按钮,按照提示,完成提交。最终会在官方仓库提交一个 Pull request。Pull request 提交后,会自动触发持续集成的任务,如代码规范检查、部署预览等,在 Conversation 选项卡可以看到实时状态。如果有不通过的,需要再次修改提交,确保所有检查项都成功通过,官方才能审核合入。
开发完成后,[发起 Pull Request](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)。进入自己 fork 的仓库,点击 New pull request 按钮,按照提示,完成提交。最终会在官方仓库提交一个 Pull request。Pull request 提交后,会自动触发持续集成的任务,如代码规范检查、部署预览等,在 Conversation 选项卡可以看到实时状态。如果有不通过的,需要再次修改提交,确保所有检查项都成功通过,官方才能审核合入。

![github-status](./images/Picture5.png)

提交 Pull Request 需要遵守一定的规范要求,不符合要求的 PR 将会被打回或者是要求修改,具体请参考[PR 提交规范与审核标准](#PR提交规范与审核标注)

4.**官方审核通过,合入上线**

官方审核通过后,代码将合入 `master` 分支并上线。若不通过,请根据反馈修改后再次提交。
Expand All @@ -90,3 +94,46 @@ $ cd test.a.com
// 页面中引用
<script src="https://c.mipcdn.com/extensions/platform/v2/{站点项目名}/{组件名}/{组件名}.js"></script>
```

## PR 提交规范与审核标准

### 提交规范

在提 PR 的时候,需要注意以下事项:

1. 每个 PR 的代码只能针对单个组件进行新增或修改,不建议一次性提交多个组件的改动,以避免其中的部分组件因审核没通过而导致整体被打回;
2. 每个 PR 必须写明开发理由,尤其是说明 MIP 现有机制和官方组件为何不能覆盖开发需求;
3. 同时 PR 必须写明本次代码提交的相关改动说明,比如修复了什么问题、新增了什么功能;
4. 提交代码需完全符合[MIP 组件开发规范](./component-spec.md)的全部要求才会进入下一步的代码功能与代码逻辑审核;

下面是一个简单的 PR 说明示例:

```md
# 新增 mip-example 组件

## 开发理由

目前项目存在如下需求: XXXXXX,这个功能无法通过 MIP 现有机制实现,因此需要开发 mip-example 来实现相关功能。

## 组件说明

新增 mip-example 组件,实现如下功能:

1. xxxx
2. xxxx
3. xxxx
```

### 审核标准

MIP 官方将严格按照以下原则进行组件审核,不符合要求的 Pull Request 将会打回要求修改,或者直接关闭 PR:

- 组件功能能够直接通过 MIP 现有机制和 MIP 官方组件实现的,此类组件没有意义,将会直接打回;
- 组件不满足[《MIP 组件开发规范》](./component-spec.md)的要求的,此类组件不规范,将会直接打回;
- Pull Request 和 组件 REAME.md 不清晰导致审核人员无法理解组件的功能、用法的,会直接打回或要求补全相关文档。README.md 文档翔实度请参考官方组件;
- 审核人员给出审核意见但不进行修复,也不进行回复说明的,预期 1 个月 PR 无更新则直接 close PR。

[info] 最常见的一类站长组件是,前端发 AJAX 请求接口数据之后,在前端进行数据处理和 HTML 模板拼接,这种类型的组件可以直接使用 MIP 提供的[数据驱动与模板渲染](../../docs/interactive-mip/data-driven-and-dom-render.md)机制直接实现,无需额外进行站长组件提交,这类站长组件基本都会被直接打回。

[info] 最常见的一类组件开发规范问题是,组件没有满足 `mip-[站点标识]-[组件功能]` 的命名方式,即漏掉 `-[组件标识]-` 这个部分,开发者可以在提交前注意下这个问题。

3 changes: 3 additions & 0 deletions docs/contribute/getting-start/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,8 @@
"name": "使用 MIP-CLI 开发组件",
"key": "mip-cli-usage"
}
],
"ignore": [
"contribute-with-mip-platform"
]
}
20 changes: 20 additions & 0 deletions docs/news/2019-09-23-19.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# MIP 站长组件审核平台维护通知

同时由于历史原因,目前 MIP 站长组件审核平台对 MIP 2.0 站长组件的审核管理方式不太友好,并且存在一些问题,因此需要暂时关闭维护,具体恢复时间将另行通知。在此期间开发者可以通过 github 提 Pull Request 的方式进行站长组件提交审核,可参考文档[《如何提交站长组件代码》](https://www.mipengine.org/v2/contribute/getting-start/how-to-contribute.html)进行相关学习。

需要重申的是,目前 MIP 核心机制结合官方组件已经基本涵盖了一般业务的开发需求,因此在提交站长组件之前,请首先确认好是否需要进行额外的站长组件开发工作,如确定需要开发,则需要在 PR 当中写明理由。

## 时间安排

具体的时间节点如下:

- 2019.10.01 - 2019.10.07:国庆放假,暂停 MIP 站长组件的审核,收假后恢复审核工作;
- 2019.10.01 起:暂时关闭 MIP 站长组件审核平台的代码提交入口,具体恢复时间将另行通知。

## 参考文档

- [如何通过 GitHub 提交站长组件代码](https://www.mipengine.org/v2/contribute/getting-start/how-to-contribute.html)
- [请优先使用 MIP 现有机制和官方组件来实现业务功能](https://www.mipengine.org/v2/contribute/getting-start/use-official-mip-first.html)
- [MIP 交互式设计](https://www.mipengine.org/v2/docs/interactive-mip/introduction.html)
- [MIP 官方组件列表](https://www.mipengine.org/v2/components/index.html)

10 changes: 10 additions & 0 deletions docs/news/meta.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
{
"menu": [
{
"key": "2019-09-23-19",
"start": "2019-09-23 19:00:00",
"banner": {
"type": "notice",
"contents": [
"MIP站长组件审核平台维护通知。>> 详情"
]
}
},
{
"key": "2019-04-28-14",
"start": "2019-04-28 14:00:00",
Expand Down

0 comments on commit 5898aac

Please sign in to comment.