Admin Area, UserManager & AclManager

It’ll still be a while before I get it cleaned up and released but I am currently working on several packages that will install as a meta package, or you can just skip the admin package. UserManager and AclManager are both required. I understand that will limit its usage for some but… Sorry, it’s a package deal. Also, it currently does not support RBAC. Its ACL only and I have no plans to include RBAC support.

It’s fully compatible with Mezzio and a few of the highlights are…

  • Psr 14 event driven admin dashboard for loading widgets. Provides the plug-n-play access to the UserManager and AclManager admin UI’s.
  • Standard Mezzio Role and Resource usage, it just provides a UI to manage it.
  • Styling is provided by Bootstrap 5+ and interactivity is provided by HTMX. It loads its own custom layout and custom body layer to provide compatibility for HTMX boosting. It’s all isolated to just the provided endpoints. No, it does not hijack your entire UI layer.
  • Type to sort resources.
  • Provides cli tooling for setting up the Db. Will provide integration with both PhpDb (for supported drivers - MySQL, SQLite, Postgres currently) and Laminas DB.
  • Supports both dark and light mode
  • Provides a thin ACL ready navigation component that consumes route options until laminas navigation is released. It uses the same historical options that laminas navigation has always supported and has the same signatures so migration will be painless.

I’ll post some more screenshots once I nail down the user management UI’s in the next few days if I rememeber.

3 Likes

Manage Roles is now in the UI. I just kept it simple for the moment. Role list with parents. Add Role opens a modal, multi-select for parent(s). Edit works the same way.

1 Like

Thanks for the informations and the current status looks good.

Is a database required, or can the standard ACL definitions be used via configuration files?

It’s DB driven. I started with the thought for it to be config driven but it was just not worth the effort really.

I will also mention this. I am still in the process of designing the additional tools. When using Laminas Permissions Acl in Mezzio, as you know the standard setup limits a developer to “protecting” routes by name. This baseline functionality provides a management UI for that use case. However, it’s a little limiting overall. I’m still working out exactly what will be useful beyond that as a baseline. Features for the sake of features is really not productive. I will most likely provide additional features / integrations for my other related components such as webware-commandbus (which is nearly ready for release) where I can see it being beneficial for it to be really fine-grained privilege wise.

1 Like