Propose new features
Designing Decidim together
Ability to remove/hide menu items
@Platoniq implemented this on this module: https://github.com/Platoniq/decidim-module-decidim_awesome/#11-change-the-main-menu-of-decidim-entirely
@verarojman asked on gitter whether it was possible to somehow remove menu items through the decidim.rb initializer. I investigated a bit and it looks like the menu subsystem is append-only at this point.
It is possible to hide them using CSS/JS hacks, but that's obviously brittle and can have unexpected consequences.
Being able to edit the menu through the initializer (or through the admin dashboard) seems like a sensible expectation from Decidim instance maintainers, to me. And from what I could tell, it's viable to extend the menu subsystem to allow for this within its current architecture.
Not sure how high a priority this would be, of course. Nor how common this demand is.
What do you all think?
List of Endorsements
Report inappropriate content
Is this content inappropriate?
You are seeing a single comment
View all comments
Conversation with Xabier
I like your thoughts and comments.
I am not sure if "as flexible as possible" is the best criterium to drive Decidim's evolution, Drupal might be better for maximum flexibility. But even if we aim for flexibility it should always be within the limits of what is good for democracy. Sure, sysadmin with RoR programming capacities could potentially do anything (but they must also make the code available by AfferoGPLv3). Admins should be able to configure with different degrees of detail but should always have limited freedom to manipulate or distort democratic processes (e.g. last time I checked an admin could not remove a proposal component with proposals inside).
I would say that, in general, although the code can always be modified, we should alway aim for the less manipulable flexibility, both for the sysadmin and the admin.
Thanks Xabier, that makes total sense. I didn't quite have Drupal-level flexibility in mind, but flexibility relative to Consul, for example, in implementing democratic processes. I assumed admins customizing navigation would be a normal part of that, of process design and customization.
I understand the concern with opaque change to user flow mid-flight, during ongoing processes. It's a thorny, interesting problem for sure. If there are any resources (docs or threads) elaborating on Decidim's recommended approach here, I'd love to read up. By the way, does Decidim have an audit trail of configuration changes done by an admin?
With the case in point here, it does sound like removing menu items in the admin dashboard is a bad idea, unless there's safeguards and an audit trail in place. But if code level customization by a system user is also deemed risky, what is the preferred path to safely customizing navigation for legitimate reasons? Creating a module, forking Decidim?
Self-responding: Looks like it does, @coditramuntana pointed me to the admin activity log on the admin dashboard
Loading comments ...