fluid-work IRC Logs-2011-07-20

[09:17:48 CDT(-0500)] <jessm> fluid-everyone: it's going to be a great day... who's with me?!
[09:17:55 CDT(-0500)] <huslage> WOO HOO
[09:18:06 CDT(-0500)] <michelled> I am (smile)
[09:18:06 CDT(-0500)] <anastasiac> jessm, I'm with you if you've got air conditioning (wink)
[09:18:21 CDT(-0500)] <Justin_o> jessm: i am.. i'm sure jameswy is too.. he's enjoying the apple updates
[09:18:22 CDT(-0500)] <jessm> anastasiac: check and check (smile)
[09:18:44 CDT(-0500)] <jessm> Justin_o: i figured lion was the reason i hadn't heard from him yet today (tongue)
[09:18:48 CDT(-0500)] * anastasiac is waiting for her HVAC guy to install the air conditioner this week - hopefully
[09:19:08 CDT(-0500)] <michelled> I'm sure it will be after Thursday anastasiac (smile)
[09:19:13 CDT(-0500)] <anastasiac> (sad)
[09:21:12 CDT(-0500)] <jessm> Justin_o: i expect we'll see jameswy again after a 45 min. install
[09:23:35 CDT(-0500)] <anastasiac> fluid-everyone: I'm working on docs for the User Interface Options component, and I'm hoping to (not) start a flame war by asking for options on how to officially refer to the component in documentation: "User Interface Options" (fully written out) or "UI Options" (with a space) or "UIOptions" (with no space) or something else? Thoughts? Opinions? Votes?
[09:24:12 CDT(-0500)] <Justin_o> jessm: he's all installed now.. he's showing us some new stuff in lion
[09:24:20 CDT(-0500)] <jessm> cool
[09:24:26 CDT(-0500)] <huslage> such a slacker
[09:24:44 CDT(-0500)] <huslage> some of us have been running that for a couple of months now.
[09:24:45 CDT(-0500)] <huslage> slow
[09:29:42 CDT(-0500)] <Justin_o> huslage: (smile)
[09:29:47 CDT(-0500)] <huslage> lol
[09:44:01 CDT(-0500)] <jameswy> You guys are funny, (tongue)
[09:44:19 CDT(-0500)] <jameswy> I'm not sure if I like all the changes in Lion...
[09:45:50 CDT(-0500)] <jameswy> anastasiac: I think "User Interface Options" is a good official name, but "UI Options" as an official abbreviated version seems sensible.
[09:45:55 CDT(-0500)] <jessm> jameswy: my father, who routinely "loses" things from his dock, has read up on Lion and decided it's not for him – it has some features he isn't into.
[09:46:32 CDT(-0500)] <jessm> anastasiac: +1 on official and abbrev.
[09:46:38 CDT(-0500)] <anastasiac> jameswy, thanks for the input
[10:16:47 CDT(-0500)] <harriswong> anastasiac: i like "UI Options" better; but for audiences that don't know what UI is, "User Interface Options" might be better..
[10:42:29 CDT(-0500)] <heidi_> Justin_o so i'm guessing github/inclusive-design will have a wordpress folder that i would then clone or something?
[10:42:35 CDT(-0500)] <heidi_> and push to from heidiv ?
[10:43:05 CDT(-0500)] <jessm> bullet point example from revised JDs: "• Play a lead role"
[10:43:12 CDT(-0500)] <jessm> filed under "unhelpful edits"
[10:43:25 CDT(-0500)] <heidi_> jessm oh dear
[10:43:59 CDT(-0500)] <heidi_> anastasiac i vote "UI Options"
[10:44:55 CDT(-0500)] <anastasiac> heidi_ and harriswong, thanks for weighing in. That one does seem to be the favourite.
[10:45:32 CDT(-0500)] <cindyli> harriswong: thanks for offering the help with UIO. here's one: http://issues.fluidproject.org/browse/FLUID-4339
[10:53:44 CDT(-0500)] <heidi_> Justin_o maybe colin has an idea of how to set up the wordpress-y sharing on inclusive-design github
[10:53:55 CDT(-0500)] <heidi_> i'd like to get my theme up for johnny asap
[11:00:02 CDT(-0500)] <huslage> you can just check it all in there, no heidi_ ?
[11:07:12 CDT(-0500)] <heidi_> huslage i'm not sure
[11:07:17 CDT(-0500)] <heidi_> need permissions i think
[11:30:11 CDT(-0500)] <Justin_o> heidi_: sorry.. i missed all your questions
[11:48:10 CDT(-0500)] <heidi_> Justin_o np - is colin around? or do you have thoughts on how to do this? can i push directly to inclusive-design?
[11:48:26 CDT(-0500)] <heidi_> or should i submit pull reqs from heidiv first ?
[11:52:33 CDT(-0500)] <Justin_o> heidi_: write now you can't, but i can give you push request.. i guess the question is more about the process though
[11:52:42 CDT(-0500)] <Justin_o> oops i spelled "write" wrong
[11:52:43 CDT(-0500)] <Justin_o> (sad)
[11:52:55 CDT(-0500)] <Justin_o> and should have said push access
[11:52:57 CDT(-0500)] <Justin_o> (sad) (sad)
[11:53:05 CDT(-0500)] <heidi_> (smile) yeah and what other things we picture inclusive-design will hold other than wp
[11:53:15 CDT(-0500)] <Justin_o> heidi_: i guess all the sites
[11:53:18 CDT(-0500)] <Justin_o> and such
[11:53:41 CDT(-0500)] <Justin_o> we wouldn't want to use it as a general media storage though
[11:54:43 CDT(-0500)] <heidi_> Justin_o yeah, i guess if i-d has a 'wordpress' repo i can have push to that repo and not others right?
[11:55:01 CDT(-0500)] <heidi_> or is it just push to a whole hub
[11:57:31 CDT(-0500)] <Justin_o> heidi_: i'll give you push access, i think you should make a specific repo for it
[11:58:27 CDT(-0500)] <heidi_> Justin_o okay
[11:58:36 CDT(-0500)] <heidi_> Justin_o i'm not sure how to do that
[12:00:04 CDT(-0500)] <Justin_o> heidi_: okay.. i can make a repo for you, what did you want to call it?
[12:00:18 CDT(-0500)] <heidi_> Justin_o wordpress ?
[12:00:20 CDT(-0500)] <Justin_o> actually i have to run to soccer so maybe i'll chat with you about this afterwards
[12:00:24 CDT(-0500)] <heidi_> sure np
[12:00:28 CDT(-0500)] <Justin_o> since there maybe some more stuff
[12:02:07 CDT(-0500)] <Justin_o> heidi_: here's the empty "wordpress" repo, but i think we should probably rename it to the sites name https://github.com/inclusive-design/wordpress
[12:02:36 CDT(-0500)] <heidi_> Justin_o yeah i guess it depends what other wordpressy stuff we'll want to share
[12:02:43 CDT(-0500)] <heidi_> whether it be general or site specific
[12:02:57 CDT(-0500)] <Justin_o> heidi_: hmm.. okay.. i'll check in with you about this after we get back
[12:03:02 CDT(-0500)] <heidi_> k
[12:03:05 CDT(-0500)] <heidi_> happy soccering!
[13:27:02 CDT(-0500)] <Justin_o> heidi_: i'm back from soccer..
[13:27:38 CDT(-0500)] <heidi_> wb
[13:27:51 CDT(-0500)] <Justin_o> heidi_: jameswy even played
[13:27:56 CDT(-0500)] <heidi_> woah!
[13:29:23 CDT(-0500)] <Justin_o> heidi_: i think we'll be doing a quick check in instead of a full dev meeting today, and then we can chat about the inclusive-design repo
[13:29:37 CDT(-0500)] <heidi_> np
[13:31:52 CDT(-0500)] <colinclark> Hey fluid-everyone, shall we start a quick dev meeting now?
[13:32:15 CDT(-0500)] <michelled> sure
[13:32:27 CDT(-0500)] <colinclark> As far as agenda items go
[13:32:33 CDT(-0500)] <colinclark> I can think of all sorts of cool things we could talk about
[13:32:40 CDT(-0500)] <colinclark> but maybe we can keep it simple
[13:32:47 CDT(-0500)] <colinclark> and just talk about the status of our release
[13:33:16 CDT(-0500)] <colinclark> Let's start with the big one, UI Options
[13:33:27 CDT(-0500)] <colinclark> I can start with an update on the !important injection work
[13:33:34 CDT(-0500)] <colinclark> 1. We're getting really close
[13:33:38 CDT(-0500)] <colinclark> 2. We're not quite done
[13:34:01 CDT(-0500)] <colinclark> We had to do a bit of wrangling over the past day or so with old versions of Rhino having a rather strict implementation of eval()
[13:34:14 CDT(-0500)] <colinclark> So I managed to get our build updated to the latest stable Rhino, version 1.7R3
[13:34:34 CDT(-0500)] <colinclark> Justin_o managed to get stylesheets to be actually generated
[13:34:58 CDT(-0500)] <colinclark> and now I'm working on the code to append the .fl-uiEnhanced class to all -uio versions of the themes
[13:35:06 CDT(-0500)] <colinclark> I have this very nearly working
[13:35:15 CDT(-0500)] <colinclark> Then, from there, we've got two more pieces of work
[13:35:47 CDT(-0500)] <colinclark> 1. Justin_o is working on ensuring the !important injection is driven by configuration, and that all the generated stylesheets are located within UIO's own css directory
[13:36:06 CDT(-0500)] <colinclark> 2. michelled is refactoring UIEnhancer to inject the fl-uiEnhanced class into the DOM
[13:36:15 CDT(-0500)] <colinclark> Justin_o and michelled, do you want to add anything?
[13:36:20 CDT(-0500)] <colinclark> Anyone have any questions about the work we're doing
[13:36:20 CDT(-0500)] <colinclark> ?
[13:36:29 CDT(-0500)] <michelled> I think you've covered it
[13:37:02 CDT(-0500)] <Justin_o> i think that's everything for !important
[13:38:10 CDT(-0500)] <colinclark> Okay, so what's next with UIO?
[13:38:31 CDT(-0500)] <michelled> harriswong is waiting for Bosmon to review the TOC work
[13:38:47 CDT(-0500)] <michelled> or someone else I guess (smile)
[13:41:23 CDT(-0500)] <Bosmon> Ok, I will have a look at it now (smile)
[13:41:54 CDT(-0500)] <colinclark> great
[13:42:01 CDT(-0500)] <colinclark> cindyli: How are things going on your end?
[13:42:53 CDT(-0500)] <cindyli> 2 issues i'm working on right now, one is the failing uiOptions unit tests with the refractored ui Options
[13:43:04 CDT(-0500)] <cindyli> jira # 4317
[13:44:10 CDT(-0500)] <cindyli> tried the suggestion from Bosmon and a few more that i can think of, but the problem still presists
[13:44:30 CDT(-0500)] <cindyli> so, now i'm giving myself a break to work on another issue 4348
[13:44:55 CDT(-0500)] <cindyli> which is the new one that i created this morning to remove pageEnhancer from fat panel IoC tree
[13:45:10 CDT(-0500)] <Bosmon> cindyli - aren't the two issues related?
[13:45:24 CDT(-0500)] <cindyli> no, i think
[13:45:42 CDT(-0500)] <cindyli> because in the ui options unit test, pageEnhancer is not a part of IoC tree
[13:45:47 CDT(-0500)] <Bosmon> I see
[13:45:55 CDT(-0500)] <Bosmon> Interesting
[13:46:50 CDT(-0500)] <cindyli> Bosmon: unit test call pageEnhancer separately as what the integrator would do
[13:47:07 CDT(-0500)] <cindyli> but as u said, each call on pageEnhancer would register an entry to static environment
[13:47:31 CDT(-0500)] <Bosmon> It's unclear what should really happen in this case - perhaps a second call to pageEnhancer should simply be an error
[13:47:38 CDT(-0500)] <cindyli> one thing i tried this morning is to inject uiEnhancer into test component IoC tree directly
[13:47:51 CDT(-0500)] <cindyli> abandon pageEnhancer itself
[13:47:58 CDT(-0500)] <Bosmon> That sounds look a good plan
[13:48:01 CDT(-0500)] <Bosmon> What was the result?
[13:48:07 CDT(-0500)] <cindyli> no help.
[13:48:13 CDT(-0500)] <Bosmon> no help with what? (tongue)
[13:48:20 CDT(-0500)] <cindyli> the same issue persists
[13:48:25 CDT(-0500)] <Bosmon> Which one, 4317?
[13:48:28 CDT(-0500)] <cindyli> yes
[13:48:32 CDT(-0500)] <Bosmon> ok
[13:48:42 CDT(-0500)] <Bosmon> Well, we can look for the cause of that
[13:48:55 CDT(-0500)] <Bosmon> But I think it's still important to get pageEnhancer out of there, since it will certainly cause other problems
[13:48:56 CDT(-0500)] <cindyli> yes, thanks, Bosmon
[13:48:56 CDT(-0500)] <cindyli> another approach i tried is to use separate test component for each test case
[13:49:19 CDT(-0500)] <cindyli> interesting is "the same issue still persists"
[13:49:42 CDT(-0500)] <Bosmon> The cause maybe something completely unrelated, then
[13:49:43 CDT(-0500)] <cindyli> i agree, Bosmon, to get pageEnhancer out of there
[13:49:50 CDT(-0500)] <cindyli> maybe
[13:49:54 CDT(-0500)] <Bosmon> Perhaps some assumption related to the way templates are fetched and put into the markup
[13:50:26 CDT(-0500)] <cindyli> very possible
[13:50:31 CDT(-0500)] <Bosmon> Did you manage to remove the function "testFn" that was passed through the global scope into the test case?
[13:50:32 CDT(-0500)] <cindyli> related to template fetching
[13:50:53 CDT(-0500)] <cindyli> yes, that's part of the 2nd approach i tried
[13:51:11 CDT(-0500)] <Bosmon> Ok - you should commit that, even if it didn't resolve the problem
[13:51:26 CDT(-0500)] <cindyli> i see
[13:52:02 CDT(-0500)] <Bosmon> Since it improves the design, and eliminates one more possible cause of failure
[13:52:19 CDT(-0500)] <Bosmon> As long as it doesn't fail any worse than the original implementation (tongue)
[13:52:30 CDT(-0500)] <cindyli> (smile)
[13:52:46 CDT(-0500)] <Bosmon> harriswong - I am just reviewing your TOC branch now
[13:52:57 CDT(-0500)] <harriswong> thanks bosmon
[13:52:57 CDT(-0500)] <Bosmon> It is looking good, although I am worried about the "sanitizeID" function
[13:53:20 CDT(-0500)] <Bosmon> As well as doing something odd, it doesn't ensure an important property, which is that the ID it allocates doesn't conflict with one that is already in the document
[13:53:34 CDT(-0500)] <Bosmon> Is there a reason you're not using the standard framework "allocateSimpleId" function?
[13:54:37 CDT(-0500)] <Bosmon> I guess it does use the same function, indirectly...
[13:55:15 CDT(-0500)] <Bosmon> I guess it is ok - the core framework function is also potentially buggy too, as Justin_o commented a few months ago
[13:55:40 CDT(-0500)] <harriswong> Bosmon: sorry, i am still trying to locate the sanitizeID function.. can you quickly tell me which file is this in please?
[13:56:24 CDT(-0500)] <harriswong> Bosmon: right i am looking at my master branch.... one sec
[13:56:26 CDT(-0500)] <Bosmon> https://github.com/fluid-project/infusion/pull/111/files#L2R40
[13:56:29 CDT(-0500)] <Bosmon> Hopefully this URL will work
[14:00:40 CDT(-0500)] <harriswong> Bosmon: mm, no particular reason, we just wanted to make sure the ID is alphanumeric, with - and _ included.
[14:01:14 CDT(-0500)] <Bosmon> harriswong - it would probably be best just to defer to the framework function, so we can fix the bug all in one place when we get round to it (tongue)
[14:01:17 CDT(-0500)] <harriswong> Justin_o: Did you have any particular reason for using sanitizeID(fluid.allocateGuid())? ^
[14:02:30 CDT(-0500)] <harriswong> Bosmon: sure, should i replaced "fluid.allocateGuid()" with "fluid.allocateSimpleId()"? or should i simply have generateGUID to return "allocateSimpleId"?
[14:02:39 CDT(-0500)] <colinclark> Justin_o stepped away for a second, but I'm sure he'll be back soon
[14:02:46 CDT(-0500)] <harriswong> replace*
[14:04:41 CDT(-0500)] <Bosmon> harriswong - the important thing I think is for the id which is applied to the document to come directly from the framework function for that purpose
[14:04:59 CDT(-0500)] <Bosmon> In the future we can fix it up so that it makes sure it doesn't apply the same id to the same document twice
[14:05:23 CDT(-0500)] <Bosmon> This is something that the renderer does automatically inside itself, but unfortunately the base framework function doesn't yet
[14:06:13 CDT(-0500)] <Bosmon> I don't think this is something that it is particularly useful for the user to configure, so the "generateGUID" function can simply go, along with "sanitizeID"
[14:06:33 CDT(-0500)] <Bosmon> I imagine users don't really care what their document IDs look like, so long as they are unique (tongue)
[14:06:36 CDT(-0500)] <Bosmon> What do you think, colinclark?
[14:06:46 CDT(-0500)] <colinclark> lemme catch up
[14:06:56 CDT(-0500)] <harriswong> Bosmon: ok. +1 on "users don't really care...as long as it's unique"
[14:07:28 CDT(-0500)] <colinclark> I'm curious to hear Justin_o's motivation
[14:07:46 CDT(-0500)] <colinclark> but I'm always happy to remove code in order to defer to the framework
[14:07:58 CDT(-0500)] <colinclark> as you say, it makes it easier to fix bugs in only one place
[14:09:49 CDT(-0500)] <harriswong> unless other user-configurable-functions needs to use this ID, otherwise i i don't see why it can't be generated from the framework..
[14:12:26 CDT(-0500)] <Justin_o> Bosmon, colinclark, harriswong: i've just finished catching up.. i'm struggling to remember the motivations for this bit of code. I'm guessing it's probably around wanting to get the ID before inserting the anchor, but it should be easy enough to do it the other way around
[14:13:01 CDT(-0500)] <Bosmon> Justin_o - I think we should be able to keep the workflow this way around
[14:13:35 CDT(-0500)] <Justin_o> really?
[14:13:37 CDT(-0500)] <Justin_o> Bosmon: ^
[14:14:39 CDT(-0500)] <Bosmon> Well, why not?
[14:17:38 CDT(-0500)] <colinclark> Didn't I once, a long time ago, have a patch for a version of allocateSimpleId that didn't require an element as its argument?
[14:18:00 CDT(-0500)] <colinclark> I remember, in the fog, having had some case where I had some element that ultimately needed some ID on it
[14:18:08 CDT(-0500)] <colinclark> but that I actually wanted to know what the ID was well ahead of time
[14:18:15 CDT(-0500)] <colinclark> for reasons I have no idea about any more
[14:21:08 CDT(-0500)] <Bosmon> Oh, you're right
[14:21:20 CDT(-0500)] <Bosmon> I forgot that allocateSimpleId actually expects to apply the id
[14:21:24 CDT(-0500)] <Bosmon> I don't remember the patch though
[14:21:28 CDT(-0500)] <colinclark> I might even still have that patch floating around somewhere
[14:21:31 CDT(-0500)] <Bosmon> I'm sure we should apply it, if you can find it again (smile)_
[14:23:07 CDT(-0500)] <colinclark> ok
[14:23:07 CDT(-0500)] <colinclark> so
[14:23:11 CDT(-0500)] <colinclark> i was just talking with the king here
[14:23:23 CDT(-0500)] <colinclark> and he needs to look more at the code to see if this order matters
[14:23:37 CDT(-0500)] <colinclark> but I don't see why one of us couldn't just recreate that patch
[14:23:43 CDT(-0500)] <colinclark> it's probably faster than finding it
[14:23:49 CDT(-0500)] <Bosmon> sure
[14:23:55 CDT(-0500)] <Bosmon> It's a shame the function is so poorly named
[14:24:02 CDT(-0500)] <Bosmon> The framework one, I mean
[14:24:04 CDT(-0500)] <colinclark> presumably, we would just do a quick check to see if "element" is present
[14:24:11 CDT(-0500)] <colinclark> and if not, generate the ID outright
[14:24:11 CDT(-0500)] <colinclark> a
[14:24:14 CDT(-0500)] <colinclark> and if it is
[14:24:25 CDT(-0500)] <colinclark> go through the additional logic of checking to see if it really needs an ID
[14:25:37 CDT(-0500)] <Bosmon> Oh, I see
[14:25:44 CDT(-0500)] <Bosmon> You're imagining a "jQuery-style" function (tongue)
[14:25:50 CDT(-0500)] <colinclark> (smile)
[14:26:03 CDT(-0500)] <colinclark> remember the world of method overloading in java?
[14:26:57 CDT(-0500)] <colinclark> were you thinking of something else?
[14:27:13 CDT(-0500)] <Bosmon> I was just thinking of making a 2nd function (tongue)
[14:27:32 CDT(-0500)] <Bosmon> But - when in ROME....
[14:27:34 CDT(-0500)] <colinclark> (smile)
[14:27:52 CDT(-0500)] <Bosmon> We should ZPEEK LIKE A NETIVE
[14:29:08 CDT(-0500)] <Bosmon> After all, we wouldn't want to drop down in the T-shirt stakes (tongue)
[14:29:13 CDT(-0500)] <colinclark> (smile)
[14:30:06 CDT(-0500)] <colinclark> harriswong: Is that a fix you feel like making?
[14:30:17 CDT(-0500)] <colinclark> your first contribution to the core framework
[14:30:19 CDT(-0500)] <colinclark> up to you
[14:32:03 CDT(-0500)] <harriswong> Bosmon, colinclark, I don't mind, I am just not exactly sure what the problem is with the flow mentioned above.
[14:32:15 CDT(-0500)] <colinclark> which flow?
[14:33:30 CDT(-0500)] <harriswong> Something about the workflow using the ID before, or the other way around.
[14:35:02 CDT(-0500)] <colinclark> yeah, Justin_o wasn't so sure about it either
[14:35:18 CDT(-0500)] <colinclark> I guess we'll have to look at the code and decide if it's really necessary to have the ID before the element is created
[14:35:57 CDT(-0500)] <Bosmon> Well, there's no reason to disrupt the flow... we may as well make an improvement to the framework utility as colinclark suggested
[14:40:02 CDT(-0500)] <harriswong> i am looking at Fluid.js line 1701, i think it's already checking that if element.id exists
[14:40:15 CDT(-0500)] <colinclark> harriswong: yep
[14:40:20 CDT(-0500)] <colinclark> but what if element doesn't exist? (wink)
[14:40:39 CDT(-0500)] <harriswong> it returns it
[14:41:22 CDT(-0500)] <harriswong> oh it's returning the element.id back without doing anything to it....interesting....
[14:42:01 CDT(-0500)] <cindyli> Bosmon: i've committed my new experiment on the ui options unit test issue. would u be able to help to take a look?
[14:45:14 CDT(-0500)] <Bosmon> cindyli sure
[14:45:35 CDT(-0500)] <Bosmon> So, remind me what we observe when the test fails?
[14:45:47 CDT(-0500)] <cindyli> thanks, Bosmon
[14:45:54 CDT(-0500)] <cindyli> the test hangs on the 2nd unit test
[14:46:17 CDT(-0500)] <cindyli> because the the component instantiation stops at uiOptions.loader
[14:46:31 CDT(-0500)] <Bosmon> Ok - so is this the latest in your branch now?
[14:46:36 CDT(-0500)] <cindyli> without going further to instantiate uiOptions and other controls components
[14:46:41 CDT(-0500)] <cindyli> yes
[14:47:21 CDT(-0500)] <cindyli> btw, Bosmon, the issue happens on chrome, ie, safari, not firefox
[14:47:39 CDT(-0500)] <Bosmon> cindyli - oh dear, ok
[14:47:53 CDT(-0500)] <Justin_o> jessm: do you have a github account?
[14:47:55 CDT(-0500)] <cindyli> only 2 test cases are uncommented in the test script, which is enough to present the issue
[14:48:36 CDT(-0500)] <jessm> Justin_o: alas, no
[14:48:43 CDT(-0500)] <jessm> it might not make sense for lil' ol' me
[14:49:48 CDT(-0500)] <Bosmon> Come on, you are a SMARTT CATT (smile)
[14:50:08 CDT(-0500)] <jessm> well, thank you Bosmon
[14:50:23 CDT(-0500)] <jessm> Justin_o: you and i talked about getting me setup at one point, but i think we didn't dig back into it
[14:51:24 CDT(-0500)] <jessm> the places where i make edits are things like the readmes so i can pretty easily get those edits to someone – usually the someone I'm working with on the writing of the readme.txt
[14:51:28 CDT(-0500)] <Justin_o> jessm: ah right... well it might make sense for the inclusive-design github space.. i'm going for the "walk"/coffee run.. but we can chat about it after you have time
[14:51:41 CDT(-0500)] <jessm> ah, right
[14:51:54 CDT(-0500)] <Bosmon> ok cindyli - I've checked it out and can demonstrate the issue on Chrome
[14:51:57 CDT(-0500)] <Bosmon> I will look into it now
[14:52:36 CDT(-0500)] <cindyli> Bosmon: thanks a lot
[14:53:12 CDT(-0500)] <Bosmon> cindyli - actually I can't
[14:53:21 CDT(-0500)] <Bosmon> I am getting a failure because of the filesystem origin policy
[14:53:42 CDT(-0500)] <cindyli> what is filesystem origin policy
[14:53:58 CDT(-0500)] <cindyli> web server not installed?
[14:54:02 CDT(-0500)] <Bosmon> Chrome won't let me do AJAX to the filesystem
[14:54:05 CDT(-0500)] <Bosmon> What web server?
[14:54:08 CDT(-0500)] <Bosmon> XMLHttpRequest cannot load file:///E:/Source/gits/infusion-master/src/webapp/components/uiOptions/html/UIOptionsTemplate-layout.html?_=1311191502382. Origin null is not allowed by Access-Control-Allow-Origin.
[14:54:32 CDT(-0500)] <cindyli> ya, do u have a web server installed so that u can access the file via http://localhost
[14:54:59 CDT(-0500)] <cindyli> with chrome and ajax, we cannot access it directly from file system
[14:56:21 CDT(-0500)] <Bosmon> blah
[14:56:23 CDT(-0500)] <Bosmon> Sure we can...
[14:56:36 CDT(-0500)] <cindyli> u found a way?
[14:56:36 CDT(-0500)] <Bosmon> Did you try this method?
[14:56:38 CDT(-0500)] <Bosmon> http://stackoverflow.com/questions/2541949/problems-with-jquery-getjson-using-local-files-in-chrome
[14:56:52 CDT(-0500)] <Bosmon> Chrome has got up to "Orange" level of anger anyway
[14:56:57 CDT(-0500)] <Bosmon> I should restart it...
[14:57:36 CDT(-0500)] <Bosmon> Damn... I was viewing that page in a Chrome window (tongue)
[14:57:48 CDT(-0500)] <cindyli> ah, --disable-web-security
[14:57:56 CDT(-0500)] <cindyli> that's the trick
[14:58:00 CDT(-0500)] <Bosmon> They give another option which they say is safer
[14:58:13 CDT(-0500)] <Bosmon> --allow-file-access-from-files
[14:58:15 CDT(-0500)] <Bosmon> I'll try this now
[14:58:26 CDT(-0500)] <cindyli> cool. good to know
[14:59:39 CDT(-0500)] <Bosmon> Yes, the option works
[14:59:44 CDT(-0500)] <cindyli> super
[15:00:06 CDT(-0500)] <Bosmon> It now runs two tests and hangs on the 3rd
[15:00:12 CDT(-0500)] <Bosmon> Now to restore my 114 Chrome windows (tongue)
[15:01:18 CDT(-0500)] <Bosmon> Wow, it is like a great fireworks display
[15:01:24 CDT(-0500)] <Bosmon> They are all blinking on and off in process groups
[15:01:45 CDT(-0500)] <Bosmon> They've really improved this paralellism a lot....
[15:02:13 CDT(-0500)] <cindyli> lol
[15:07:19 CDT(-0500)] <Bosmon> cindyli - So, I see a problem in that the tests are trying to run concurrently
[15:07:28 CDT(-0500)] <Bosmon> The I/O for the 2nd test starts, before the 1st test has actually concluded
[15:08:00 CDT(-0500)] <Bosmon> Well
[15:08:03 CDT(-0500)] <Bosmon> I see 3 lots of I/O
[15:08:32 CDT(-0500)] <Bosmon> The 3rd set completes synchronously
[15:08:37 CDT(-0500)] <Bosmon> Which I assume is what is causing the problem
[15:09:28 CDT(-0500)] <Bosmon> More seriously, the 3rd set completes before UIOptionsLoader itself has constructed
[15:09:42 CDT(-0500)] <cindyli> really?
[15:10:15 CDT(-0500)] <cindyli> i set a breakpoint at the start of the 3rd test func, it never gets there
[15:12:04 CDT(-0500)] <Bosmon> cindyli - it's not really safe to debug these kinds of issues with breakpoints
[15:12:16 CDT(-0500)] <Bosmon> If you put in a breakpoint, you will destroy the race condition
[15:12:30 CDT(-0500)] <cindyli> ah, ic
[15:12:39 CDT(-0500)] <cindyli> how do u see I/O?
[15:12:52 CDT(-0500)] <Bosmon> So, the issue here, is that the event "onUIOptionsTemplateReady" fires synchronously on the 3rd test, and so it fires BEFORE the component which is listening to it is created
[15:12:58 CDT(-0500)] <Bosmon> You can see it in the debug trace
[15:13:15 CDT(-0500)] <Bosmon> Fluid.js:136 Wed Jul 20 2011 14:03:14 GMT-0600 (Mountain Daylight Time): Request with key uiOptions queued for ../../../../components/uiOptions/html/FullPreviewUIOptions.html
[15:13:15 CDT(-0500)] <Bosmon> Fluid.js:136 Wed Jul 20 2011 14:03:14 GMT-0600 (Mountain Daylight Time): Request to URL ../../../../components/uiOptions/html/FullPreviewUIOptions.html completed - total elapsed time: 0ms
[15:13:16 CDT(-0500)] <Bosmon> Fluid.js:136 Wed Jul 20 2011 14:03:14 GMT-0600 (Mountain Daylight Time): Request with key textControls queued for ../../../../components/uiOptions/html/UIOptionsTemplate-text.html
[15:13:16 CDT(-0500)] <Bosmon> Fluid.js:136 Wed Jul 20 2011 14:03:14 GMT-0600 (Mountain Daylight Time): Request to URL ../../../../components/uiOptions/html/UIOptionsTemplate-text.html completed - total elapsed time: 1ms
[15:13:27 CDT(-0500)] <Bosmon> So for example here you see the 3rd set of I/O being sent off and arriving
[15:13:37 CDT(-0500)] <Bosmon> it takes no time because this time round, it is satisfied from the cache
[15:14:23 CDT(-0500)]

