I’m starting to get excited about the 2014 Plone Emerald Sprint which is happening in a couple weeks on lovely Whidbey Island near Seattle.
The focus of the sprint will be doing some work on Plone’s user membership features in preparation for Plone 5. Now, the sprint will be more effective if we all (the sprinters, and the wider community) have an idea of what needs to happen before we arrive. To that end, I just spent some time taking screenshots of the current state of things in Plone 5 (yeah yeah, I know, it’s a job for a robot) and making lists of what I think should happen.
So here goes. Look, there are pictures!
Login form
- This is currently implemented as a bunch of old CMF skin templates and scripts. Should be rewritten using z3c.form. Whoever works on this should start by reviewing the work Gil Forcada already did (https://github.com/gforcada/login_forms).
- Dialog is missing a title
- Say “username” instead of “login name,” for consistency
- Fix bug where a user logs out and then logs in again, and is taken to the logged out page.
Password reset
- This is also old code using CMF templates. Should be rewritten using z3c.form
- Say “username” instead of “user name,” for consistency
- Improve wording of the email that’s sent to the user
- Liz, you had some bugs related to this, right?
- After user sets their password, log them in immediately (?)
- Would be nice to show a checkbox in real time for whether the new password meets the criteria.
Registration form
- Eric Brehault & co. have done some good work on PLIP 13350, which aims to make it possible to edit the member data schema through the web with the Dexterity schema editor — so you can collect whatever information you want from users! There are a few tasks which need to happen to finish getting this ready to integrate.
Personal information form
- This is the form for editing your member info once you’ve already registered. It has already been converted to z3c.form. Integrating PLIP 13350 will also affect it.
Author page
- This is linked from the byline of pages and is the closest thing we currently have to a public user profile. It would be nice to make it possible to select fields from the member data schema to be shown here.
- It would also be nice to add an ‘edit profile’ button here, for users with sufficient permission.
Preferences Form
- I always get confused between this one and the Personal Information form. This has settings that affect one’s use of the CMS, as opposed to information about a person.
- I think it would make sense to merge this into the Personal Information form, as a separate fieldset.
- We should remove the per-user external edit preference.
- We should remove the per-user ‘edit short name’ preference and instead always show the short name field on settings tab of edit forms for anyone who has permission to rename.
User/groups control panel
- Plenty of room for UI improvement here
- Hide control panel navigation portlet, or find a better way to show it that doesn’t eat horizontal space.
- Need to fix the navigation between users and groups
- The options on the ‘settings’ and ‘member registration’ tabs should be moved to the Security control panel, which should be renamed to something like ‘Member registration’
- Can we automatically determine when to use the ‘many users’ and ‘many groups’ flags?
- It would be nice to add a way to mark a user as “inactive” so they can’t log in
- It would be nice to show a user’s last login time
Sharing tab
- Plenty of room for UI improvement here
- Folks at the Cathedral sprint recommended renaming this to “Grant access,” since “sharing” tends to mean social media these days.
- Should this show in an overlay?
- We should make it clearer that the columns are roles, not permissions, and what exactly they do.
Other topics
The above pages are the ones that I consider essential to have working well for a Plone 5 release. There are other possible topics related to Plone members, and if someone is super motivated to work on one of those, don’t let me stand in the way. Two that come to mind for me that are each pretty big projects on their own are:
- It would be nice to add optional support for logging in via an external authentication source (such as google, facebook, etc)
- It would be nice to modernize FacultyStaffDirectory, convert it to Dexterity, etc.
If you’ve made it this far and are excited about the possibility for improvements to Plone’s member infrastructure, but can’t make it to the sprint yourself, please consider donating to help cover the costs of the sprint.