Our community meeting tomorrow will cover the recent changes and improvements to the framework, most recently visible through the merge of the long-term FLUID-4330 branch over the weekend (thanks, Michelle!), talking over our evolving recommendations on best practices for component development, as well as highlighting various APIs and aspects of manual workflow that will be deprecated over the next framework release or two.

Although the headline JIRA for the branch is FLUID-4330 (the "globally ginger world"), this merge resolves a large number of other framework issues which I will list here. In fact, it should resolve almost every significant framework-related JIRA that is not related to our renderer component infrastructure, which is targetted for the next work cycle. In the meantime there will also be work to bring all of our historical components up to modern standards, in preparation for deprecating the less general and more awkward framework features that they relied on. The prototypes for this process are

i) The Reorderer, which has already been committed in a version no longer using the non-standard workflow involving the features "reverse merge", "global options" and "returned options" which have themselves now been removed from the framework.

ii) The Uploader, for which I now have a branch FLUID-4916 which no longer uses the non-standard IoC feature "fluid.alias" which has likewise been removed from its branch. Work continues on this component to remove all use of manual component initialisation. This work is described by FLUID-4919

iii) UIOptions, the next target for refactoring - by this point (mid-2011) we had tired of adding new framework features just to "explain" the activity of a particular component and its manual options merging workflow was deliberately kept "ad hoc" and not incorporated into the framework. This manual code can now be rewritten in terms of the "Luke Skywalker options system" ("IoCSS") under FLUID-4873 as well as modernising the code in various other ways which will make it much easier to work on by ourselves and our partners.

iv) .. xxx) Work will continue on our lower priority and older components as time permits - in particular, InlineEdit, Progress and the Pager need to be brought up to at least the standard where they no longer rely on old-fashioned manual instantiation schemes ("initView", "initSubcomponents") etc. in preparation for removing these features from the framework.

Here are the list of JIRAs believed resolved by the currently merged branch:

FLUID-4330 - "Globally ginger world" breaking time dependence of options merging
FLUID-4392 - Additive demands blocks - also duplicate FLUID-4130
FLUID-4636 - Nickname of components is not responsive to all sources
FLUID-4733 - Default value merge policy is inadequate default
FLUID-4873 - IOCSS aka Luke Skywalker options
FLUID-4709 - can't bind to invokers with listeners
FLUID-4192 - "broken trees" - instantiator corruption through unrelated 
instantiation
FLUID-4707 - No match on mismatched context names - also duplicate FLUID-4634
FLUID-4332 - Superfluous instantiators created through some paths
FLUID-4236 - Merging between decorator and demands block options
FLUID-4114 - mergePaths mishandling {options}
FLUID-4129 - detect mergePolicy from outside defaults
FLUID-4631 - argument transmission for events via demands blocks
FLUID-4540 - can't resolve a listener with an expander
FLUID-4914 - match any grade name as context name
FLUID-4918 - new facility for "members" incorporating top-level material

Underway in the Uploader branch is also
FLUID-4916 - dynamically resolved gradeNames
FLUID-4917 - "demands block horizons"
as well as various improvements to the ProgressiveEnhancement system.

an important holdout is

FLUID-4334 - refreshView is not created in a timely way

this is a crucial part of the upcoming work that will begin to focus on our 
renderer infrastructure.

Cheers,
Antranig
_______________________________________________________
fluid-work mailing list - [email protected]
To unsubscribe, change settings or access archives,
see http://lists.idrc.ocad.ca/mailman/listinfo/fluid-work

Reply via email to