martes, 1 de abril de 2014

Emerald Sprint 2014

I had the chance to attend to another awesome sprint... Winter is ending and the 2014 edition of the Emerald Sprint is on! Another fantastic location, plonistas, designers, hot tub, beer and spirits... what else can you ask for ?

This year, I was able to attend to the sprint, sponsored by the Plone experts at

The trip

After a long 33 hour trip from Argentina, I made it to Seattle, where I was kindly hosted by a very good friend, Fulvio Casali, in his sailboat, which, we used at the next day to get to the sprint location.

The location

The location for the 2013 edition of the Emerald sprint was incredible, and the 2014 one, did not fall behind. An amazing house in beautiful Whidbey Island, where 15 Plone developers and 2 designers can relax and create !

Also, why not, excercise

Fantastic food by Sally Kleinfeldt, a lot of bunny ears and even a fire pit! Indeed a nice place to enjoy the great drinks by our own Ross Patterson and Gin-Apocrypha

The Sprint

This year's topic was improving the login story for Plone 5, coming soon to a download server near you.
The first day we did some brainstorming, with sticky notes that didn't stick that much... nothing that a bit of duct tape couldn't solve.

Groups formed into different tasks. I decided to work on rewriting all the old forms that were based on cpt, vpy, and cpy, to modernize them using z3c.form

Some mockups by the designers that joined us

Log in
Sign up
Need help?
Pretty nice, huh ?
So, we (AndyChrisCrisEricGilLiz, Trish, and me) started working in a new package that eventually will be merged with, called plone.login.

A lot of work was made, and we managed to push 180 commits in 3 days!

The strategy was to start with basic forms first, and then start adding additional functionality.

Registration form

Registering to the site works, and it will validate proper email and username were entered. It will also check if a user is already registered with that username.
After successfuly registering, it will automatically log you in.
Federated login and password strength are there only as placeholders.
It is still not wired to the "Let users select their own password" option in the security tab.

Login form

Loggin in to the site works. In the case you are asked to login because you don't have permissions to access a specific page, it will redirect to it after loggin in.
Federated login is also left here as placeholder, and it doesn't yet provide the "Remember me" kind of checkbox.
Also the came_from needs a bit of love handling some specific scenarios, and to allow to easily customize it ;)

Login help

This view will allow you to recover your username and/or password, in case you forgot any of them.
It's not yet functional, and also needs options from the control panel to control which of them are allowed, or maybe even neither.

Insufficient privileges

This view asks you to login, if you are not, and you are trying to access a private page. If you are logged in already, it will clearly state that you are logged in, but you don't have permission to access it.
It is not there yet, but eventually, it will allow you to "Ask access", in which case, a person with proper permissions will get notified and decide to give that person access.

Complete your profile

This is a new view introduced now. Plone 5 will allow you to customize the fields the users of the site will have, by using a through-the-web tool, very similar to the one used for managing dexterity fields. Steve wrote a nice blog post about the work done in the sprint, where you can read more about this.
This tool will allow you to choose which fields are required, so, after registering to the site, a user will get redirected to this view, which will ask to complete his profile, as opposed to having a huge register form.
I'm not sure, but I think this functionality needs further discussion, and the view, further work.

That's it folks!

Even that a lot was done during the sprint, this still needs a lot of work, adding more and more functionality and finishing up others... also tests, tests, and more tests!

Want to help? great! clone plone.login, run the buildout and commit changes! By the way, the product works in Plone 4 ( wink, wink... )

See you in the next Emerald Sprint !

Bonus Track

A great video made by Trish about the event here

More mockups by Cal Doval

Users profile in "Edit mode"
Users profile in "Public mode"
The "Add-ons" panel
The "Site security" panel
The "User settings" panel