Skip to content

Commit 33156c3

Browse files
committed
- Purge FAQ as redundant and unused. No one asks questions about PLIPs anyway, so how can they be frequent?
- Purge hand-holding. It's a how-to guide. - Refer to setup of development environment.
1 parent 86c1fca commit 33156c3

File tree

2 files changed

+32
-124
lines changed

2 files changed

+32
-124
lines changed

docs/contributing/core/index.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ Only a few packages are in {file}`src/` by default.
180180

181181
Next create a new file {file}`buildout.local.cfg`, and add the names of packages that you want to develop under the `auto-checkout` list.
182182

183-
```cfg
183+
```ini
184184
[buildout]
185185
extends =
186186
buildout.cfg
@@ -228,6 +228,8 @@ git switch -c 123-thing-i-fixed
228228
Now you can edit your code without affecting the original branch.
229229

230230

231+
(contributing-core-test-locally-label)=
232+
231233
## Test locally
232234

233235
If you change the expected behavior of a feature in a package, you should write a test to cover the change.
@@ -261,6 +263,8 @@ If you can't afford this disruption, you can defer it to Jenkins.
261263
```
262264

263265

266+
(contributing-core-change-log-label)=
267+
264268
## Change log
265269

266270
All changes require a change log entry.

docs/contributing/core/plips.md

Lines changed: 27 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@ Every PLIP must be approved by the designated team.
9595

9696
## Implement your PLIP
9797

98+
(plip-setup-instructions-label)=
99+
100+
```{note}
101+
This section assumes you have read and followed the instructions in {doc}`index` to set up your development environment, up until {ref}`contributing-core-edit-packages-label`.
102+
```
103+
98104
You can start the development at any time, but if you intend to modify Plone core, it is a good idea to wait to see if your idea is approved.
99105

100106

@@ -114,15 +120,12 @@ You can start the development at any time, but if you intend to modify Plone cor
114120

115121
### Create a new PLIP branch
116122

117-
Create a buildout configuration file for your PLIP in the `plips` folder of {file}`buildout.coredev`.
118-
119-
Give it a descriptive name, starting with the PLIP number, for example, {file}`plip-1234-widget-frobbing.cfg`.
123+
Create a buildout configuration file for your PLIP in the `plips` folder of `buildout.coredev`.
124+
Its name should follow the pattern `plip-repository-issue_number-description.cfg`.
125+
For example, {file}`plip-volto-1234-widget-frobbing.cfg`.
120126

121-
The PLIP number is your PLIP's issue number.
122-
123-
This file will define the branches you're working with in your PLIP, along with other buildout configuration.
124-
125-
It should look something like the following, such as in a file {file}`plips/plip-1234-widget-frobbing.cfg`.
127+
This file will define the branches for your PLIP, along with other buildout configuration.
128+
The following is example content for the file {file}`plips/plip-volto-1234-widget-frobbing.cfg`.
126129

127130
```ini
128131
[buildout]
@@ -132,8 +135,8 @@ auto-checkout +=
132135
plone.app.someotherpackage
133136

134137
[sources]
135-
plone.somepackage = git https://github.com/plone/plone.somepackage.git branch=plip-1234-widget-frobbing
136-
plone.app.someotherpackage = git https://github.com/plone/plone.app.somepackage.git branch=plip-1234-widget-frobbing
138+
plone.somepackage = git https://github.com/plone/plone.somepackage.git branch=plip-volto-1234-widget-frobbing
139+
plone.app.someotherpackage = git https://github.com/plone/plone.app.somepackage.git branch=plip-volto-1234-widget-frobbing
137140

138141
[instance]
139142
eggs +=
@@ -145,138 +148,39 @@ zcml +=
145148
```
146149

147150
Use the same naming convention when you branch existing packages.
148-
You should always branch packages when working on PLIPs.
149151

150152

151-
### Working on a PLIP
153+
### Work on a PLIP
152154

153-
To work on a PLIP, you bootstrap buildout, and then invoke buildout with your PLIP configuration:
155+
To work on a PLIP, assuming you have followed the {ref}`PLIP set up instructions <plip-setup-instructions-label>`, you can invoke buildout with your PLIP configuration as follows.
154156

155157
```shell
156-
virtualenv .
157-
./bin/pip install -r requirements.txt
158-
./bin/buildout -c plips/plip-1234-widget-frobbing.cfg
158+
./bin/buildout -c plips/plip-volto-1234-widget-frobbing.cfg
159159
```
160160

161-
If you are using a {file}`local.cfg` to extend your PLIP file with some changes that you do not want to commit accidentally, be aware that you need to override some settings from {file}`plipbase.cfg` to avoid some files being created in the {file}`plips` directory or in the directory above the buildout directory.
162-
This is done as shown below.
163-
164-
```ini
165-
[buildout]
166-
extends = plips/plip-1234-widget-frobbing.cfg
167-
develop-eggs-directory = ./develop-eggs
168-
bin-directory = ./bin
169-
parts-directory = ./parts
170-
sources-dir = ./src
171-
installed = .installed.cfg
172-
173-
[instance]
174-
var = ./var
161+
```{seealso}
162+
See {ref}`contributing-core-test-locally-label`, {ref}`contributing-core-change-log-label`, and {ref}`contributing-core-create-a-pull-request-label`.
175163
```
176164

