An open source, officially hosted place to share draft ideas and write collaboratively. #26

Open
opened 2026-04-07 16:57:27 +00:00 by egret · 15 comments
Member

Background

As a team, for practical reasons we often share draft ideas or write collaboratively using tools such as HackMd before opening PRs.

Do we want or need an open source, officially hosted tool for this? And would it make the contribution process more streamlined?

Potential solution

HedgeDoc is an open source implementation of HackMD.

  • Can be integrated with FAS.
  • Customisation could give it an official Fedora look and feel.
  • It is very light on resource requirements. Runs on a CommuniShift instance. See infra/tickets#13172

So I went ahead and set this up in CommuniShift.

You can try the CommuniShift instance of HedgeDoc here: https://hedgedoc-communishift-draft-share.apps.fedora.cj14.p1.openshiftapps.com/

A few notes on the current state of the CommuniShift HedgeDoc:

  • Only local account creation at this stage. But is functional to use with new guest note without an account.
  • It doesn't yet have any customisations to make it feel more Fedora official.
  • As it stands, the namespace will be deleted (and Hedgedoc with it) once F44 is released, unless we request an extension.
  • The persistent volume is likely not backed up (keep a copy of work somewhere else as well).
  • It doesn't yet support images, we would need to request an additional persistent volume claim.

Disadvantages

  • Is not AsciiDoc aware.
  • Managing the infrastructure.

Other real-time collaborative writing options

  • CryptPad offers AsciiDoc support.

Other draft sharing options

Is there a way we can use Fedora Forge to share draft ideas and write docs together before the PR phase?

Thank you for your time and consideration

### Background As a team, for practical reasons we often share draft ideas or write collaboratively using tools such as HackMd before opening PRs. Do we want or need an open source, officially hosted tool for this? And would it make the contribution process more streamlined? ### Potential solution HedgeDoc is an open source implementation of HackMD. - Can be integrated with FAS. - Customisation could give it an official Fedora look and feel. - It is very light on resource requirements. Runs on a CommuniShift instance. See https://forge.fedoraproject.org/infra/tickets/issues/13172 So I went ahead and set this up in CommuniShift. You can try the CommuniShift instance of HedgeDoc here: https://hedgedoc-communishift-draft-share.apps.fedora.cj14.p1.openshiftapps.com/ A few notes on the current state of the CommuniShift HedgeDoc: - Only local account creation at this stage. But is functional to use with **new guest note** without an account. - It doesn't yet have any customisations to make it feel more Fedora official. - As it stands, the namespace will be deleted (and Hedgedoc with it) once F44 is released, unless we request an extension. - The persistent volume is likely not backed up (keep a copy of work somewhere else as well). - It doesn't yet support images, we would need to request an additional persistent volume claim. ### Disadvantages - Is not AsciiDoc aware. - Managing the infrastructure. ### Other real-time collaborative writing options - CryptPad offers AsciiDoc support. ### Other draft sharing options Is there a way we can use Fedora Forge to share draft ideas and write docs together before the PR phase? Thank you for your time and consideration
Owner

The fact that HedgeDoc doesn’t support AsciiDoc isn’t really a problem, in my view. Hackmd/HedgeDoc is particularly useful in the early stages of development, when the finer points of formatting aren’t yet a concern.

What I haven’t quite understood is what the current situation is. The Infra ticket has been closed, but HedgeDoc isn’t available?

CryptPad might be a bit overkill for our needs.

Otherwise, we could use the wiki included in Forge. But that’s a bit of a hassle.

The fact that HedgeDoc doesn’t support AsciiDoc isn’t really a problem, in my view. Hackmd/HedgeDoc is particularly useful in the early stages of development, when the finer points of formatting aren’t yet a concern. What I haven’t quite understood is what the current situation is. The Infra ticket has been closed, but HedgeDoc isn’t available? CryptPad might be a bit overkill for our needs. Otherwise, we could use the wiki included in Forge. But that’s a bit of a hassle.
Author
Member

Hi Peter. Thanks for taking a look.

I have edited the ticket/comment to clarify the current situation of the HedgeDoc instance. It’s available to try now: https://hedgedoc-communishift-draft-share.apps.fedora.cj14.p1.openshiftapps.com/

Hi Peter. Thanks for taking a look. I have edited the ticket/comment to clarify the current situation of the HedgeDoc instance. It’s available to try now: https://hedgedoc-communishift-draft-share.apps.fedora.cj14.p1.openshiftapps.com/
Owner

Discussed in 2026-04-07 Docs Team meeting.


@egret Cryptpad came up in the discussion since it supports AsciiDoc, it seems. Is this true? Are we able to see about playing around with Cryptpad and whether it is that much more difficult to host than HedgeDoc?

