Feature Request: Extended Permissions Systems

It would be very useful to have a permissions system that has some more roles than Read only, Read&Write, Admin.
For example, one setting I’m missing is to disallow read&write permission people to delete things like tasks, buckets or similar things. It would also be nice to disable that people can create labels (at least inside a project).

Ideally, a flexible permissions system (Discord-like) where you can create permission roles which you fine-tune various specific permissions, like the creation of tasks, deletion of tasks and so on.

This could easily go into a debate on what Vikunja is and/or wants to be - a to-do app or a project management tool. For simple to-do lists I somehow have the feeling that the current levels are sufficient. Especially considering that there is no such thing as global roles at all at the moment. Permissions are solely managed on project level.

At the beginning I also did wish for an option to restrict people from creating labels, but honestly, thinking about what Vikunja is, that might not be needed. Now it could be argued that the project is already somewhere between these two extremes - the introduction of more flexible views for example goes beyond what I’d expect from a to-do app…

This is a fair point, and I’ve asked myself this question as well because Vikunja’s showcases usually go into the to-do app direction.

That said, my team is solely using it for management of a volunteer project with currently around 200 users already migrated from Trello to Vikunja. So in my point of view, this is a management software and I’ve already contributed to this project to make it more like Trello (but better). I’d also be happy to contribute to this permissions system, but for anything more than simple changes I’m currently not really able to do as I have a limited knowledge of the codebase.

A feature like this (be it static roles or ideally customizable roles) would help us tremendously. We already had the case where someone accidentally deleted a task for example. Especially as there is no changelog feature currently, this is a very serious issue.
Labels are also a thing for us, as we had like 400+ labels after the import. In Trello labels were handled per project, so there were a lots of duplicates or ambiguous labels. In general, having a flood of labels makes it very hard to know what label to add and also hard to do things like filtering for specific labels. A per project handling would be useful for some of those cases, but the global label thing definitely also has it’s use cases. The main problem is that everybody can create them (and it’s also very easy to create them by accident in the current UI as searching for something also has the option to create a new one which is not very obvious)
I guess it wouldn’t hurt to have this feature optionally even if you’re doing to-do app, right?

We’re in a very similar situation, I’m currently introducing Vikunja to my non-profit org (a Makerspace in Germany), we have around 450 members. We’re yet to scale to any reasonable number, so far it’s only used within the extended organisational team, not by most of the members yet.

Btw, 100% agree with the changelog, that would be a much needed addition for me as well. I’m somehow in the same boat as you are - I’ve done some contributions (mainly when it comes to the OIDC integration and OIDC groups) but I’m far away from knowing the codebase to a level to tacke something that big. That is ignoring that I’m a Python/FastAPI backend and NextJS frontend guy, not really much into Go and Vue…

It certainly wouldn’t hurt, agree with you there.

1 Like

Cool, a fellow German :smiley: (seems like there’s a lot of us around here lol). My project is Beyond Skyrim, a collection of modding teams for Skyrim mods.

There were definitely a few challenges for us, especially when it comes to sorting out labels, can’t recommend that very much :sweat_smile: I build a tool that accesses and modifies the database used by Vikunja just to get all that sorted.

We’ll see if someone can work on this or give us some pointers how one could go about this and the changelogs. :slight_smile:

I plan to add an extended permission system to Vikunja, but very likely as a paid add-on as this is something that usually, only larger organizations benefit from.

Written it all up here: Vikunja as a business

Would love to hear your thoughts on this!