notea-org / notea

📒 Self hosted note taking app stored on S3
2.08k stars 383 forks source link

Group efforts and a first community release #179

Open almereyda opened 1 year ago

almereyda commented 1 year ago

I'm starting here an issue for organising around Group efforts that we as the community would like to pursue together. Now that we have the organisation, many people can more easily work together on Notea and assist @tecc with mainenance. (following on from https://github.com/notea-org/notea/issues/178#issuecomment-1691815746)

I feel a good first epic to coordinate around could very well be the first community release after the recent rehoming of the repository.

This would allow to collect current works from the alpha version, mentioned in #178, together with other community requests and features/commits/PRs since the last release v0.3.6 from 2021-09-08.

There is a v0.4.0-alpha, which has more current commits than the prior. Would there be a milestone that collects other issues/PRs, which are deemed to land in that version?

And how can we anticipate mid- and long-term trajectories for development?

Would these (classic) Kanban boards be representing the current path forward?

Or do they stem from earlier times, and could maybe be closed, carrying over their contents, e.g. here.

There are also some feature suggestions in certain discussions, which might be worth tracking, next to specific issues identified to be suitable next candidates.

Also, there are pinned issues, which can help to direct the attention of visitors of the issue tracker. Right now they are:

Maybe a help wanted label would also help to invite for and distribute works.

What do you have in mind, considering the above?

tecc commented 1 year ago

Thanks for opening this issue! Addressing things one at a time:

  1. A new release is far overdue and making it one fostered by the community would certainly bring a lot of meaning to its relocation under @notea-org. However, there are a few issues that absolutely must be fixed before then (updating the editor dependency introduced some bugs that are incredibly detrimental to user experience). I would try to do it myself, but maintaining Notea takes up time that I can't reasonably allocate.
  2. 132 is a thing I would like to do*, but that might increase the complexity of the application beyond what it could currently handle. An overhaul of the codebase is kind of required since, at the moment, it's a bowl of undercooked spaghetti. Same goes for #153 - it's just incredibly hard to make heads or tails of anything that the code does pretty much.

  3. 64 has some good ideas, but the ideas detailed in the comments should probably be split into separate issues and tracked individually.

  4. Adding a "help wanted" label would definitely be a useful thing, seeing as there are a few issues that I have tried to fix (#166 is a prime example). This doesn't fix the underlying issue of maintenance though - I, as stated, can't spend too much time on Notea, and there's not really any active contributor at the moment.

It would be nice if the community could band together to deal with all of these tasks, but I don't think there are that many willing to take on such work.

* I've also not done this for the reasons the original maintainer detailed in #13, although it seems that perhaps the direction of the project should change. After all, sticking too rigidly to ideals will eventually prevent a project from flourishing.

almereyda commented 1 year ago

Thank you for your detailed response.

Given the low resources we have, and having a kind-of-workable version at hands, I'd figure there's not a lot of pressure with regards to how long these developments may take. I'd love to see the one or the other features to be incorporated in an upcoming release; not necessary the next one.

  1. In case the switch of the editor component caused more issues than it solved, would it be considerable to roll back here, in order to unblock bringing in other changes?
  2. User registration is always a tricky subject, as it entails security considerations around authentication and authorization. E.g. Outline only allows external OIDC providers, and does not even implement its own authentication backend: https://github.com/outline/outline/issues/1881
    It would take a little research into the current code base, to see how much it could be pushed into direction of allowing multiple users, and what the prerequisites for that were.
    But bringing in a more easily adaptable internationalisation infrastructure would definitely count as a very helpful addition to provide long-term maintenance of the tool, as it might open its usage up to a lot more language communities.

I think your maintenance work is already very much appreciated by the community, talking about the migration into the organisation, identifying and ordering pain points and eventually pointing at desired ways of resultion.

For me i18n has the highest chance of being tackeled "easily".

tecc commented 1 year ago

I18n is probably the easiest of the issues, yes. I've marked it with a help wanted label.

Regarding multiple users, off the top of my head, I'd imagine some kind of generic interface for authentication that Notea can just replace and deal with as is necessary. As a prerequisite for multiple users, I would however envision Notea internally having each file/note in a workspace, since that would allow for a better separation of concerns (i.e. users don't store notes, users have access to workspaces which store notes) and a lot of other cool features down the road. These are just ideas that will probably take some time to implement, and would constitute incredibly breaking changes but cool ideas nonetheless.