_Discussed in [2026-04-07 Docs Team meeting](https://discussion.fedoraproject.org/t/fedora-docs-team-meeting-2026-04-07-welcome-new-members-beginners-guide-updates-and-pagure-sunset/185882)_. --- @egret Cryptpad came up in the discussion since it supports AsciiDoc, it seems. Is this true? Are we able to see about playing around with Cryptpad and whether it is that much more difficult to host than HedgeDoc?
Author
Member

Okay, we can try to set it up and see how it performs. It might be fine given there will be a relatively low number of people editing at a given time.

Edit: Have stopped the HedgeDoc deployment for now. Will update when a Cryptpad image is ready.

Okay, we can try to set it up and see how it performs. It might be fine given there will be a relatively low number of people editing at a given time. Edit: Have stopped the HedgeDoc deployment for now. Will update when a Cryptpad image is ready.
Owner

Moving this issue from the 2026 Q2 Team Goals milestone to 2026 Q4 Team Goals. The Q2 milestone is closing out at the end of June.

@egret @smoliicek — Were you able to explore Cryptpad as a potential alternative, or are there any updates on progress here? It's been a little while since the last update in April, so it would be great to hear where things stand and if there's anything the wider team can help with.

I'd love for us to either finalize this as a working project during Q3/Q4, or decide to move on and try other approaches. Here's an idea: what if we set a goal of launching this by Fedora Linux 45 Release Day (2026-10-20)? That gives us a concrete target to rally around — if we can get a collaborative writing tool up and running by F45, we treat it as an experiment for the next release cycle and evaluate from there. And if it turns out the timing or tooling isn't right, that's okay too — we'll have a clear point to make that call and explore other options.

I've set the due date to 2026-10-20 to match the F45 target.

Assisted-by: Claude Opus 4.6 (1M context)

Moving this issue from the **2026 Q2 Team Goals** milestone to **2026 Q4 Team Goals**. The Q2 milestone is closing out at the end of June. @egret @smoliicek — Were you able to explore Cryptpad as a potential alternative, or are there any updates on progress here? It's been a little while since the last update in April, so it would be great to hear where things stand and if there's anything the wider team can help with. I'd love for us to either finalize this as a working project during Q3/Q4, or decide to move on and try other approaches. Here's an idea: what if we set a goal of launching this by **Fedora Linux 45 Release Day (2026-10-20)**? That gives us a concrete target to rally around — if we can get a collaborative writing tool up and running by F45, we treat it as an experiment for the next release cycle and evaluate from there. And if it turns out the timing or tooling isn't right, that's okay too — we'll have a clear point to make that call and explore other options. I've set the due date to 2026-10-20 to match the F45 target. <sub>_Assisted-by: Claude Opus 4.6 (1M context)_</sub>
jflory7 added the due date 2026-10-20 2026-06-29 22:39:53 +00:00

We got this done before the proposed target date! Wohoo!

In all seriousness, a cryptpad instance is now running in communishift at this URL: https://cryptpad-communishift-draft-share.apps.fedora.cj14.p1.openshiftapps.com/

Please try and see if this fits your use case, and everything works as expected.

Registrations are currently disabled, however, there is an SSO plugin which we could try and setup. It would first target the staging accounts though.

We got this done before the proposed target date! Wohoo! In all seriousness, a cryptpad instance is now running in communishift at this URL: https://cryptpad-communishift-draft-share.apps.fedora.cj14.p1.openshiftapps.com/ Please try and see if this fits your use case, and everything works as expected. Registrations are currently disabled, however, there is an SSO plugin which we could try and setup. It would first target the staging accounts though.
Author
Member

I'm okay with registrations being disabled for the time being. FAS integration would be nice in the long term, if this tool turns out to be a success.

I'm okay with registrations being disabled for the time being. FAS integration would be nice in the long term, if this tool turns out to be a success.
Owner

It would definitely be nice to have SSO integration because I think that would also enable persistent storage instead of max 90 days.

It would definitely be nice to have SSO integration because I think that would also enable persistent storage instead of max 90 days.
Owner

Great work, folks! 👏 This is a super achievement! Do you think it is worth writing a Fedora Community Blog article for this so people know it exists, or should we wait for it to get further into the infrastructure environment?

Great work, folks! 👏 This is a super achievement! Do you think it is worth writing a Fedora Community Blog article for this so people know it exists, or should we wait for it to get further into the infrastructure environment?

i'd rather wait for a community blog article, until we're st least on a cryptoad.stg.fp.o domain, not sure if we went to advertise that monstrosity

i'd rather wait for a community blog article, until we're st least on a cryptoad.stg.fp.o domain, not sure if we went to advertise that monstrosity
Member

So... the plan is to move this from a communishift app to a supported/main fedora infra app?

I think we probibly need to look at it a bit more before deciding if we want to do that, or at least have some infra discussion and a RFR on it.

So... the plan is to move this from a communishift app to a supported/main fedora infra app? I think we probibly need to look at it a bit more before deciding if we want to do that, or at least have some infra discussion and a RFR on it.
Owner

@kevin Sorry to ask a question here which should probably go into an Infra ticket. But to help guide that ticket… do you think it makes an official app story for this any easier if there were a policy to automatically delete data once a release cycle, or when a document has not been edited, e.g., for 90+ days? I don't know if Cryptpad can do that or not.

I am mostly trying to feel out what kind of pathways could exist if a relatively small app like this with flexible uptime requirements and an app maintainer who ACK'd maintenance once a release cycle.

@kevin Sorry to ask a question here which should probably go into an Infra ticket. But to help guide that ticket… do you think it makes an official app story for this any easier if there were a policy to automatically delete data once a release cycle, or when a document has not been edited, e.g., for 90+ days? I don't know if Cryptpad can do that or not. I am mostly trying to feel out what kind of pathways _could_ exist if a relatively small app like this with flexible uptime requirements and an app maintainer who ACK'd maintenance once a release cycle.
Member

Well, that would surely be something to determine yeah... but also we would need ability to delete pads (or edit them) that we get GDPR requests for or the like.

To be clear, I am not saying this shouldn't be an app we run, but we should make sure we have SOPs on how to manage it, policy for it (is some content not permitted, etc) , monitoring and can edit/delete things as required. I think if we ran this, it might be very handy for other groups within fedora too!

Well, that would surely be something to determine yeah... but also we would need ability to delete pads (or edit them) that we get GDPR requests for or the like. To be clear, I am not saying this shouldn't be an app we run, but we should make sure we have SOPs on how to manage it, policy for it (is some content not permitted, etc) , monitoring and can edit/delete things as required. I think if we ran this, it might be very handy for other groups within fedora too!

@kevin wrote in #26 (comment):

So... the plan is to move this from a communishift app to a supported/main fedora infra app?

I think we probibly need to look at it a bit more before deciding if we want to do that, or at least have some infra discussion and a RFR on it.

Yes, that is what I was thinking about. We're currently just in the "testing if it works" part I would say, and even the OIDC integration has quirks (it doesn't work and the http server just throws when it gets a resp. from id.fp.o).
The current state isn't final and it definitely needs more work until I would pass it along as an RFR for consideration.

