I’m back from another successful annual West Coast Plone sprint: the Emerald Sprint on Whidbey Island near Seattle. Don’t miss Trish’s lovely video montage of our weekend:
I worked with Ross Patterson and Fulvio Casali on the users & groups control panel. The plan is to make it look and work similarly to the new folder contents UI, with the data getting loaded as JSON and manipulated by javascript:
Compared to the existing control panel, the new one shows more information about each user, including join date, last login date, whether the user is allowed to log in, and whether the user has confirmed their email address. It also will make it easier to apply some actions in bulk, such as adding a many users to a group or adding a role to many users at once.
So far our implementation uses the same mockup pattern as the folder contents UI (the “structure” pattern), but with different columns and actions. There’s still quite a bit of work to be done:
- Implementing the JSON view for fetching user and group data. Ross has started on this but it’s complicated because of fetching roles inherited from groups, etc
- Implementing the various actions that can be performed on a user or set of selected users
- Using a simple search instead of the query builder, which is intended for content indexed in the catalog.
- Integrating the pattern into Plone’s control panel.
On the final day of the sprint, I worked instead on the user preferences form. Our master plan is:
- Rename the “author” page to be the user’s Profile. Link to it from the user’s personal menu instead of to the preferences or user information form
- When a user views their own profile, it will include an Edit button which goes to the Edit Profile form, which is a combination of the current user information and user preferences forms.
We haven’t built most of that yet though. I worked on paving the way by removing a couple of preferences that aren’t needed any more: the external editor setting (the sitewide setting should be good enough) and the “visible ids” setting (whether a user can edit the id of an item from its edit form).
The latter isn’t necessary any more because I added a “Short name” behavior (plone.app.dexterity.behaviors.id.IShortName) to Dexterity, which adds a Short Name field to the Settings tab for any user who is allowed to rename items. If not specified, the id will be obtained automatically in the same manner as before. Hopefully this behavior can be enabled for the default content tyeps in plone.app.contenttypes soon.
There’s still plenty of work to do, but I’m proud of the good planning that happened at this sprint. For some other sprint reports, see these posts:
- Redesigning Plone 5’s control panel - Cal Doval
- It takes a village - Trish Ang
- User Property Frolics on the Sound - Steve McMahon