<Bosmon> So the problem here is that this listener in uiOptionsLoader: onUIOptionsTemplateReady: "

Unknown macro: {templateLoader}

.events.onUIOptionsTemplateReady",


[15:14:31 CDT(-0500)] <Bosmon> Ends up getting bound AFTER the event has already fired
[15:14:44 CDT(-0500)] <cindyli> how do we know these traces are not from the 2nd?
[15:14:55 CDT(-0500)] <Bosmon> cindyli - because I already counted through 3 traces (smile)
[15:15:03 CDT(-0500)] <cindyli> haha
[15:15:09 CDT(-0500)] <Bosmon> Again it is useful to copy the entire console to a text editor
[15:15:12 CDT(-0500)] <Bosmon> And then to read it from there
[15:15:18 CDT(-0500)] <Bosmon> You can run a search for "Request with key uiOptions"
[15:15:32 CDT(-0500)] <Bosmon> There are two more before this one - the first two are asynchronous
[15:15:41 CDT(-0500)] <cindyli> ic
[15:17:44 CDT(-0500)] <Bosmon> So, I think this suggests that the best approach is to NOT construct the templateLoader first any more
[15:17:52 CDT(-0500)] <Bosmon> We should construct the UIOptionsLoader first
[15:18:06 CDT(-0500)] <Bosmon> And also move the definition of the onUIOptionsTemplateReady event over into UIOptionsLoader
[15:18:15 CDT(-0500)] <Bosmon> Does that make sense?
[15:18:28 CDT(-0500)] <cindyli> i think yes
[15:18:59 CDT(-0500)] <cindyli> doubt if NOT constructing templateLoader would work
[15:19:27 CDT(-0500)] <cindyli> since the template locations come from it
[15:20:13 CDT(-0500)] <Bosmon> Well, hopefully we don't construct anything which depends on the template locations until we get the event
[15:20:32 CDT(-0500)] <Bosmon> All of the things which depend on the template locations are "createOnEvent" for an event AFTER the templateLoader
[15:21:19 CDT(-0500)] <cindyli> if that's the case, it would work
[15:23:54 CDT(-0500)] <Bosmon> A *CATT* is coming back INN (smile)
[15:24:02 CDT(-0500)] <Bosmon> He is extremely HOTTT
[15:25:07 CDT(-0500)] <cindyli> what's the implication of CATT?
[15:26:51 CDT(-0500)] <Bosmon> He is trying to lie down on the cold tiles to cool himself off....
[15:31:06 CDT(-0500)] <cindyli> ok, ic, no implication
[15:31:13 CDT(-0500)] <cindyli> it's a real cat
[15:33:17 CDT(-0500)] <colinclark> Sometimes it's hard to tell the difference between metaphorical cats and the real ones
[15:33:23 CDT(-0500)] <Bosmon> (smile)
[15:33:25 CDT(-0500)] <colinclark> Ants seem somehow less ambiguous
[15:57:37 CDT(-0500)] <jessm> cindyli: you just grokked CATT about 10 times faster than I did originally!
[15:57:58 CDT(-0500)] <cindyli> lol
[16:02:50 CDT(-0500)] <harriswong> Bosmon: should the pull request wait for the fix on allocateSimpleID?
[16:26:05 CDT(-0500)] <Bosmon> harriswong - are you going to make the fix?
[16:26:53 CDT(-0500)] <harriswong> Bosmon: yep, #FLUID-4349. I think it's just another 2~3 lines of code, on the unit test now. Probably can senda pull request it before i leave.
[16:38:27 CDT(-0500)] <harriswong> Bosmon, colinclark: here are the changes i made for FLUID-4349. https://github.com/harriswong/infusion/commit/c6074e6b81925b69aa379a4cc85f5f297bb62aeb.
[16:38:36 CDT(-0500)] <harriswong> I am taking off now, see you tomorrow!
[16:38:48 CDT(-0500)] <colinclark> thanks, harriswong