@@ -137,6 +137,17 @@ by improving Roundup and/or our instance.
137
137
A mobile-friendly theme that is more modern but still familiar
138
138
will be added.
139
139
140
+
* **Move reply box close to the last message.** The reply box is
141
+
located at the top of the page, whereas the last message is at the
142
+
bottom.
143
+
144
+
The reply box can be moved or duplicated after the last message.
145
+
146
+
* **Real-time updates.** When another users submits changes to an
147
+
issue, they should show up in real time.
148
+
149
+
This can be accomplished by using the REST API.
150
+
140
151
* **Add PR link to BPO emails.** Currently bpo emails don't include
141
152
links to the corresponding PRs.
142
153
@@ -277,78 +288,135 @@ have been addressed by :pep:`581` and :pep:`588`.
277
288
278
289
:pep:`588` suggests to add a button to migrate issues to GitHub
279
290
only when someone wants to keep working on them. This approach
280
-
has several issues:
281
-
282
-
* bpo will need to be updated in order to add a button that,
283
-
once pressed, creates a new issue on GitHub, copies over all
284
-
the messages, attachments, and creates/adds label for the
285
-
existing fields. Permissions will also need to be tweaked
286
-
to make individual issues read-only once they are migrated,
287
-
and to prevent users to create new accounts.
288
-
289
-
* The issues will be split between two trackers; searching issues
290
-
will take significant more effort.
291
-
292
-
* The conversion from Roundup to GitHub is lossy, unless all
293
-
the bpo fields are converted into labels or preserved somewhere
294
-
else.
295
-
296
-
* bpo converts a number of references into links, including
297
-
issue, message, and PR IDs, changeset numbers, legacy SVN
298
-
revision numbers, paths to files in the repo, files in
299
-
tracebacks (detecting the correct branch), links to devguide
300
-
pages and sections [#]_. This happens when messages are
301
-
requested so it is possible to create the correct link (e.g.
302
-
all the file links used to point to hg.python.org and now
303
-
point to GitHub).
304
-
305
-
If the links are hardcoded during the migration, it will be
306
-
difficult (if not impossible) to change them later. If they
307
-
aren't, they will either be lost, or a tool to generate the
308
-
links and updating them will need to be written.
309
-
310
-
* GitHub doesn't provide a way to set and preserve issue IDs
311
-
if they are migrated automatically with the use of a button.
312
-
(Some projects managed to preserve the IDs by contaacting
313
-
the GitHub staff and migrating the issues *en masse*.)
314
-
315
-
* On top of the work and changes required to migrate to GitHub
316
-
issues, we will still need to keep running and maintaining
317
-
Roundup, for both our instance (read-only) and for the Jython
291
+
has several issues, but there are also other issues that will
292
+
need to be addressed regardless of the approach used:
293
+
294
+
* **Vendor lock-in.** GitHub is properietary and there is risk
295
+
of vendor lock-in. Their business model might change and they
296
+
could shut down altogether. For example, several projects
297
+
decided to move away from GitHub after Microsoft acquisition.
298
+
299
+
If/when the repository is no longer available on GitHub, we will
300
+
be forced to migrate again and all the links to the issues won't
301
+
work anymore.
302
+
303
+
* **Required bpo updates.** bpo will need to be updated in order
304
+
to add a button that, once pressed, creates a new issue on
305
+
GitHub, copies over all the messages, attachments, and
306
+
creates/adds labels for the existing fields. Permissions will
307
+
also need to be tweaked to make individual issues read-only
308
+
once they are migrated, and to prevent users to create new
309
+
accounts. It might be necessary to set up redirects (see below).
310
+
311
+
* **Two trackers.** If issues are migrated on demand, the issues
312
+
will be split between two trackers. Referencing and searching
313
+
issues will take significant more effort.
314
+
315
+
* **Lossy conversion.** GitHub only mechanism to add custom metadata
316
+
is through labels. bpo uses a number of fields to specify several
317
+
different metadata. Preserving all fields and values will result
318
+
in too many labels. If only some fields and values are preserved
319
+
the others will be lost (unless there is a way to preserve them
320
+
elsewhere).
321
+
322
+
* **Issue IDs preservation.** GitHub doesn't provide a way to
323
+
set and preserve the ID of migrated issues. Some projects managed
324
+
to preserve the IDs by contacting the GitHub staff and migrating
325
+
the issues *en masse*. However, this is no longer possible, since
326
+
PRs and issues share the same namespace and PRs already use
327
+
existing bpo issue IDs.
328
+
329
+
* **Internal issue links preservation.** Existing issues might
330
+
contain references to other issues in messages and fields (e.g.
331
+
dependencies or superseder). Since the issue ID will change
332
+
during the migration, these will need to be updated. If the
333
+
issues are migrated on demand, all the existing internal
334
+
references to the migrated issues (on both bpo and GitHub issues)
335
+
will have to be updated.
336
+
337
+
Setting up a redirect for each migrated issue on bpo might
338
+
mitigate the issue, however -- if references in migrated messages
339
+
are not updated -- it will cause confusion (e.g. if bpo issue
340
+
`#1234` becomes GitHub issue `#4321`, a reference to `#1234`
341
+
in a migrated message could link to bpo `#1234` and bpo can
342
+
redirect to GitHub issue `#4321`, but new references to `#1234`
343
+
will link to GitHub PR `#1234` rather than GitHub issue `#4321`).
344
+
Manually having to specify a `bpo-` or `gh-` prefix is error prone.
345
+
346
+
* **External issue links preservation.** A number of websites,
347
+
mails, etc. link to bpo issues. If bpo is shut down, these links
348
+
will break. If we don't want to break the links, we will have to
349
+
keep bpo alive and set up a redirect system that links to the
350
+
corresponding GitHub issue.
351
+
352
+
In addition, if GitHub shuts down, we won't have any way to setup
353
+
redirects and preserve external links to GitHub issues.
354
+
355
+
* **References preservation and updating.** In addition to issue
356
+
references, bpo converts a number of other references into links,
357
+
including message and PR IDs, changeset numbers, legacy SVN
358
+
revision numbers, paths to files in the repo, files in tracebacks
359
+
(detecting the correct branch), and links to devguide pages and
360
+
sections [#]_.
361
+
362
+
Since Roundup converts references to links when messages are
363
+
requested, it is possible to update the target and generate the
364
+
correct link. This need already arised several times, for
365
+
example: files and HG changesets moved from `hg.python.org` to
366
+
GitHub and the devguide moved from `docs.python.org/devguide` to
367
+
`devguide.python.org`.
368
+
369
+
Since messages on GitHub are static, the links will need to be
370
+
generated and hardcoded during the migration or they will be lost.
371
+
In order to update them, a tool to find all references and
372
+
regenerate the links will need to be written.
373
+
374
+
* **Roundup and bpo maintenance.** On top of the aforementioned
375
+
changes to bpo and development of tools required to migrate to
376
+
GitHub issues, we will still need to keep running and maintaining
377
+
Roundup, both for our bpo instance (read-only) and for the Jython
318
378
and Roundup trackers (read-write).
319
379
380
+
Even if eventually we migrate all bpo issues to GitHub and we stop
381
+
maintaining Jython and Roundup, bpo will need to be maintained
382
+
and redirect to the corresponding GitHub issues.
320
383
321
-
In addition to the issues listed in the "Open issues" section of
322
-
:pep:`588`, this issues will need to be addressed:
384
+
* **Bots maintenance.** Since it's not possible to customize GitHub
385
+
directly, it's also necessary to write, maintain, and host bots.
386
+
Even if eventually we stop maintaining Roundup, the maintenance
387
+
burden simply shifted from Roundup to the bots. Hosting each
388
+
different bot also has a monetary cost.
323
389
324
-
* GitHub is properietary and there is risk of vendor lock-in.
325
-
Their business model might change and they could shut down
326
-
altogether.
390
+
* **Using issue templates.** Manually editing issue templates to
391
+
"remove texts that don't apply to [the] issue" is cumbersome and
392
+
error-prone.
327
393
328
-
* Switching to GitHub Issues will likely increase the number of
329
-
invalid reports and increase the triaging effort. This concern
330
-
has been raised in the past in a Zulip topic [#]_.
394
+
* **Signal to noise ratio.** Switching to GitHub Issues will
395
+
likely increase the number of invalid reports and increase
396
+
the triaging effort. This concern has been raised in the past
397
+
in a Zulip topic [#]_.
331
398
332
399
There have been already cases where people posted comments on
333
400
PRs that required moderators to mark them as off-topic or
334
401
disruptive, delete them altogether, and even lock the
335
402
conversation [#]_.
336
403
337
-
* Roundup sends weekly reports to python-dev with a summary that
338
-
includes new issues, recent issues with no replies, recent
339
-
issues waiting for review, most discussed issues, closed issues,
340
-
and deltas for open/closed/total issue counts [#]_. The report
341
-
provides an easy way to keep track of the tracker activity and
342
-
to make sure that issues that require attention are noticed.
404
+
* **Weekly tracker reports and stats.** Roundup sends weekly reports
405
+
to python-dev with a summary that includes new issues, recent
406
+
issues with no replies, recent issues waiting for review, most
407
+
discussed issues, closed issues, and deltas for open/closed/total
408
+
issue counts [#]_. The report provides an easy way to keep track
409
+
of the tracker activity and to make sure that issues that require
410
+
attention are noticed.
343
411
344
412
The data collect by the weekly report is also use to generate
345
413
statistics and graphs that can be used to gain new insights [#]_.
346
414
347
-
* There are currently two mailing lists where Roundup posts new
348
-
tracker issues and all messages respectively: new-bugs-announce
349
-
[#]_ and python-bugs-list [#]_. A new system will need to be
350
-
developed to preserve this functionality. These MLs offer
351
-
additional ways to keep track of the tracker activity.
415
+
* **bpo-related MLs.** There are currently two mailing lists where
416
+
bpo posts new tracker issues and all messages respectively:
417
+
`new-bugs-announce` [#]_ and `python-bugs-list` [#]_. A new system
418
+
will need to be developed to preserve this functionality. These MLs
419
+
offer additional ways to keep track of the tracker activity.
352
420
353
421
354
422
References
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4