177165

178-
### Finishing up
166+
### Finish up
179167

180-
Before marking your PLIP as ready for review, please add a file to give a set of instructions to the PLIP reviewer.
181-
This file should be called {file}`plip_<number>_notes.txt`.
168+
Before marking your PLIP as ready for review as a pull request, add a file to give a set of instructions to the PLIP reviewer.
169+
This file should be called {file}`plip_<repository>_<number>_notes.txt`.
182170
This should include, but is not limited to:
183171

184-
- URLs pointing to all documentation created and updated
185-
- Any concerns and issues still remaining
186-
- Any weird buildout things
172+
- URLs pointing to all documentation created and updated
173+
- Any concerns and issues still remaining
174+
- Any weird buildout things
187175

188-
Once you have finished, update your PLIP issue to indicate that it is ready for review.
189-
The Framework Team will assign 2-3 people to review your PLIP.
176+
Once you have finished, update your PLIP issue and pull request to indicate that it is ready for review.
177+
The designated team will review your PLIP.
190178
They will follow the guidelines listed at {doc}`plip-review`.
191179

192-
After the PLIP has been accepted by the Framework Team and the release managers, you will be asked to merge your work into the main development line.
193-
Merging the PLIP in is not the hardest part, but you must think about it when you develop.
194-
195-
You'll have to interact with a large number of people to get it all set up.
180+
After the PLIP has been accepted by the designated team and the release managers, you will be asked to merge your work into the main development line.
196181

197182
The merge may have unintended interactions with other PLIPs coming in.
198183
During the merge phase you must be prepared to help out with all the features and bugs that arise.
199184

200185
If all went as planned, the next Plone release will carry on with your PLIP in it.
201186
You'll be expected to help out with that feature after it's been released (within reason).
202-
203-
204-
## Frequently asked questions about PLIPs
205-
206-
This section provides detailed answers to common questions about PLIPs.
207-
208-
209-
### PLIP or bug fix?
210-
211-
In general, anything that changes the API of Plone in the backend or the user interface (UI) on the front end should be filed as a PLIP.
212-
When in doubt, submit it as a PLIP.
213-
The Framework Team will reclassify it if your proposal falls below the threshold.
214-
If the change you are proposing is not in the scope of a PLIP, a GitHub pull request or issue is the right format.
215-
The key point here is that each change must be documented, allowing it to be tracked and understood.
216-
217-
218-
### Who can submit PLIPs?
219-
220-
Anyone who has signed a Plone Contributor Agreement can work on a PLIP.
221-
222-
```{todo}
223-
The FWT no longer participates in PLIPs.
224-
Recommend deletion of next two paragraphs.
225-
```
226-
The Framework Team is happy to help you at any point in the process.
227-
228-
When the PLIP is accepted, a Framework Team member will "champion" your PLIP and follow up to its completion.
229-
230-
231-
### What is a PLIP champion?
232-
233-
```{todo}
234-
This section is no longer in practice.
235-
Recommend deletion.
236-
```
237-
238-
When you submit your PLIP and it is approved, a Framework Team member will take on the role of champion for that PLIP.
239-
240-
They are there to help you through completion, answer questions, and provide guidance.
241-
242-
A champion fulfills the following tasks:
243-
244-
- Answer any questions the PLIP implementor has, technical or otherwise.
245-
- Encourage the PLIP author by constantly giving feedback and encouragement.
246-
- Keep the implementer aware of timelines, and push to get things done on time.
247-
- Assist with finding additional help when needed to complete the implementation in a timely matter.
248-
249-
Keep in mind that champions are volunteers as well, and have other tasks in life.
250-
That means you will have to play an active role in asking for help or guidance.
251-
252-
253-
### Can I get involved in other ways?
254-
255-
If you want to experience the process and how it works, help us review PLIPs as the implementations finish up.
256-
257-
Check the status of PLIPs at https://github.com/search?q=path%3A%2Fplone+label%3A%2203+type%3A+feature+%28plip%29%22++&type=issues&ref=advsearch&state=open.
258-
259-
Then, follow the instructions for {doc}`reviewing a PLIP <plip-review>`.
260-
261-
262-
### When can I submit a PLIP?
263-
264-
Today, tomorrow, any time!
265-
266-
After the PLIP is accepted, the Framework Team will try to judge complexity and time to completion, and assign it to a milestone.
267-
268-
269-
### When is the PLIP due?
270-
271-
**Summary: As soon as you get it done.**
272-
273-
Ideally, a PLIP should be completed for the release to which it's assigned.
274-
Sometimes life gets in the way, and a PLIP may have to be re-assigned to the following release.
275-
276-
In general, PLIPs shouldn't take more than a year, otherwise they should be closed. A new PLIP can follow up if there is more capacity to see it through.
277-
278-
279-
### What happens if your PLIP is not accepted?
280-
281-
If a PLIP isn't accepted in core, it doesn't mean it's a bad idea.
282-
It is often the case that there are competing implementations, and the community wants to see it vetted as an add-on before "blessing" a particular implementation.

0 commit comments

Comments
 (0)