@kevin wrote in #26 (comment):

Well, that would surely be something to determine yeah... but also we would need ability to delete pads (or edit them) that we get GDPR requests for or the like.

To be clear, I am not saying this shouldn't be an app we run, but we should make sure we have SOPs on how to manage it, policy for it (is some content not permitted, etc) , monitoring and can edit/delete things as required. I think if we ran this, it might be very handy for other groups within fedora too!

I'm honestly not too sure about this, the nature of CryptPad is that everything is encrypted, so not even an admin can modify pads of other users.

The admin UI does allow you to archive a specific pad (if you have its ID or link) or a whole account (which includes all the pads the account created) - pads in archival get deleted after a few days, specific number can be configured.
I'm happy to generate you an admin account, if you want to explore the admin UI yourself.

@kevin wrote in https://forge.fedoraproject.org/docs/tickets/issues/26#issuecomment-1362518: > So... the plan is to move this from a communishift app to a supported/main fedora infra app? > > I think we probibly need to look at it a bit more before deciding if we want to do that, or at least have some infra discussion and a RFR on it. Yes, that is what I was thinking about. We're currently just in the "testing if it works" part I would say, and even the OIDC integration has quirks (it doesn't work and the http server just throws when it gets a resp. from id.fp.o). The current state isn't final and it definitely needs more work until I would pass it along as an RFR for consideration. @kevin wrote in https://forge.fedoraproject.org/docs/tickets/issues/26#issuecomment-1362544: > Well, that would surely be something to determine yeah... but also we would need ability to delete pads (or edit them) that we get GDPR requests for or the like. > > To be clear, I am not saying this shouldn't be an app we run, but we should make sure we have SOPs on how to manage it, policy for it (is some content not permitted, etc) , monitoring and can edit/delete things as required. I think if we ran this, it might be very handy for other groups within fedora too! I'm honestly not too sure about this, the nature of CryptPad is that everything is encrypted, so not even an admin can modify pads of other users. The admin UI does allow you to archive a specific pad (if you have its ID or link) or a whole account (which includes all the pads the account created) - pads in archival get deleted after a few days, specific number can be configured. I'm happy to generate you an admin account, if you want to explore the admin UI yourself.
Member

Yeah, we can discuss particulars further down the road.

Does archiving mean the pad is not accessable anymore? Or just not writable?

Yeah, we can discuss particulars further down the road. Does archiving mean the pad is not accessable anymore? Or just not writable?
Sign in to join this conversation.
No project
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

2026-10-20

Dependencies

No dependencies set.

Reference
docs/tickets#26
No description provided.