One week of work on project of my choice ... and getting paid for it ... it's almost like a dream.
I've got a generous request from Pretaweb if I have time to work a bit on bringing plone.app.toolbar closer to production ready state. Over the past year they collected some smaller amount of money which they wish to spend on getting closer to what we can call theming nirvana. Just imagine not worrying about overriding styles of edit form ever again? Its theming nirvana I tell you. Or to quote them directly: "The reason we are putting money into it as its an upgrade to the Plone UI which improves usability and brings some sexiness back into Plone which has had some more technical excitment brought into it recently but still looks very much the same."
I was hired to work on this issue whole week (7 days), with 3 days of work already behind me. I'll be giving out second report at the end of the week.
Goal for this week is to get all existing overlays from edit bar (green bar) into working state. Out of scope for this week are just 2 things:
- overlay for Contents tab
- and widget for related items
Whats been done until now
Its important to mention that this widgets which I'm going to show below can be used without any plone.app.toolbar/deco and should work with any Plone 4 site.
Also currently only Archetypes is supported, but widgets are backend agnostic and can be easily implemented for Dexterity as well, but first I'll make sure they work for Archetypes.
- Got buildout.deco environment ready and up to date with latest releases of Plone.
- Rework plone.init.js which was planned long time ago. I borrowed some concepts from patternslib and Backbone, but I kept it small and simple (less then 160 lines, which half of them are comments or blank lines). New script is called patterns.js now. I won't go into detail about it now and I'm going to save this for some other blogpost.
Library I chose for our calendar is pickadate.js. I've tried and tested many of them, but this one was far superior then any I tried. Check screenshots and let me know what you think in comments below.
Autocomplete widget is used for 3 fields: Tags, Creators, Contributors
Library I chose for this widget is textext.js. It's a mature with highly active group of contributors and offers almost unlimited customization.
Goals for second part of week
- Overlays, overlays and again overlays of edit bar (green bar). (add/edit form, rules form, sharing form, rename form, advance state changing form, default view form)
- (if there's time) Growl like notifications.
Where to go after this week
Since I'm at the moment available for hire I was also thinking of opening a Chipin to get sponsorship to continue my work on plone.app.toolbar instead of looking for new clients and doing client work.
Would any of you be interested in chipping in for this?
I'm also happy if somebody else gets the funds and finishes this. Working CMSUI is few weeks of work away and all I want is to be finished. So if you're interested in financially helping this out or actually working on it please leave some comment or email me.
If anybody wants to start digging into code, please ping me on IRC and I'll be gladly to help you out and get you up and started with plone.app.toolbar.