Description
Currently the vast bulk of the Fluid code resides in “Lightbox.js” which needs to be factored out into areas of different responsibility and scope.
The key change would be extracting “Reorderable.js” which includes just the core client-side definitions which are independent of the particular use case of a Lightbox - this would involve a global renaming and creating of a new JIRA artefact 😛
With commit 10335 we have the beginning of the FluidProject “modules” system and are starting to see code which arguably should be shared across multiple artefacts, e.g. “seekNodesById”, “findForm” etc.
Some of these are tied “in spirit” to the RSF client-side naming scheme, which we should also decide what status it has within Fluid. I am so far avoiding a dependence on the RSF key client-side files rsfbasic.js and rsf.js, but many of these algorithms would ultimately be common to these, for which we need some kind of policy/organisation.
The dojo.js “compilation” system is very neat, although currently suffers from a number of implementation errors which makes it unusable IMO (for example the completely opaque error on trying to load a module with a syntax error).
Issue Links
- Supersedes FLUID-25: Create a pluggable ajax connection object that encapsulates a particular strategy for posting item-order to the server.
- Supersedes FLUID-26: Separate files and logic between the Lightbox and the genric re-orderer.
- Supersedes FLUID-27: Clean up and refactor our JavaScript utilities.
- Supersedes FLUID-28: Link against the uncompressed version of dojo during development.