adapt-authoring-core 1.3.4 → 1.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adapt-authoring.json +5 -7
- package/docs/contributing-code.md +192 -0
- package/docs/contributing.md +22 -31
- package/docs/plugins/index-manual.js +22 -25
- package/docs/releasing.md +1 -1
- package/lib/Utils.js +7 -3
- package/package.json +1 -1
- package/docs/git.md +0 -41
- package/docs/peer-review.md +0 -51
- package/docs/run.md +0 -12
- package/docs/writing-core-code.md +0 -39
package/adapt-authoring.json
CHANGED
|
@@ -2,29 +2,27 @@
|
|
|
2
2
|
"module": false,
|
|
3
3
|
"documentation": {
|
|
4
4
|
"enable": true,
|
|
5
|
-
"manualCover": "docs/cover-manual.md",
|
|
6
5
|
"manualIndex": "docs/index-manual.md",
|
|
7
6
|
"sourceIndex": "docs/index-backend.md",
|
|
8
7
|
"manualPages": {
|
|
9
8
|
"binscripts.md": "reference",
|
|
10
9
|
"contributing.md": "contributing",
|
|
10
|
+
"contributing-code.md": "contributing",
|
|
11
11
|
"coremodules.md": "reference",
|
|
12
12
|
"customising.md": "development",
|
|
13
13
|
"folder-structure.md": "getting-started",
|
|
14
|
-
"git.md": "contributing",
|
|
15
14
|
"hooks.md": "concepts",
|
|
16
15
|
"licensing.md": "reference",
|
|
17
|
-
"peer-review.md": "contributing",
|
|
18
16
|
"releasing.md": "contributing",
|
|
17
|
+
"request-response.md": "concepts",
|
|
19
18
|
"run.md": "getting-started",
|
|
20
|
-
"writing-a-module.md": "development"
|
|
21
|
-
"writing-core-code.md": "contributing"
|
|
19
|
+
"writing-a-module.md": "development"
|
|
22
20
|
},
|
|
23
21
|
"manualPlugins": [
|
|
24
22
|
"docs/plugins/binscripts.js",
|
|
25
23
|
"docs/plugins/coremodules.js",
|
|
26
|
-
"docs/plugins/
|
|
24
|
+
"docs/plugins/contributors.js",
|
|
27
25
|
"docs/plugins/licensing.js"
|
|
28
26
|
]
|
|
29
27
|
}
|
|
30
|
-
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# Contributing code
|
|
2
|
+
|
|
3
|
+
This guide covers everything you need to know about contributing code to the Adapt authoring tool repositories.
|
|
4
|
+
|
|
5
|
+
## Quick navigation
|
|
6
|
+
|
|
7
|
+
- [Finding work](#finding-work)
|
|
8
|
+
- [Setting up](#setting-up)
|
|
9
|
+
- [Making changes](#making-changes)
|
|
10
|
+
- [Documentation](#documentation)
|
|
11
|
+
- [Commit messages](#commit-messages)
|
|
12
|
+
- [Submitting a pull request](#submitting-a-pull-request)
|
|
13
|
+
- [Code review](#code-review)
|
|
14
|
+
|
|
15
|
+
## Finding work
|
|
16
|
+
|
|
17
|
+
Pick an issue from one of the [adapt-security](https://github.com/adapt-security) repositories, or create a new one if you've found a bug or have a feature idea.
|
|
18
|
+
|
|
19
|
+
### Difficulty labels
|
|
20
|
+
|
|
21
|
+
Issues are labelled with difficulty ratings to help you find suitable work:
|
|
22
|
+
|
|
23
|
+
| Label | Description |
|
|
24
|
+
|-------|-------------|
|
|
25
|
+
| `D: beginner` | Simple fixes, good for first-time contributors |
|
|
26
|
+
| `D: easy` | Straightforward changes with limited scope |
|
|
27
|
+
| `D: medium` | Moderate complexity, requires Node.js experience |
|
|
28
|
+
| `D: hard` | Complex changes spanning multiple areas |
|
|
29
|
+
| `D: insane` | Major architectural changes, requires deep codebase knowledge |
|
|
30
|
+
|
|
31
|
+
If you're new to the project, start with `D: beginner` or `D: easy` issues. For larger features or complex fixes, please discuss your approach with the core team before starting work.
|
|
32
|
+
|
|
33
|
+
## Setting up
|
|
34
|
+
|
|
35
|
+
### Fork or branch?
|
|
36
|
+
|
|
37
|
+
**Core team members** have write access to the repositories and can create branches directly.
|
|
38
|
+
|
|
39
|
+
**External contributors** should fork the repository to their own GitHub account and work from there.
|
|
40
|
+
|
|
41
|
+
### Create a branch
|
|
42
|
+
|
|
43
|
+
Create a branch for your work, named after the issue number:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# For core team (direct branch)
|
|
47
|
+
git checkout -b issue/1234 origin/master
|
|
48
|
+
|
|
49
|
+
# For external contributors (from your fork)
|
|
50
|
+
git checkout -b issue/1234
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Always branch from `master` — this is the only long-lived branch.
|
|
54
|
+
|
|
55
|
+
## Making changes
|
|
56
|
+
|
|
57
|
+
### Code style
|
|
58
|
+
|
|
59
|
+
All code must pass the [Standard.js](https://standardjs.com/) linter. Run it locally before committing:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
npx standard
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Tests
|
|
66
|
+
|
|
67
|
+
If you're adding new functionality, add tests to cover it. Run the test suite to make sure everything passes:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npm test
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Documentation
|
|
74
|
+
|
|
75
|
+
Keep documentation up to date with your changes:
|
|
76
|
+
|
|
77
|
+
- **Code comments** — Add or update JSDoc comments for any new or modified functions, classes, or methods
|
|
78
|
+
- **Manual pages** — If you're adding a feature or changing behaviour, update the relevant markdown guides in `docs/`
|
|
79
|
+
- **REST API** — For API changes, ensure route metadata is accurate so the generated API docs stay current
|
|
80
|
+
|
|
81
|
+
Good documentation helps others understand and use your work. See [Writing Documentation](writing-documentation) for more details.
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
## Commit messages
|
|
85
|
+
|
|
86
|
+
We use [semantic-release](https://semantic-release.gitbook.io/) to automate releases, so commit messages must follow a specific format. The commit prefix determines the type of release:
|
|
87
|
+
|
|
88
|
+
| Prefix | Release type | Use for |
|
|
89
|
+
|--------|--------------|---------|
|
|
90
|
+
| `Fix:` | Patch (0.0.x) | Bug fixes |
|
|
91
|
+
| `Update:` | Minor (0.x.0) | New features, backwards-compatible changes |
|
|
92
|
+
| `Breaking:` | Major (x.0.0) | Breaking changes |
|
|
93
|
+
| `Docs:` | No release | Documentation only |
|
|
94
|
+
| `Chore:` | No release | Maintenance, refactoring |
|
|
95
|
+
|
|
96
|
+
### Format
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
Prefix: Short description
|
|
100
|
+
|
|
101
|
+
Longer explanation if needed. Wrap at 72 characters.
|
|
102
|
+
|
|
103
|
+
Closes #1234
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Examples
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
Fix: Prevent crash when uploading empty file
|
|
110
|
+
|
|
111
|
+
The upload handler now validates file size before processing,
|
|
112
|
+
returning a 400 error for empty files.
|
|
113
|
+
|
|
114
|
+
Closes #1234
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
Update: Add bulk delete endpoint for assets
|
|
119
|
+
|
|
120
|
+
Closes #5678
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
Breaking: Remove deprecated /api/v1 endpoints
|
|
125
|
+
|
|
126
|
+
The v1 API has been removed. All clients should migrate to /api.
|
|
127
|
+
|
|
128
|
+
Closes #9012
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Tips
|
|
132
|
+
|
|
133
|
+
- Use the imperative mood ("Add feature" not "Added feature")
|
|
134
|
+
- Keep the first line under 72 characters
|
|
135
|
+
- Reference the issue number with `Closes #1234` to auto-close it when merged
|
|
136
|
+
- For breaking changes, explain what users need to do to migrate
|
|
137
|
+
|
|
138
|
+
## Submitting a pull request
|
|
139
|
+
|
|
140
|
+
### Before submitting
|
|
141
|
+
|
|
142
|
+
- [ ] Code passes linting (`npx standard`)
|
|
143
|
+
- [ ] Tests pass (`npm test`)
|
|
144
|
+
- [ ] Documentation is updated (if applicable)
|
|
145
|
+
- [ ] Commit messages follow the format above
|
|
146
|
+
- [ ] Branch is up to date with master
|
|
147
|
+
|
|
148
|
+
### Creating the PR
|
|
149
|
+
|
|
150
|
+
1. Push your branch to GitHub
|
|
151
|
+
2. Open a pull request against the `master` branch
|
|
152
|
+
3. Fill in the PR template, linking to the issue it addresses
|
|
153
|
+
4. Request reviews from the core team
|
|
154
|
+
|
|
155
|
+
For external contributors, submit the PR from your fork to the upstream repository.
|
|
156
|
+
|
|
157
|
+
## Code review
|
|
158
|
+
|
|
159
|
+
All code must be reviewed before merging.
|
|
160
|
+
|
|
161
|
+
### Requirements
|
|
162
|
+
|
|
163
|
+
For a PR to be merged:
|
|
164
|
+
|
|
165
|
+
- **2 approvals required** — At least two reviewers must approve
|
|
166
|
+
- **CI checks must pass** — Linting and tests must succeed
|
|
167
|
+
- **No unresolved conversations** — All review comments must be addressed
|
|
168
|
+
|
|
169
|
+
### Review criteria
|
|
170
|
+
|
|
171
|
+
Reviewers will check that:
|
|
172
|
+
|
|
173
|
+
- The code does what the issue describes
|
|
174
|
+
- The implementation approach is sound
|
|
175
|
+
- Code style follows project standards
|
|
176
|
+
- Tests are included where appropriate
|
|
177
|
+
- Documentation is added/updated where necessary
|
|
178
|
+
- No negative side effects are anticipated
|
|
179
|
+
- Commit messages follow the required format
|
|
180
|
+
|
|
181
|
+
### Responding to feedback
|
|
182
|
+
|
|
183
|
+
If changes are requested:
|
|
184
|
+
|
|
185
|
+
1. Make the requested changes in new commits
|
|
186
|
+
2. Push to the same branch (the PR updates automatically)
|
|
187
|
+
3. Reply to review comments explaining what you changed
|
|
188
|
+
4. Request re-review when ready
|
|
189
|
+
|
|
190
|
+
### After approval
|
|
191
|
+
|
|
192
|
+
Once approved, a core team member will merge your PR. Thanks for contributing! :tada:
|
package/docs/contributing.md
CHANGED
|
@@ -1,54 +1,45 @@
|
|
|
1
1
|
# Contributing to the project
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Thank you for your interest in contributing to the Adapt authoring tool! Whether you're fixing a bug, adding a feature, improving documentation, or just helping others in the community, your contribution is valued.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Join the community
|
|
6
6
|
|
|
7
|
-
The Adapt project has a
|
|
7
|
+
The Adapt project has a friendly, knowledgeable community — make the most of it.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
**Chat with us** — Drop by our [adapt-authoring room](https://gitter.im/adaptlearning/adapt-authoring) on Gitter to ask questions or say hello. For general Adapt discussion, there's also [general_chat](https://gitter.im/adaptlearning/general_chat). You'll need a GitHub account to join.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
**Visit the community site** — The [Adapt Learning community site](https://www.adaptlearning.org/) is the project hub, with forums, resources, and links to all corners of the project.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
### Head to the community site
|
|
16
|
-
|
|
17
|
-
The community site acts as the project hub; first and foremost providing you with links to all corners of the Adapt project, such as the issue tracker, and source code.
|
|
18
|
-
|
|
19
|
-
At the heart of the community site are the forums, and one of the best ways you can contribute to the project is to share your knowledge of Adapt in here. The only requirement is that you like a chat!
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
## 2. Find something to work on
|
|
23
|
-
|
|
24
|
-
The next step to getting involved is to find something to actually work on. Based on your skills and interests, there are a number of different areas that you can help out with.
|
|
13
|
+
## Ways to contribute
|
|
25
14
|
|
|
26
15
|
### Report issues
|
|
27
16
|
|
|
28
|
-
|
|
29
|
-
- [Adapt Framework](https://github.com/adaptlearning/adapt_framework/issues)
|
|
30
|
-
- [Adapt authoring tool](https://github.com/adaptlearning/adapt-authoring/issues)
|
|
17
|
+
Found a bug? Have an idea for a feature? Submit it to the relevant repository:
|
|
31
18
|
|
|
32
|
-
|
|
19
|
+
- [Adapt authoring tool](https://github.com/adapt-security/adapt-authoring/issues)
|
|
20
|
+
- [Adapt Framework](https://github.com/adaptlearning/adapt_framework/issues)
|
|
33
21
|
|
|
34
|
-
|
|
22
|
+
Before submitting, search existing issues to avoid duplicates. When reporting bugs, include steps to reproduce, expected behaviour, and actual behaviour.
|
|
35
23
|
|
|
36
24
|
### Fix issues
|
|
37
25
|
|
|
38
|
-
If you're
|
|
26
|
+
If you're a developer, fixing existing issues is a great way to contribute. Check out the issue trackers for bugs labelled with difficulty ratings:
|
|
39
27
|
|
|
40
|
-
|
|
28
|
+
- `D: beginner` / `D: easy` — Good starting points for newcomers
|
|
29
|
+
- `D: medium` — For developers comfortable with Node.js
|
|
30
|
+
- `D: hard` / `D: insane` — Complex issues requiring deep codebase knowledge
|
|
41
31
|
|
|
42
|
-
|
|
32
|
+
See [Contributing Code](contributing-code) for the complete guide on submitting code changes.
|
|
43
33
|
|
|
44
|
-
|
|
34
|
+
### Write documentation
|
|
45
35
|
|
|
46
|
-
|
|
36
|
+
Clear documentation helps everyone. If you spot something that could be improved, or want to write new guides, we'd love your help. You don't need to be a developer — just a willingness to explain things clearly.
|
|
47
37
|
|
|
48
|
-
###
|
|
38
|
+
### Help others
|
|
49
39
|
|
|
50
|
-
|
|
40
|
+
Share your knowledge in the forums and chat rooms. Answering questions is one of the most valuable contributions you can make.
|
|
51
41
|
|
|
52
|
-
##
|
|
42
|
+
## Find us on GitHub
|
|
53
43
|
|
|
54
|
-
|
|
44
|
+
- [adapt-security](https://github.com/adapt-security) — Authoring tool repositories
|
|
45
|
+
- [adaptlearning](https://github.com/adaptlearning) — Adapt Framework and community plugins
|
|
@@ -230,31 +230,28 @@ export default class Contributors {
|
|
|
230
230
|
|
|
231
231
|
return `<div class="contributors-grid">\n${rows}\n</div>
|
|
232
232
|
<style>
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
vertical-align: middle;
|
|
256
|
-
}
|
|
257
|
-
</style>`
|
|
233
|
+
.contributors-grid {
|
|
234
|
+
margin: 0 auto;
|
|
235
|
+
max-width: 600px;
|
|
236
|
+
padding: 20px 0;
|
|
237
|
+
}
|
|
238
|
+
.contributors-row {
|
|
239
|
+
display: flex;
|
|
240
|
+
flex-wrap: wrap;
|
|
241
|
+
align-items: center;
|
|
242
|
+
justify-content: center;
|
|
243
|
+
gap: 4px;
|
|
244
|
+
margin-bottom: 12px;
|
|
245
|
+
text-align: center;
|
|
246
|
+
}
|
|
247
|
+
.contributors-grid a:hover {
|
|
248
|
+
transform: scale(1.1);
|
|
249
|
+
}
|
|
250
|
+
.contributor-avatar {
|
|
251
|
+
object-fit: cover;
|
|
252
|
+
vertical-align: middle;
|
|
253
|
+
}
|
|
254
|
+
</style>`
|
|
258
255
|
} catch (e) {
|
|
259
256
|
console.error('Failed to generate contributors list:', e)
|
|
260
257
|
return '<p>Unable to load contributors list.</p>'
|
package/docs/releasing.md
CHANGED
|
@@ -34,7 +34,7 @@ Releases follow [semantic versioning](https://semver.org/) (major.minor.patch).
|
|
|
34
34
|
| `Breaking:` | Major (x.0.0) | Breaking changes |
|
|
35
35
|
| `Docs:`, `Chore:` | No release | Documentation, maintenance |
|
|
36
36
|
|
|
37
|
-
See [
|
|
37
|
+
See [contributing code](contributing-code) for detailed commit message guidelines.
|
|
38
38
|
|
|
39
39
|
### Configuration
|
|
40
40
|
|
package/lib/Utils.js
CHANGED
|
@@ -54,16 +54,20 @@ class Utils {
|
|
|
54
54
|
if (!options.cwd) options.cwd = ''
|
|
55
55
|
App.instance.log('verbose', 'SPAWN', options)
|
|
56
56
|
const task = spawn(options.cmd, options.args ?? [], { cwd: options.cwd })
|
|
57
|
-
let
|
|
57
|
+
let stdout = ''
|
|
58
|
+
let stderr = ''
|
|
58
59
|
let error
|
|
59
60
|
task.stdout.on('data', data => {
|
|
60
|
-
|
|
61
|
+
stdout += data
|
|
62
|
+
})
|
|
63
|
+
task.stderr.on('data', data => {
|
|
64
|
+
stderr += data
|
|
61
65
|
})
|
|
62
66
|
task.on('error', e => {
|
|
63
67
|
error = e
|
|
64
68
|
})
|
|
65
69
|
task.on('close', exitCode => {
|
|
66
|
-
exitCode !== 0 ? reject(App.instance.errors.SPAWN.setData({ error: error ??
|
|
70
|
+
exitCode !== 0 ? reject(App.instance.errors.SPAWN.setData({ error: error ?? stderr ?? stdout })) : resolve(stdout)
|
|
67
71
|
})
|
|
68
72
|
})
|
|
69
73
|
}
|
package/package.json
CHANGED
package/docs/git.md
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Git process
|
|
2
|
-
|
|
3
|
-
> This article assumes that you understand the [basic concepts of the git version control system](https://help.github.com/articles/good-resources-for-learning-git-and-github/)._
|
|
4
|
-
|
|
5
|
-
### Overview
|
|
6
|
-
|
|
7
|
-
The authoring tool core repository doesn't contain any code
|
|
8
|
-
|
|
9
|
-
We organise the branches in our repos in a similar way to standard [git flow](https://datasift.github.io/gitflow/IntroducingGitFlow.html), with a few alterations.
|
|
10
|
-
|
|
11
|
-
### Branching
|
|
12
|
-
|
|
13
|
-
We use the following branches:
|
|
14
|
-
|
|
15
|
-
Name | Description | Persisting
|
|
16
|
-
---- | ----------- | ----------
|
|
17
|
-
`master` | Contains the stable, released code. | yes
|
|
18
|
-
`release/VERSION_NAME`<br/>*(e.g. `release/v1.0`)* | A release candidate branch. Contains **development** code, and should not be considered stable. Use this code at your own risk! | no
|
|
19
|
-
`issue/TICKET_NAME` <br/>*(e.g. `issue/1024`)* | A self-contained bug-fix/feature. Should be named after a corresponding issue ID. Finished changes should be submitted as a pull request. | no
|
|
20
|
-
|
|
21
|
-
We also apply the following rules:
|
|
22
|
-
|
|
23
|
-
* The `master` branch is the only persisting branch. **All other branches should be deleted post-merge**.
|
|
24
|
-
* The `master` branch contains only thoroughly tested code, and should only ever merge code from a `release` branch.
|
|
25
|
-
* Any `issue` branches should be submitted as a PR to the current `release` branch (**NOT `master` -- unlike standard git flow, we don't allow hotfixes directly into `master`**).
|
|
26
|
-
|
|
27
|
-
### Gearing up for release
|
|
28
|
-
|
|
29
|
-
We go through the following schedule prior to making a release:
|
|
30
|
-
|
|
31
|
-
1. The core development team assign a bunch of issues/features to the relevant release.
|
|
32
|
-
2. A `release` branch is created from the master branch.
|
|
33
|
-
3. The coders are let loose :dizzy_face::wrench:, and submit their additions as PRs using the [documented process](peer-review).
|
|
34
|
-
4. Once all work has been done, we call a code freeze :snowflake: to avoid any scope-creep (i.e. only allow bug fixes from this point).
|
|
35
|
-
5. The release branch goes through our testing process.
|
|
36
|
-
6. Any bugs found are fixed :innocent:.
|
|
37
|
-
7. Steps 5. and 6. are :repeat: as necessary.
|
|
38
|
-
|
|
39
|
-
### Releasing
|
|
40
|
-
|
|
41
|
-
Once the release code has been tested, we merge the release branch into `master`, tag the `master` branch with the release number, and **party**! :tada::balloon::tropical_drink:
|
package/docs/peer-review.md
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Peer code review
|
|
2
|
-
|
|
3
|
-
All code must go through a peer-approval process before it is merged with any of the collaborator-maintained codebases. This is to ensure that it firstly 'scratches' the intended 'itch', and complies to the guidelines set out by the project.
|
|
4
|
-
|
|
5
|
-
## The Process
|
|
6
|
-
|
|
7
|
-
When code is ready for review, the below process is followed:
|
|
8
|
-
|
|
9
|
-
1. Code is submitted for review as a pull request.
|
|
10
|
-
1. Code is then reviewed by peers using GitHub's [pull-request review](https://help.github.com/articles/about-pull-request-reviews/) feature to leave comments where necessary and give an approval/rejection.
|
|
11
|
-
1. Code is amended if needed until it satisfies the required number of approvals.
|
|
12
|
-
1. Provided all unit tests are passing, code is merged.
|
|
13
|
-
|
|
14
|
-
## The Rules
|
|
15
|
-
|
|
16
|
-
The reviewing process is governed by these rules:
|
|
17
|
-
|
|
18
|
-
* The developer who submits the PR is not allowed to submit a review.
|
|
19
|
-
* If a commit is added to the PR, any previously given reviews are invalidated. Everyone must re-post their verdicts after reviewing the commit.
|
|
20
|
-
* Any new functionality/feature requests uncovered during review of a PR must be separated into new issues/PRs, unless directly related.
|
|
21
|
-
* **For code to be merged, a minimum of three approvals is required. Of these, at least two must have come from a core team member. In the interest of impartiality, it is generally not advised to get all three approvals from a single collaborating company.**
|
|
22
|
-
* The person who merges the PR must also submit their review prior to merging **if their vote is required**. Merging a PR which already has enough approvals does not require the review of the merger themselves.
|
|
23
|
-
* Any review rejections must be accompanied by an adequate explanation of why the PR should not be merged. Without this, the review will be disregarded.
|
|
24
|
-
* Any concerns signalled by a 'rejected' review warrant careful consideration, but no reviewer has veto rights. If the PR receives enough approvals, it can still be merged (provided the other rules outlined on this page are followed).
|
|
25
|
-
1. Concerns will be resolved in conversation between the submitter of the PR and the reviewer who rejected the PR. When/if satisfied, the reviewer will change verdict to an approval.
|
|
26
|
-
2. At an impasse, a course of action will be decided by the core development team.
|
|
27
|
-
|
|
28
|
-
## The Verdict
|
|
29
|
-
|
|
30
|
-
There are two 'statuses' which can be applied to submitted PRs: **approve** and **request changes**. See below for a quick checklist for each:
|
|
31
|
-
|
|
32
|
-
### Request changes.
|
|
33
|
-
A core developer may reject a PR because any (or all) of the following:
|
|
34
|
-
|
|
35
|
-
- The code fails testing.
|
|
36
|
-
- The code does not meet Adapt standards.
|
|
37
|
-
- The code negatively impacts the application.
|
|
38
|
-
- There are unresolved questions about the intent of the code.
|
|
39
|
-
|
|
40
|
-
### Approved.
|
|
41
|
-
A core developer will approve an PR because of the following:
|
|
42
|
-
|
|
43
|
-
- The intentions of the submitter are understood.
|
|
44
|
-
- The implementation of the PR is accepted.
|
|
45
|
-
- The submitted code complies with the code-style outlined in the project's [styleguide](https://github.com/adaptlearning/documentation/blob/master/01_cross_workstream/style_guide.md).
|
|
46
|
-
- The code passes all automated tests.
|
|
47
|
-
- No negative issues resulting from the proposed changes are forseen.
|
|
48
|
-
|
|
49
|
-
## References
|
|
50
|
-
|
|
51
|
-
[SmartBear: 11 Best Practices for Peer Code Review](http://smartbear.com/smartbear/media/pdfs/wp-cc-11-best-practices-of-peer-code-review.pdf)
|
package/docs/run.md
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# Running the application
|
|
2
|
-
> You can find developer-specific instructions in the [developer install instructions](install-dev).
|
|
3
|
-
|
|
4
|
-
To run the application, simply use the npm start script:
|
|
5
|
-
```
|
|
6
|
-
npm start
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
> Advanced users may also use the `NODE_ENV` environment variable to specify which configuration file is loaded with the application. This value is `production` by default.
|
|
10
|
-
> You can read more about configuring your environment on [this page](configure-environment).
|
|
11
|
-
|
|
12
|
-
The application will take a while to start up on the first boot, as it has various initialisation tasks to perform. Subsequent boots will be much quicker.
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# Writing core code
|
|
2
|
-
|
|
3
|
-
We heartily welcome contributions to the source code for the Adapt authoring project. This document outlines a few tips to help you get started.
|
|
4
|
-
## Finding work
|
|
5
|
-
|
|
6
|
-
* Pick an open issue from the list [here.](https://github.com/adaptlearning/adapt-authoring/issues)
|
|
7
|
-
* Create a new ticket for the issue you have noticed, following our guidelines on [submitting new bugs and features.](https://github.com/adaptlearning/adapt_framework/wiki/Bugs-and-features)
|
|
8
|
-
* If submitting a new ticket, we recommend getting the go-ahead for the change from the core team before you start work.
|
|
9
|
-
|
|
10
|
-
### Use the labels
|
|
11
|
-
|
|
12
|
-
We add difficulty rating labels to issues to give developers an idea of the work involved (always prefixed with `D:`). Picking up a `D: beginner` or `D: easy` issue is a good place to start if you're new to the project, and have limited Node.js and Backbone.js experience. For more confident developers, `D: medium` issues should be no problem. Any `D: hard` and `D: insane` issues are likely to involve very complex solutions, and potentially collaboration, to solve. Due to the work involved, these should only be attempted by developers with an extensive knowledge of the codebase, and a good working relationship with the core team.
|
|
13
|
-
|
|
14
|
-
## Making Changes
|
|
15
|
-
|
|
16
|
-
* Create a new branch for the issue that you are fixing:
|
|
17
|
-
* Make sure to base it on the correct parent branch; in most cases this will be develop. Getting this step wrong may cause you a lot of heartbreak when it comes to merging later on, so it's worth checking before starting work.
|
|
18
|
-
* Name your branch according to the issue it addresses (i.e. `issue/1234`).
|
|
19
|
-
* Create your branch (e.g. `git checkout -b issue/123 origin/develop`).
|
|
20
|
-
* Make your changes (please make sure that your commit messages stick to the [guidelines](http://www.git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#Commit-Guidelines), and take advantage of GitHub's built in features to [close issues via commits.](https://help.github.com/articles/closing-issues-via-commit-messages/)
|
|
21
|
-
* Add unit tests to cover your new functionality, if appropriate.
|
|
22
|
-
* Run the existing unit tests using `npm test` (and ensure they pass!)
|
|
23
|
-
|
|
24
|
-
## Submitting Changes
|
|
25
|
-
|
|
26
|
-
### Checklist
|
|
27
|
-
- Does it have an accompanying issue?
|
|
28
|
-
- Does it have tests?
|
|
29
|
-
- Does it pass the project's code standards?
|
|
30
|
-
|
|
31
|
-
* Push your changes to your personal fork of the `adapt_authoring` repository.
|
|
32
|
-
* Submit a pull request using the GitHub interface, and make sure to link to the issue you're addressing.
|
|
33
|
-
* The core team will be automatically notified of your changes, but you can also bring it to our attention via the [gitter.im channel](https://gitter.im/adaptlearning/server-refactor).
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|