fluid-work IRC Logs-2013-07-09
[11:22:39 CDT(-0500)] * Topic is 'This channel is logged – for details see: http://wiki.fluidproject.org/display/fluid/IRC+Channel' set by jessm on 07:30:00 CST(-0600)
[11:22:51 CDT(-0500)] <colinclark> hello logbot!
[11:27:08 CDT(-0500)] <avtar> thanks, EricDalquist
[11:36:13 CDT(-0500)] <Justin_o> heidiv: i was just looking over the pull request.. made one small comment.. we forgot to put in a comment by the new strings in i18n.js
[11:36:23 CDT(-0500)] <Justin_o> would you be able to make that small change and I'll push it up
[12:06:34 CDT(-0500)] <heidiv> Justin_o will do
[12:07:39 CDT(-0500)] <Justin_o> heidiv: thanks, please let me know when you've got that in
[12:08:34 CDT(-0500)] <heidiv> Justin_o try now
[12:10:47 CDT(-0500)] <Justin_o> heidiv: perfect, thanks
[12:18:42 CDT(-0500)] <Justin_o> heidiv: i've pulled it into the project repo.. thanks
[12:19:04 CDT(-0500)] <heidiv> Justin_o great. let me know when you want to chat about getting different strings into the DT
[12:19:55 CDT(-0500)] <Justin_o> heidiv: i can chat now if you like
[12:20:06 CDT(-0500)] <heidiv> Justin_o cool, ill open skype
[12:20:58 CDT(-0500)] <Justin_o> heidiv: sure.. call me when you are ready
[12:37:09 CDT(-0500)] <vjoanna> hey heidiv, jhung, I added the updated DT mockups to this page: http://wiki.fluidproject.org/display/fluid/Discovery+Tool+%28June+9%29 I will be adding annotations describing what's going on too
[12:38:48 CDT(-0500)] <jhung> Excellent vjoanna thanks!!
[12:39:18 CDT(-0500)] <jhung> These look great. Is the AI / PDF in SVN?
[13:02:47 CDT(-0500)] <heidiv> vjoanna awesome. one thing i noticed is the contrast between the light grey text on the grey bg doesn't have enough contrast for accessibility complaince (checked using http://snook.ca/technical/colour_contrast/colour.html)
[13:03:41 CDT(-0500)] <vjoanna> heidiv: for the preset labels?
[13:04:03 CDT(-0500)] <heidiv> vjoanna the unchecked "enlarge" "more contrast" etc
[13:06:11 CDT(-0500)] <vjoanna> heidiv: i could increase the contrast, but do you think it would be okay since on hover it does have enough contrast?
[13:06:49 CDT(-0500)] <heidiv> vjoanna i think it should be accessible contrast-wise without any actions needed
[13:07:47 CDT(-0500)] <heidiv> vjoanna perhaps making the bg darker might help
[13:08:21 CDT(-0500)] <vjoanna> heidiv: okay, i'll play around with it
[13:08:28 CDT(-0500)] <heidiv> cool
[14:21:04 CDT(-0500)] <jhung> vjoanna: is "Extra Words" supposed to have a white border or is it supposed to solid yellow? If it's solid yellow, what state does that represent? http://wiki.fluidproject.org/download/attachments/34581187/DT_panel-styling.jpg?version=2&modificationDate=1373392962000
[14:23:32 CDT(-0500)] <jhung> If I'm following correctly: yellow with white border with checkmark is active preset. Yellow border with checkmark and drop shadow is hover active preset. Yellow border on white is focus on inactive preset. And solid yellow is focus on active preset?
[14:37:15 CDT(-0500)] <Justin_o> Bosmon2: do you have some time to answer some questions for our schema work?
[14:39:04 CDT(-0500)] <Bosmon2> Hi there Justin_o
[14:40:45 CDT(-0500)] <Justin_o> Bosmon2: hello.. cindyli and I are trying to get the builder portion all wrapped up.. but we are running into an issue right now where it can't find .applier.. but the uiEnhancer is the component we are creating
[14:41:09 CDT(-0500)] <Justin_o> cindyli: maybe you can put the code up somewhere for Bosmon2 to look at
[14:41:56 CDT(-0500)] <Bosmon2> Justin_o - could be a bug
[14:42:04 CDT(-0500)] <Bosmon2> I notice that I haven't gingerified the lifecycle of "modelComponent" yet
[14:42:12 CDT(-0500)] <Justin_o> Bosmon2: ah
[14:42:21 CDT(-0500)] <Bosmon2> It uses a good ol'fashioned "preInitFunction"......
[14:42:30 CDT(-0500)] <Justin_o> okay.. hopefully by seeing the code you'll know for certain
[14:42:33 CDT(-0500)] <Justin_o> oh
[14:42:37 CDT(-0500)] <Bosmon2> cool
[14:42:47 CDT(-0500)] <Bosmon2> So yes, it may be possible for you to "observe" the applier before it's created
[14:43:45 CDT(-0500)] <cindyli> Bosmon2: the latest code - https://github.com/cindyli/infusion/tree/FLUID-4907
[14:45:56 CDT(-0500)] <cindyli> Bosmon2: you can try it by running the builder test - tests/component-tests/uiOptions/html/Builder-test.html
[14:46:24 CDT(-0500)] <Bosmon2> cindyli - can you point me to the line which might be problematic?
[14:47:22 CDT(-0500)] <cindyli> Bosmon2: https://github.com/cindyli/infusion/blob/FLUID-4907/src/webapp/components/uiOptions/js/Builder.js#L75
[14:48:17 CDT(-0500)] <cindyli> this line is to construct the list of enactors where each enactor has this line - sourceApplier: " .applier"
[14:48:46 CDT(-0500)] <cindyli> the error we got: Failed to resolve reference .applier - could not match context with name uiEnhancer from component leaf [object Object]
[14:49:34 CDT(-0500)] <cindyli> however, those enactors are the subcomponents of uiEnhancer itself
[14:49:39 CDT(-0500)] <Bosmon2> Ah, that's more interesting
[14:49:44 CDT(-0500)] <Bosmon2> If it claims it can't match the context itself....
[15:04:41 CDT(-0500)] <Bosmon2> cindyli, Justin_o
[15:04:51 CDT(-0500)] <Bosmon2> Your problem is in the definition of "auxSchema"
[15:05:10 CDT(-0500)] <Bosmon2> By the time this reaches the component expansion pathway, the auxSchema entry contains IoC references which the system then attempts to expand
[15:05:51 CDT(-0500)] <Bosmon2> I really need to improve the diagnostics from the system so it is clearer about which path it is trying to expand
[15:06:13 CDT(-0500)] <Bosmon2> Since right now it is very easy to imagine it is trying to expand the legitimate reference to .applier which occurs within "components"
[15:07:01 CDT(-0500)] <Justin_o> Bosmon2: okay.. so we need a noexpand policy on the auxschema option
[15:07:03 CDT(-0500)] <Justin_o> ?
[15:07:12 CDT(-0500)] <Bosmon2> But there is another one inside the "enactors" block of the auxSchema
[15:11:05 CDT(-0500)] <Bosmon2> cindyli - another power cut? : P
[15:11:34 CDT(-0500)] <cindyli> thanks, great finding, the issue is fixed with a "noexpand" auxSchema
[15:11:49 CDT(-0500)] <Bosmon2> cindyli - but I fear that this implementation strategy is enormously overcomplicated
[15:12:01 CDT(-0500)] <cindyli> oh, any suggestions, Bosmon2
[15:13:56 CDT(-0500)] <Bosmon2> For a start, this problem only arose because the "auxSchema" record became confused, with a mixture of schema material and component material
[15:14:09 CDT(-0500)] <Bosmon2> I'm finding the reason for any of the definitions in "Builder.js" hard to understand : P
[15:14:12 CDT(-0500)] <Bosmon2> Can you explain the strategy there?
[15:14:56 CDT(-0500)] <Bosmon2> I think we have once again ended up with a confusion between "the builder" and "the thing being built", only last month the confusion was on the other side - you had been trying to turn UIOptions into the builder
[15:15:05 CDT(-0500)] <Bosmon2> In this version you seem to be trying to turn the builder into UIOptions
[15:16:57 CDT(-0500)] <cindyli> Bosmon2: our goal of the builder is to assemble the final big UIO component that contains UIO, UIE and store
[15:17:43 CDT(-0500)] <cindyli> once that final component is instantiated, we expect UIO is up and running.
[15:18:40 CDT(-0500)] <Bosmon2> I have to highlight this line of code as worrying: if (!$.isEmptyObject(components)) {
[15:18:59 CDT(-0500)] <Bosmon2> As I explained to yzen last week, this line is not within our standard image of jQuery utilities available on the server
[15:19:25 CDT(-0500)] <Bosmon2> So if we carry on using it, there will need to be a JIRA to port it over... assuming this code ever does run on the server, which I think it might well someday
[15:19:43 CDT(-0500)] <Bosmon2> But in general the reason for it is dubious.... why do you check whether "components" is empty or not, and choose a different strategy if it is
[15:20:03 CDT(-0500)] <Bosmon2> I guess I can get my head around "fluid.uiOptions.builder" now
[15:20:17 CDT(-0500)] <Bosmon2> but "fluid.uiOptions.builder.enhancer" still seems puzzling
[15:20:24 CDT(-0500)] <cindyli> we have these use cases: UIE only, UIO only, UIE + UIO
[15:21:00 CDT(-0500)] <Bosmon2> cindyli - I'm not sure handling these use cases is part of the direct responsibility of the builder
[15:21:07 CDT(-0500)] <Bosmon2> Whatever mechanism we have for that should be part of UIO itself
[15:21:19 CDT(-0500)] <Bosmon2> Since "in theory" users will still construct UIO configurations other than through the builder
[15:21:30 CDT(-0500)] <Bosmon2> The builder's responsibility should end, once it has constructed the relevant grades
[15:21:43 CDT(-0500)] <cindyli> that's why we need to have a way to figure out if UIO or UIE is supplied via schema, if any of those is not there, don't attach it onto the final tree, the isEmptyObject is there for this purpose
[15:22:28 CDT(-0500)] <cindyli> ok, i see your point of constructing grade rather than the whole everything
[15:22:41 CDT(-0500)] <cindyli> a very good point
[15:22:47 CDT(-0500)] <Bosmon2> Responsibility for weaving all the components together at runtime belongs somewhere else
[15:22:54 CDT(-0500)] <Bosmon2> Perhaps in a component called the "UIOptions instantiator" or so
[15:23:33 CDT(-0500)] <Bosmon2> For example all this "attachStaticEnv" business
[15:23:40 CDT(-0500)] <Bosmon2> Is not part of the responsibility of the "Builder proper"
[15:23:49 CDT(-0500)] <Bosmon2> This is something that anyone who wants a UIO might well want done
[15:25:23 CDT(-0500)] <cindyli> make sense. ok, direction changing
[15:25:53 CDT(-0500)] <Bosmon2> cindyli - cool
[15:25:59 CDT(-0500)] <Bosmon2> This would also simplify the most complex part of this design
[15:26:22 CDT(-0500)] <cindyli> we'll see
[15:26:54 CDT(-0500)] <Bosmon2> In particular this suspect line: components: " .options.auxSchema.enactors", : P
[15:28:50 CDT(-0500)] <cindyli> what's wrong with this line? smart, right?
[15:29:11 CDT(-0500)] <Bosmon2> Well, smart, in a sense..... you're lucky that it works at all : P
[15:29:24 CDT(-0500)] <Bosmon2> But in general it is very suspect to compose a set of subcomponents without expecting to compose the entire grade
[15:29:41 CDT(-0500)] <Bosmon2> I mean, either the "enhancer supergrade" exists in itself, or else it doesn't : P
[15:29:48 CDT(-0500)] <Bosmon2> And if it doesn't, you should just create such a grade
[15:30:12 CDT(-0500)] <Bosmon2> That is, it would have been better to have expressed this by having the builder construct a "common intermediate grade" which just holds the enactors
[15:30:20 CDT(-0500)] <Bosmon2> And then have this machinery work by standard grade composition
[15:30:47 CDT(-0500)] <cindyli> sounds right. this will be our new direction