Hi Michelle,

I think adding the new jiras to bug parade makes sense.

Thanks
Justin
On 2011-05-26, at 1:14 PM, D'Souza, Michelle wrote:

Thanks for the review Cindy and Antranig.

If it's ok with you, I'm thinking of addressing these under new JIRA issues 
instead of as part of 4235. I think this work will cause havoc with the ongoing 
work Cindy, Heidi, Justin and James have been doing and I'd rather do it after 
I've created the merge branch we talked about in dev meeting.

Justin, is it ok if I add these JIRA issues to bug parade since they came out 
of code review?

I'm now going to create the merge JIRA and branch as we discussed in dev 
meeting and merge all the ongoing work for UI Options. Then I'll continue with 
the refactoring you've suggested. I've put more comments inline below.

Michelle


On 2011-05-26, at 2:40 AM, Antranig Basman wrote:


For UIOptions.js:
Yes, I support cindyli's comment that dependency design has failed here - there 
should not be a reference to something called "UIEnhancer" from UIOptions. The 
enhancer should only appear at the level where there is a required shared 
dependence, for example, in fluid.uiOptions.preview. [see suggestion below]

One resolution would be to reorganise the lines 242-245 to be delivered by a 
demands block, that only acted when a {uiEnhancer} was in scope. It is still 
problematic that so many defaults are defined within UIEnhancer itself - for 
example, the settingsStore and the defaultSiteSettings etc. I would move these 
out into a 3rd, largely dependence-free component called something like 
UIOptionsStore - they would be injected into both UIEnhancer and UIOptions from 
some shared location. See UIEnhancer.js:264 comment below


I created this JIRA:

FLUID-4265: Create a  UIOptionsStore which encapsulates defaultSiteSettings and 
settingsStore


I would actually refactor this area quite significantly - uiOptions.preview 
should not be a subcomponent of uiOptions but actually a container/sibling of 
it. *OR* the thing currently called uiOptions should actually be renamed 
uiOptionsDialog - and this is the thing which has the link JUST to 
settingsStore and nothing else. Then the name "uiOptions" can be used for the 
"orchestrating component" which contains a preview, a uiOptionsDialog, a 
settingsStore and a uiEnhancer as direct children. Almost all the members which 
are currently on uiOptions (basically all the "controls") would go onto 
uiOptionsDialog.


This is the JIRA I created:

FLUID-4266: Refactor UIOptions to be an orchestrating component


lines 90 can be replaced by the all-new "renderOnInit" flag :P


Antranig, doesn't the component need to be a renderer component in order to use 
the renderOnInit flag?


I believe that line 427, that.refreshView() is redundant? I think it is gone 
from cindyli's branch anyway...

I'm leaving this as is since it will be fixed in the UIOptions merge branch.



For UIEnhancer.js:
The sequence at line 330 is somewhat similar to the way "fluid.uploader" 
forwards its options and is something we need to produce a proper framework 
pattern for.

line 264: This should just be specified as "fluid.uiOptions.store" and only 
resolved as "cookieStore" via a demands block. Right now, someone advising this 
implementation would have to issue a demands block against 
"fluid.uiEnhancer.cookieStore"

This will be address in FLUID-4265



------------------------------------------------------
Michelle D'Souza
Inclusive Software Developer Researcher
Inclusive Design Research Centre


_______________________________________________________
fluid-work mailing list - [email protected]
To unsubscribe, change settings or access archives,
see http://fluidproject.org/mailman/listinfo/fluid-work

Reply via email to