On Sun, Jun 28, 2026 at 03:21:02PM -0500, Maxwell G wrote:
> Discourse should _not_ be the primary source of truth for Change
> Proposal texts. I've heard suggestions to use it for this, since
> it's one place and already supports markdown-formatted text and is
> currently used for discussion, but I don't believe it's a good place
> to store and work with Changes. There's not a good way to
> programmatically access Changes if they were stored in Discourse.
> Forum software is not meant for archiving anything. A repository of
> plain text files is better-suited for this purpose.

It's actually easy to programmatically access posts in Discourse.

For example,

  
https://discussion.fedoraproject.org/t/f45-change-proposal-bash-color-prompt-1-0-system-wide/195279

is available in JSON simply by tacking `.json` on the end: 

  
https://discussion.fedoraproject.org/t/f45-change-proposal-bash-color-prompt-1-0-system-wide/195279.json

and (somewhat less discoverably, but, once you know) as "raw" markdown at 

  https://discussion.fedoraproject.org/raw/195279

and the topic ID is a long-term stable identifier.

You can also get Change Proposals as an RSS feed in a similar way: 

  https://discussion.fedoraproject.org/c/project/changes/89.rss

.


I think that _accepted_ changes should be archived in a consistent place in
docs.fedoraproject.org, but (perhaps not shockingly!) I think Discourse
would be a great place to _work_ with them.

There are several tools available as part of Discourse which we aren't
currently using but which I think could make the process better.

First, we could use the Discourse Kanban view. See it in use by the Magazine
team here:

  https://discussion.fedoraproject.org/c/57/l/latest?board=default

That uses tags for columns, but it's also possible to configure it with
_categories. That would allow different permissions for each column -- for
example, new submissions open to anyone in some FAS group, and then "Ready"
column available to ChangeWrangler and FESCo, an In Discussion column
mapping to thte existing Change Proposals category, and so on.


Second, the submissions themselves could use Discourse Form Templates 

  https://meta.discourse.org/t/creating-form-templates/397564/1

to provide a structured, consistent submission format. (I actually started
to work on a demo of this a while ago but then got stalled out.)

The result of the submission is a markdown file when saved. (There was a
roadmap item to implement storing it as json but I don't think that ever
landed.) So some care would need to be taken when editing, but I think it's
still an improvement over way we're using the wiki now. We could also use
Discourse tags for some metadata (pros and cons for that, of course.) Or, as
I saw elsewhere in the dicsussion here, have a standard expected yaml (or
toml!) block as part of the format.

Discourse also has webhooks which could be configured specially for this
category to talk to external tools -- or we could extend the existing
webhook-to-message-bus integration. That could be used for archiving, or for
other tracking ... including, for that matter, syncing any edits to a git
repo, for people who would prefer to see the history that way.


-- 
Matthew Miller
<[email protected]>
Distinguished Engineer & Manager @ Red Hat
Erstwhile Fedora Project Leader
-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to