So the KSS sprint in BubbleNet is finished. I am pleased to say it is a real success.
The following objectives had been set, sorted by order of priority :
- introduce new plonistas to the tool and have them make some development,
- move on with the development of the PLIPs 121 and 122,
- improve tests infrastructure and begin to add some where they were missing,
- refactor the adapter story of Azax, to make it more compliant to the right way.
More Plonistas
Jean-Paul Ladage, David Convent, Daniel Nouri and Wim Boucquaert have shown to Balazs and me that the tool is more than usable. They did implement the following use cases (in PloneAzax and ATAzax) :
- all standard AT widgets are now validated at blur time in edit view,
- change of views with display menu do not reload the full page anymore,
- same for copy and cut of actions menu,
- and for workflow transitions of status menu,
- instant edit of text and description fields of the ‘page’ content type is now implemented, based on a generic archetypes implementation (iow, which will be expandable to all views/fields pretty easily).
I want to insist on the fact that they could achieve this by themselves, depending on Balazs and I only for the fixes needed here and there in Azax or kukit.js.
Plips
Thanks to their work, second objective has been mostly attained as well. Further, the main usability issue until now (the lack of spinner) has been fixed : you know now when you are waiting for a refresh of some parts of the page.
Tests and refactoring
We did quite some work on the third objective : tests coverage has improved a lot. Even though code is still not 100% covered, I could use the current tests as safety belt for my work on the adaptors refactoring. On the last day of the sprint, I merged the work as all tests were passing. I must say I was really satisfied to find out that none of the use cases that had been worked on before were broken, iow that the tests were doing their job.
Now, let’s not forget the less positive things.
First, on client side, we found out once again how cross-browser JS/UI is difficult. Lemme explain.
For instance, as we already know, the use of the Enter key in forms is sort of broken in IE (cfr FormController warnings). Well, it is also fragile in Safari. We will have to explore more in order to enable (cross-browser) to just press Enter to save the Title.
The good news is that we have shown with the other use cases that, when the JS code is already covering the cross-browser issues, the layer that KSS provides really ensure that the developer stays away of those troubles. Iow, if and when we get a solution for the problem just cited above, it will be fixed once. There will be other cases like this and this is the main reason for KSS imo : lets fix things in a central place.
Second, on server side, the ZPT, Python scripts, FormController stack combined with Five views is often in our way when we insist on reusing existing code. In some cases, a lot of time is needed as we all already know. Nevertheless, we can do it, for instance, Archetypes validation is fully supported in the edit actions.
Third, no work was done to refine the effects support… which is not so serious as it is a little task anyway.
So all in all, four very good days. If you want to see it by yourself, checkout the code from svn (do not forget to use Five 1.4 head). If you can wait, you’ll get a release asap.
I want to thank all the people that have worked with me on this since already more than one year : to see my dream becoming reality is a great feeling.