On 17 Mar 2008, at 13:53, Reinhard Poetz wrote:
Jeremy Quinn wrote:
Hi Reinhard
On 13 Mar 2008, at 15:54, Reinhard Poetz wrote:
Yesterday I was introduced to an Austrian student who would be
interested in
working on a GSoC for the Cocoon project this year.
The best idea we've had so far was was an upgrade of cForms to
Dojo 1.x (or
replacing it with something else if that is what the community is
interested in).
Argh.
I have been researching this for the past few weeks with the
intention of starting work to make this upgrade myself.
I guess I should have mentioned this earlier .....
I doubt I am eligible for GSoC :)
What should we do?
go ahead! I'm sure that we will find something else that is of
interest to potential applicants that would want to work on the Dojo
upgrade (broader support for widgets, making Javascript optional,
etc.).
Yes, there is a lot to do in CForms, even after changing it to use
Dojo 1.n.
IMHO all of the work CForms needs is dependant on the switch to the
new Dojo. For instance it seems pointless working on Dojofying old
widgets (etc.) if the API is changing.
I suggest we put together a road-map for what we need to do.
Here is a possible start (off the top of my head) :
1) Switch to Dojo 1.n, reworking current Widgets and infrastructure to
use new Dojo APIs.
2) Re-write existing Widgets that still use 3rd-party libraries, as
Dojo Widgets.
3) All CForms Widgets to be rendered as Dojo Widgets to get a
consistent visual theme, theme modification, WAI behaviour etc.
4) Find a way to allow HTMLArea (etc.) to be a plugin replacement for
Dojo Rich Text Editor (as I assume this would have been replaced in
step 2).
5) Make use of Dojo Layout Widgets when rendering CForms.
6) Implement a nice solution for compiling minimised JavaScript to
support a specific Form/Webapp/Project/Site.
7) Perform client-side validation (as defined in CForms Model) where
possible eg. RegExp, Min/Max, Range, Required, etc. etc.
8) Melding Dojo's and Cocoon's I18n into a coherent whole.
9) Re-work BrowserUpdate mechanism to allow DOM/Widget Update as well
as DOM Replacement, to overcome issues with broken round-tripping with
certain Widgets in Repeaters (eg. populated fileupload).
10) Deprecate FormsTransformer in favour of the CForms JX Macros,
cleanup support for obsolete schema.
There are probably many more, let's discuss :)
Apart from item (1), the order is not so important.
Unless I suddenly get more work, I can work on item (1) now.
If anyone wants to take up any of the other issues as a GSoC project,
I would definitely consider offering myself as a mentor, if that would
be useful.
Ugh, so now I have to GOMA and actually deliver =:-0
(Thanks for the gentle kick, Reinhard :)
best regards
Jeremy