Skip to content

Commit 2aecaee

Browse files
committed
init for docusaurus
1 parent bed2c88 commit 2aecaee

File tree

775 files changed

+18829
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

775 files changed

+18829
-0
lines changed

babel.config.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
3+
};

blog/how-to-used.md

+256
Large diffs are not rendered by default.

development/how-to-contribute.md

+199
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
---
2+
title: How to Contribute
3+
sidebar_position: 1
4+
---
5+
# Contributing
6+
7+
Thank you very much for contributing to the Linkis project! Before participating in the contribution, please read the following guidelines carefully.
8+
9+
## 1. Contribution category
10+
11+
### 1.1 Bug feedback and fix
12+
13+
We suggest that whether it is bug feedback or repair, you should create an issue first to describe the status of the bug in detail, so as to help the community to find and review issues and codes through issue records. Bug feedback issues usually need to include a complete description
14+
**Bug** information and reproducible scenarios, so that the community can quickly locate the cause of the bug and fix it. Opened issues that contain #bug label all need to be fixed.
15+
16+
### 1.2 Functional communication, implementation and refactoring
17+
18+
In the communication process, please elaborate the details, mechanisms and using scenarios of the new function(or refactoring). This can promote the function(or refactoring) to be implemented better and faster.
19+
If you plan to implement a major feature (or refactoring), be sure to communicate with the team through **Issue** or other methods, so that everyone can move forward in the most efficient way. An open Issue containing the #feature tag means that there are new functions need to be implemented. And open issues including #Enhancement tags always means that needs to be improved for refactoring.
20+
21+
22+
### 1.3 Issue Q&A
23+
24+
Helping to answer the usage questions in the Issue is a very valuable way to contribute to the Linkis community; There will always be new users keeping coming in. While helping new users, you can also show your expertise.
25+
26+
### 1.4 Documentation improvements
27+
28+
Linkis User Manual Documents are maintained in the Linkis-Doc project of github, you can edit the markdown file in the project and improve the document by submit a pr.
29+
30+
## 2. Contribution process
31+
32+
### 2.1 Branch structure
33+
34+
The Linkis source code may contain some temporary branches, but there are only three branches as followed that are really meaningful:
35+
36+
```
37+
master: The source code of the last stable release, and occassionally may have several hotfix submissions
38+
branch-0.10.0: The latest stable version
39+
dev-1.0.0: Main development branch
40+
```
41+
42+
### 2.2 Development Guidelines
43+
44+
Linkis front-end and back-end code share the same code repository, but they are separated in development. Before embarking on development, please fork a copy of Linkis project to your own Github Repositories. When developing, please do it based on your own Github Repositories.
45+
46+
We recommend cloning the dev-1.0.0 branch for development, so there will be much less conflicts on merging when submitting a PR to the Linkis main project
47+
Much smaller
48+
49+
```
50+
git clone https://github.com/yourname/Linkis.git --branch dev-1.0.0
51+
```
52+
53+
#### 2.2.1 Backend
54+
55+
The user configuration is under the project root directory /config/, the project startup script and the upgrade patch script are under the project root directory /bin/.
56+
The back-end code and core configuration are in the server/ directory, and the log is in the project root directory /log/.
57+
The root directory of the project mentioned here refers to the directory configured by the environment variable LINKIS_HOME, and the environment variable needs to be configured during the development of the IDE.
58+
For example, Idea regarding the priority of environment variable loading from high to low: Environment configured in Run/Debug Configurations
59+
variables —> System environment variables cached by the IDE.
60+
61+
**2.2.1.1** Directory structure
62+
63+
```
64+
1. Script
65+
```
66+
```
67+
├── assembly-package/bin # script directory
68+
├── install.sh # One-click deployment script
69+
├── checkEnv.sh # Environment check script
70+
└── common.sh # Common script function
71+
```
72+
```
73+
├── sbin # script directory
74+
├── linkis-daemon.sh # Single service start and stop, status detection script
75+
├── linkis-start-all.sh # One-click start script
76+
├── linkis-stop-all.sh # One-click stop script
77+
└── ext # Separate service script directory
78+
├── linkis-xxx.sh # The startup script of a service
79+
├── linkis-xxx.sh
80+
├── ...
81+
```
82+
83+
```
84+
2. Configuration
85+
```
86+
```
87+
├── assembly-package/config # User configuration directory
88+
├── linkis-env.sh # Configuration variable settings for one-click deployment
89+
├── db.sh # One-click deployment database configuration
90+
```
91+
```
92+
3. Code directory structure
93+
See Linkis code directory structure for details
94+
4. Log directory
95+
```
96+
```
97+
├── logs # log root directory
98+
```
99+
**2.2.1.2** Environment variables
100+
101+
102+
```
103+
Configure system environment variable or IDE environment variable LINKIS_HOME, it is recommended to use IDE environment variable first.
104+
```
105+
**2.2.1.3** Database
106+
107+
```
108+
1. Create the Linkis system database by yourself;
109+
2. Modify the corresponding information of the database in conf/db.sh and execute bin/install.sh or import directly on the database client
110+
db/linkis_*.sql.
111+
```
112+
113+
**2.2.1.4** Configuration file
114+
115+
Modify the application-linkis.yml file in the conf directory and the properties file corresponding to each microservice name to configure related properties.
116+
117+
**2.2.1.5** Packaging
118+
119+
```
120+
1. To package the project, you need to modify the version in /assembly/src/main/assembly/assembly.xml in the root directory, and then execute the following command in the root directory: mvn clean package;
121+
To package a single module, simply run mvn clean package directly in each module.
122+
```
123+
### 2.3 Pull Request Guidelines
124+
125+
#### If you still don’t know how to initiate a PR to an open source project, please refer to this description
126+
127+
```
128+
Whether it is bug fixes or new feature development, please submit a PR to the dev-1.0.0 branch.
129+
PR and submission name follow the principle of <type>(<scope>): <subject>. For details, please refer to Ruan Yifeng's article [Commitmessage and Change log Compilation Guide](http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html).
130+
If the PR contains new features, the document update should be included in this PR.
131+
If this PR is not ready to merge, please add the [WIP] prefix to the head of the name (WIP = work-in-progress).
132+
All submissions to the dev-1.0.0 branch need to go through at least one review before they can be merged
133+
```
134+
### 2.4 Review Standard
135+
136+
Before contributing code, you can find out what kind of submissions are popular in Review. Simply put, if a submission can bring as many gains as possible and as few side effects or risks as possible, then it will be reviewd and merged first. Submissions with high risk and low value are almost impossible to be merged, and may be rejected without even a chance to review.
137+
138+
**2.4.1** Gain
139+
140+
```
141+
Fix the main cause of the bug
142+
Add or fix a feature or problem that a large number of users urgently need
143+
Simple and effective
144+
Easy to test, with test cases
145+
Reduce complexity and amount of code
146+
```
147+
148+
#### Issues that have been discussed by the community and identified for improvement
149+
150+
#### 2.4.2 Side effects and risks
151+
152+
```
153+
Only fix the surface phenomenon of the bug
154+
Introduce new features with high complexity
155+
Add complexity to meet niche needs
156+
Change stable existing API or semantics
157+
Cause other functions to not operate normally
158+
Add a lot of dependencies
159+
Change the dependency version at will
160+
Submit a large amount of code or changes at once
161+
```
162+
**2.4.3 Reviewer** Note
163+
164+
```
165+
Please use a constructive tone to write comments
166+
If you need to make changes by the submitter, please clearly state all the content that needs to be modified to complete the Pull Request
167+
If a PR is found to have brought new problems after the merger, the Reviewer needs to contact the PR author and communicate to resolve the problem.
168+
Question; if the PR author cannot be contacted, the Reviewer needs to restore the PR
169+
```
170+
## 3. advanced contribution
171+
172+
### 3.1 About Committers (Collaborators)
173+
174+
**3.1.1** How to become a **committer**
175+
176+
If you have had a valuable PR for the Linkis code and it has been merged, you can contact the core development team through the official WeChat group
177+
Team applied to be the Committer of the Linkis project; the core development team and other Committers will vote together to decide whether or not allow you to join. If you get enough votes, you will become a Committer for the Linkis project.
178+
179+
**3.1.2 Committer** Rights
180+
181+
```
182+
You can join the official developer WeChat group, participate in discussions and make development plans
183+
Can manage Issues, including closing and adding tags
184+
Can create and manage project branches, except for master and dev-1.0.0 branches
185+
Can review the PR submitted to the dev-1.0.0 branch
186+
Can apply to be a member of Committee
187+
```
188+
### 3.2 About Committee
189+
190+
**3.2.1** How to become a **Committee** member
191+
192+
193+
If you are a Committer of the Linkis project, and all your contributions have been recognized by other Committee members. Yes, you can apply to be a member of the Linkis Committee, and other Committee members will vote together to decide whether to allow you to join in, and if unanimously approved, you will become a member of the Linkis Committee.
194+
195+
**3.2.2 Committee members' rights
196+
197+
```
198+
You can merge PRs submitted by other Committers and contributors to the dev-1.0.0 branch
199+
```

0 commit comments

Comments
 (0)