fluid-work IRC Logs-2011-05-04

[08:23:15 CDT(-0500)] <anastasiac> Justin_o, in response to the columns thread on infusion-users this morning, I've filed http://issues.fluidproject.org/browse/FLUID-4201. I wonder if it's something we might want to get in for 1.4, since it's not a huge change?
[08:23:47 CDT(-0500)] <Justin_o> anastasiac: i was just starting to take a look at that thread
[08:47:40 CDT(-0500)] <Justin_o> anastasiac: i'm wondering if we'd want to add all those classes in or just leave it in documenation as a way to extend/hack FSS
[08:49:27 CDT(-0500)] <anastasiac> well, I'm fine either way (so long as the docs for the current styles make it more clear that it ony works for left-side sidebars), but I think we should support both cases built-in. We did just add 100 new styles for flexible-width containers, so it's hard to argue against #s of styles (smile)
[08:49:32 CDT(-0500)] <Justin_o> heidi: do you have thoughts on that too
[08:50:13 CDT(-0500)] <Justin_o> anastasiac: well.. i think it was more like 99 new styles (smile)
[08:50:26 CDT(-0500)] <Justin_o> that's a good point though
[08:53:30 CDT(-0500)] <Justin_o> anastasiac, heidi: i'm kind of worried about making FSS too big.. in general so i'm trying to be causious about what we add
[08:53:40 CDT(-0500)] <heidi> i think it should be extended for right fixed cols
[09:04:15 CDT(-0500)] <Justin_o> harriswong: you might want to check this out.. something to do with attr in jQuery 1.6 and a bug fix that they'll make for 1.6.1
[09:04:17 CDT(-0500)] <Justin_o> http://news.ycombinator.com/item?id=2510202
[09:04:32 CDT(-0500)] <Justin_o> it might be related to some of the issues you may be seeing with the upgrade, not sure
[09:04:42 CDT(-0500)] <harriswong> Justin_o: thanks.
[09:49:40 CDT(-0500)] <anastasiac> jameswy, does this help your 40/60 column width task? http://wiki.fluidproject.org/display/fluid/FSS+Columns+-+Fixed%2C+unequal+column+widths
[09:53:01 CDT(-0500)] <jameswy> anastasiac: Perfect!
[09:53:08 CDT(-0500)] <anastasiac> (smile)
[09:53:23 CDT(-0500)] <anastasiac> thanks for the request
[09:53:54 CDT(-0500)] <jameswy> anastasiac: Thanks for fulfilling it so quickly!
[09:54:23 CDT(-0500)] <jameswy> One question though-it looks like using that adds a couple more pixels than it should-I'm getting scrollbars when the parent fl-col is in an iframe
[09:54:42 CDT(-0500)] <anastasiac> hm.
[09:55:21 CDT(-0500)] <anastasiac> that's probably the reason Jacob had all the extra work put into the columns. I'll have a look...
[09:56:53 CDT(-0500)] <yura_> colinclark: do you have a moment for a conceptual question (smile)
[09:56:55 CDT(-0500)] <yura_> ?
[09:57:03 CDT(-0500)] <colinclark> Sure
[09:57:05 CDT(-0500)] <colinclark> fire away
[09:57:24 CDT(-0500)] <yura_> so i have 2 components (main component and it's subcomponent)
[09:57:49 CDT(-0500)] <colinclark> ok
[09:58:25 CDT(-0500)] <yura_> subcomponent's demands have a listener to its event that in return fires it's parent's event
[09:59:07 CDT(-0500)] <yura_> I want to write a test and listen to the subcomponent's event but i dont want to override the original listener from demands
[09:59:26 CDT(-0500)] <yura_> is there a way to merge multiple listeners to one event of some particular component?
[09:59:44 CDT(-0500)] <yura_> i cant think of any except for namespacing with unique namespace
[10:05:17 CDT(-0500)] <colinclark> sorry, i'm here
[10:05:19 CDT(-0500)] <colinclark> let me catch up
[10:05:52 CDT(-0500)] <colinclark> hmm
[10:05:58 CDT(-0500)] <colinclark> you weren't kidding when you said "conceptual"
[10:06:04 CDT(-0500)] <colinclark> can you sketch out any code for me?
[10:06:07 CDT(-0500)] <colinclark> even pseudo code?
[10:06:09 CDT(-0500)] <colinclark> a picture?
[10:06:11 CDT(-0500)] <colinclark> (smile)
[10:06:14 CDT(-0500)] <yura_> SURE
[10:06:16 CDT(-0500)] <yura_> sure (smile)
[10:06:22 CDT(-0500)] <colinclark> COOL
[10:06:29 CDT(-0500)] <yura_> so i have something like this
[10:06:30 CDT(-0500)] <yura_> fluid.demands("cspace.pageBuilderIO", "cspace.globalSetup", {
[10:06:30 CDT(-0500)] <yura_> options: {
[10:06:30 CDT(-0500)] <yura_> listeners: {
[10:06:30 CDT(-0500)]

<yura_> pageReady: "

Unknown macro: {globalSetup}

.events.pageReady.fire"


[10:06:30 CDT(-0500)] <yura_> }
[10:06:30 CDT(-0500)] <yura_> }
[10:06:31 CDT(-0500)] <yura_> });
[10:06:47 CDT(-0500)] <yura_> this demands get resolved always
[10:06:51 CDT(-0500)] <colinclark> ok
[10:06:59 CDT(-0500)] <yura_> now i want to add a test case that would also listen to pageReady
[10:07:26 CDT(-0500)] <yura_> how would i pass a listener to pageBuilderIO that would not override the demands one or would not be tramped by the demands one
[10:07:42 CDT(-0500)] <colinclark> ah, good question
[10:08:03 CDT(-0500)] <colinclark> I was under the impression that you could actually pass an array on the right hand side of a listeners spec
[10:08:16 CDT(-0500)]

<yura_> the only way i can think of is to pass this: options:

Unknown macro: {listeners}

[10:08:28 CDT(-0500)] <yura_> colinclark: or really ?
[10:08:36 CDT(-0500)] <colinclark> perhaps I'm wrong, I'd have to look at the code
[10:08:41 CDT(-0500)] <colinclark> and then you're still overriding your demands
[10:08:41 CDT(-0500)] <yura_> but then it means i have to pass my new one + the new one
[10:08:45 CDT(-0500)] <yura_> i mean original
[10:08:47 CDT(-0500)] <colinclark> right
[10:08:52 CDT(-0500)] <colinclark> which might not be what you want
[10:08:59 CDT(-0500)] <colinclark> since you don't want to overrride your demands
[10:09:06 CDT(-0500)] <yura_> colinclark: no not really
[10:09:40 CDT(-0500)] <yura_> so that example with namespacing actually works but i m not sure it's the best way to do it
[10:11:10 CDT(-0500)] <colinclark> So, from my reading of the code, you can indeed do this:
[10:11:48 CDT(-0500)]

<colinclark> listeners:

Unknown macro: { pageReady}

};


[10:11:51 CDT(-0500)] <colinclark> but again, not what you want
[10:12:17 CDT(-0500)] <colinclark> So the namespaced example...
[10:12:21 CDT(-0500)] <yura_> colinclark: oh alright
[10:12:27 CDT(-0500)]

<colinclark> you mean this one? options:

Unknown macro: {listeners}

[10:12:31 CDT(-0500)] <yura_> ya
[10:12:58 CDT(-0500)] <colinclark> I've never actually had the need to register a namespaced listener like this
[10:13:09 CDT(-0500)] <colinclark> Show me the context of how you'd configure this
[10:13:49 CDT(-0500)] <colinclark> Wouldn't you still be overriding your demands block?
[10:15:07 CDT(-0500)] <yura_> colinclark: not really , this way this listener can come however you want, through demands or directly from options
[10:16:37 CDT(-0500)] <colinclark> And the same isn't true for a non-namespaced listener?
[10:18:10 CDT(-0500)] <yura_> colinclark: right, for non-namespaced e.g. array of listeners , i have to write a new demands block
[10:19:14 CDT(-0500)] <colinclark> Go with the namespaced listener, then
[10:19:18 CDT(-0500)] <colinclark> it seems reasonable enough
[10:20:55 CDT(-0500)] <yura_> alright, thanks
[10:50:55 CDT(-0500)] <cindyli> colinclark: IE error with uploader re-instantiation: 'null' is null or not an object, at uploader.html line 1 which obviously is not the actual place that triggers error. click on "close", "object requeired" error is kept throwing infinitely so have to kill the browser
[10:51:18 CDT(-0500)] <colinclark> Oh IE (smile)
[10:51:19 CDT(-0500)] <colinclark> What version?
[10:51:29 CDT(-0500)] <cindyli> 8
[10:51:33 CDT(-0500)] <colinclark> Interesting
[10:51:39 CDT(-0500)] <colinclark> So much for a "modern" browser
[10:51:49 CDT(-0500)] <colinclark> Can you commit what you've got to your repo and send me a link to the code?
[10:52:01 CDT(-0500)] <cindyli> sure
[10:52:46 CDT(-0500)] <colinclark> cool
[11:06:21 CDT(-0500)] <heidi> hey colinclark cindyli - not sure how to do this: for the fat panel UIO i want the previewFrame to be outside of UIOptions (the content of the page below the panel) but i don't think i can select something out of its scope. thoughts?
[11:07:18 CDT(-0500)] <colinclark> heidi: I think you probably just don't want a preview at all
[11:07:31 CDT(-0500)] <colinclark> isn't that the case?
[11:07:41 CDT(-0500)] <cindyli> i think the whole page itself is the preview
[11:08:09 CDT(-0500)] <cindyli> what if placing the previewFrame selector around the page content? just a thought
[11:08:12 CDT(-0500)] <heidi> i want the UIO changes to affect the content of the page itself, live changes
[11:08:47 CDT(-0500)] <heidi> cindyli i over-rode the selector in my js for previewFrame but because it's not withint "myUIOptions" i get an error
[11:08:47 CDT(-0500)] <cindyli> btw, colinclark, changes for image gallery is pushed in
[11:09:05 CDT(-0500)] <heidi> the error is: "Error instantiating component with name "fluid.uiOptions.preview: selector "#myUIOptions #main" with name previewFrame returned no results in context "
[11:09:20 CDT(-0500)] <colinclark> thanks cindyli
[11:09:39 CDT(-0500)] <colinclark> So, heidi and cindyli, I don't think we want a Preview anymore
[11:09:52 CDT(-0500)] <colinclark> Preview is a specific sort of component. Here's it's identity, if I remember correctly:
[11:10:06 CDT(-0500)] <colinclark> 1. It has an iFrame
[11:10:18 CDT(-0500)] <colinclark> 2. It expects to render a template into that iFrame
[11:10:39 CDT(-0500)] <colinclark> 3. It attaches a UI Enhancer to that iFrame and tells it when to update itself
[11:10:58 CDT(-0500)] <colinclark> It seems to me that in the case of the panelized versions of UIO, none of those are really true anymore
[11:11:23 CDT(-0500)] <colinclark> So it seems to me that you want to override UIO so that it no longer has a Preview subcomponent
[11:12:14 CDT(-0500)] <colinclark> And instead, UI Options should communicate directly with the page's UI Enhancer whenever a value changes
[11:12:29 CDT(-0500)] <heidi> colinclark i think that's true cos the controls will save things when they're changed, just the page will have to be refreshed or something? still want that live-changes view
[11:12:47 CDT(-0500)] <colinclark> So that concern of syncing with a UI Enhancer should actually be parameterized if it isn't already
[11:12:59 CDT(-0500)] <colinclark> In other words, we'll create a "Live Preview" subcomponent or something to that effect
[11:15:08 CDT(-0500)] <colinclark> heidi: The page probably won't need to be refreshed, right? The UIE can just do its thing
[11:16:15 CDT(-0500)] <colinclark> heidi, cindyli: It looks like UIO's code is all set for this
[11:16:20 CDT(-0500)] <colinclark> We just have to create a LivePreview component
[11:16:59 CDT(-0500)] <colinclark> which will really do nothing but tell the page's UIE to update whenever Preview.updateModel() gets called by UIO
[11:17:29 CDT(-0500)] <heidi> that sounds good... fuzzy on details but i trust you ha
[11:17:54 CDT(-0500)] <colinclark> Do you want to talk through the fuzziness?
[11:18:01 CDT(-0500)] <colinclark> We can look at how the current Preview works, if that helps
[11:18:06 CDT(-0500)] <heidi> sure ya
[11:18:11 CDT(-0500)] <colinclark> okay
[11:18:15 CDT(-0500)] <colinclark> let me fire up cindy's branch
[11:18:21 CDT(-0500)] <colinclark> I've been looking at the project repo, which is pretty out of date
[11:18:42 CDT(-0500)] <heidi> yeah i have her branch merged in
[11:18:57 CDT(-0500)] <mlam> colinclark: I've committed the additional HTML5 unit tests (sorry to break the chat convo)
[11:18:59 CDT(-0500)] <heidi> easier to explain in person or on here?
[11:19:06 CDT(-0500)] <colinclark> mlam: no worries
[11:19:14 CDT(-0500)] <colinclark> maybe here, so cindyli can follow along at her leisure?
[11:19:17 CDT(-0500)] <colinclark> it's up to you
[11:19:34 CDT(-0500)] <heidi> sounds good
[11:20:34 CDT(-0500)] <colinclark> Okay, so if we start at the bottom of the file...
[11:20:47 CDT(-0500)] <colinclark> The first thing to remember is that there are two components at play here
[11:20:53 CDT(-0500)] <colinclark> UI Options, which is the parent
[11:20:59 CDT(-0500)] <colinclark> and Preview, which is a subcomponent of UI Options
[11:21:24 CDT(-0500)] <colinclark> you can see how it is configured at line 227-230
[11:21:57 CDT(-0500)] <colinclark> Basically, we just ask for a Preview subcomponent, and ask that it be instantiated when UI Options' onReady event fires
[11:22:08 CDT(-0500)] <colinclark> Meaning, when UI Options is fully ready, then we want a Preview.
[11:22:10 CDT(-0500)] <heidi> UIOptions or enhancer file?
[11:22:15 CDT(-0500)] <colinclark> UI Options
[11:22:16 CDT(-0500)] <heidi> k
[11:23:31 CDT(-0500)] <colinclark> So, UI Options uses the ChangeApplier
[11:23:48 CDT(-0500)] <colinclark> the purpose of the ChangeApplier is to let totally separate subcomponents synchronize with each other whenever the model changes
[11:24:08 CDT(-0500)] <colinclark> So, because UI Options uses the Renderer, it will automatically fire a ChangeApplier event whenever any of the controls is changed by the user
[11:24:43 CDT(-0500)] <heidi> k, got it
[11:24:45 CDT(-0500)] <colinclark> Not surprisingly, that's the modelChanged event
[11:25:05 CDT(-0500)] <colinclark> So, any time someone flicks a switch or choose an option, UIO will fire modelChanged immediately
[11:25:14 CDT(-0500)] <colinclark> That's all it does
[11:25:25 CDT(-0500)] <colinclark> it's job isn't to worry about what happens when the user makes a change
[11:25:33 CDT(-0500)] <colinclark> just to let them make the change and then notify others when it happens
[11:25:33 CDT(-0500)] <heidi> k
[11:25:56 CDT(-0500)] <colinclark> If you scroll down to the bottom of the file, you can see how the two components, UI Options and Preview, are glued together
[11:26:09 CDT(-0500)] <colinclark> At lines 559-565, there's a demands block
[11:26:42 CDT(-0500)] <colinclark> This demands block is the Preview component's way of saying "when I'm inside a UI Options, here's what I need to do my job"
[11:27:00 CDT(-0500)] <colinclark> so you can see that it really doesn't need much to do its job
[11:27:24 CDT(-0500)] <colinclark> it's just requesting that its updateModel() method be bound as a listener to UI Options' modelChanged event
[11:27:34 CDT(-0500)]

<colinclark> This line here: "

Unknown macro: {controls}

.events.modelChanged": "

Unknown macro: {preview}

.updateModel"


[11:28:03 CDT(-0500)] <colinclark> You can see I've simplified slightly, in that UI Options actually has a subcomponent called "controls" that is responsible for rendering the controls and everything
[11:28:09 CDT(-0500)] <colinclark> so that line is saying, in effect
[11:28:22 CDT(-0500)] <heidi> it still feels like preview can do what we want? just needs to be tweaked to accept a different selection?
[11:28:31 CDT(-0500)] <colinclark> Whenever the controls change, please call Preview's updateModel() method
[11:28:42 CDT(-0500)] <colinclark> Let's just look at how that updateModel() method works and see, heidi
[11:28:50 CDT(-0500)] <colinclark> So the event binding part is clear?
[11:29:28 CDT(-0500)] <heidi> i think so
[11:30:01 CDT(-0500)] <colinclark> okay, so the interesting parts of Preview are up at lines 517-535
[11:30:06 CDT(-0500)] <heidi> when model changes, call previews update model
[11:30:11 CDT(-0500)] <colinclark> yep, exactly
[11:30:42 CDT(-0500)] <colinclark> So, line 517 is the code for the updateModel() method
[11:30:48 CDT(-0500)] <colinclark> And interestingly, it seems pretty good
[11:30:59 CDT(-0500)] <colinclark> It does almost nothing, but it's exactly the nothing we want (smile)
[11:31:16 CDT(-0500)] <colinclark> It just tells a UIEnhancer to update its model
[11:31:20 CDT(-0500)] <colinclark> so we have a chain...
[11:31:28 CDT(-0500)] <colinclark> 1. UI Options' model changes
[11:31:35 CDT(-0500)] <colinclark> 2. Then Preview is told to update its model
[11:31:45 CDT(-0500)] <colinclark> 3. and Preview in turn tells a UI Enhancer to update its model
[11:32:44 CDT(-0500)] <colinclark> So, we're close
[11:32:47 CDT(-0500)] <colinclark> we could almost use this Preview as-is
[11:32:50 CDT(-0500)] <colinclark> except we can't quite
[11:32:58 CDT(-0500)] <colinclark> take a look at the finalInit method below
[11:33:01 CDT(-0500)] <colinclark> line 528
[11:33:07 CDT(-0500)] <colinclark> it's the part we don't want
[11:33:14 CDT(-0500)] <colinclark> it goes and loads a template
[11:33:17 CDT(-0500)] <heidi> framey
[11:33:22 CDT(-0500)] <colinclark> and puts it into an iFrame
[11:33:22 CDT(-0500)] <colinclark> yep
[11:33:32 CDT(-0500)] <colinclark> so, we just need to change that part
[11:33:37 CDT(-0500)] <colinclark> cindyli has done us a wonderful favour
[11:33:54 CDT(-0500)] <colinclark> Preview is an auto init component
[11:34:09 CDT(-0500)] <colinclark> meaning it's really really easy to just change that behaviour we don't want, without having to worry about other code
[11:34:27 CDT(-0500)] <colinclark> so what we'll need to do is create a new auto init component
[11:34:34 CDT(-0500)] <colinclark> much like the current one
[11:34:44 CDT(-0500)] <colinclark> perhaps we'll call it fluid.uiOptions.livePreview
[11:34:55 CDT(-0500)] <colinclark> and so we'll just have to write some new defaults for it
[11:35:35 CDT(-0500)] <colinclark> So, there's a tiny bit more background information you'll need to know
[11:35:49 CDT(-0500)] <colinclark> take a look at lines 484-494
[11:35:56 CDT(-0500)] <colinclark> there's some fairly complex UIEnhancer related configuration there
[11:36:00 CDT(-0500)] <colinclark> have a look at it
[11:36:05 CDT(-0500)] <colinclark> You'll see a few things
[11:36:11 CDT(-0500)] <colinclark> 1. We're asking the framework to make us a UI Enhancer
[11:36:28 CDT(-0500)] <colinclark> 2. We only want it to be created when Preview is ready (because of issues with the iFrame taking time to load)
[11:36:41 CDT(-0500)] <colinclark> 3. We're giving it all sorts of extra options
[11:37:04 CDT(-0500)] <colinclark> The reason for all of these three things is because of the iFrame
[11:37:08 CDT(-0500)] <colinclark> It's a totally separate document
[11:37:13 CDT(-0500)] <colinclark> and as a result needs its own personal UI Enhancer
[11:37:29 CDT(-0500)] <heidi> ah
[11:37:32 CDT(-0500)] <colinclark> Clear-ish so far?
[11:37:51 CDT(-0500)] <heidi> ish. livepreview won't need its own enhancer?
[11:38:04 CDT(-0500)] <colinclark> Yep, exactly
[11:38:09 CDT(-0500)] <colinclark> It will use the page's UI Enhancer directly
[11:38:25 CDT(-0500)] <colinclark> So the way UI Enhancer works is that the user needs to include it in the head of every page they want to enhance
[11:38:36 CDT(-0500)] <heidi> cool, got it
[11:38:42 CDT(-0500)] <colinclark> The way they do that isn't 100% awesome at the moment, but we can fix that up
[11:39:01 CDT(-0500)] <colinclark> So, we can safely assume that if the user wants the page to be enhanced, they will have set us up a UI Enhancer already
[11:39:16 CDT(-0500)] <colinclark> At the moment, we have a pretty hacky implementation of this
[11:39:24 CDT(-0500)] <colinclark> UI Enhancer hides itself in the DOM of the page
[11:39:29 CDT(-0500)] <colinclark> using jQuery.data(), I think
[11:39:35 CDT(-0500)] <colinclark> so that someone can come along find it if they want to
[11:39:52 CDT(-0500)] <heidi> i don't really know what that means
[11:40:08 CDT(-0500)] <colinclark> Read the documentation for jQuery.data() first
[11:40:08 CDT(-0500)] <colinclark> t
[11:40:13 CDT(-0500)] <colinclark> there are probably some tutorials
[11:40:26 CDT(-0500)] <colinclark> but you can actually see UI Options go and find it at line 264
[11:40:30 CDT(-0500)] <heidi> i see that in the demo we ask for a fluid.uiEnhancer in its js, but no special options
[11:40:44 CDT(-0500)] <colinclark> right
[11:41:14 CDT(-0500)] <colinclark> So our livePreview component is going to have to go find that UI Enhancer again
[11:41:33 CDT(-0500)] <colinclark> It can accomplish that in this hacky way using this line of code:
[11:41:34 CDT(-0500)] <colinclark> that.uiEnhancer = $(document).data("uiEnhancer");
[11:41:41 CDT(-0500)] <colinclark> but make sure you know what that code means first (smile)
[11:42:02 CDT(-0500)] <heidi> ah, i see. ok will read up on .data
[11:42:04 CDT(-0500)] <colinclark> So let me sketch out what I think things will look like in a pastie
[11:42:06 CDT(-0500)] <colinclark> gimme one sec
[11:44:35 CDT(-0500)] <colinclark> Okay, how about this?
[11:44:36 CDT(-0500)] <colinclark> http://pastie.org/1864720
[11:44:49 CDT(-0500)] <colinclark> It's just a sketch. I haven't tried it, or even checked if it's syntactical
[11:44:52 CDT(-0500)] <colinclark> but it should convey the idea
[11:45:01 CDT(-0500)] <colinclark> So I mentioned earlier that cindyli had done us a big favour
[11:45:07 CDT(-0500)] <colinclark> you can see that we really only had to write one line of code
[11:45:18 CDT(-0500)] <colinclark> the part that goes and finds the page's UI Enhancer
[11:45:29 CDT(-0500)] <colinclark> The rest of it is just us writing some new configuration
[11:45:43 CDT(-0500)] <colinclark> and it's a lot simpler than the ordinary Preview component's configuration
[11:47:35 CDT(-0500)] <heidi> and invokers are like functions you're borrowing from a component
[11:47:58 CDT(-0500)] <colinclark> They're like plain old functions that you want to attach to a component as a method, yes
[11:48:22 CDT(-0500)] <colinclark> The fact that updateModel was an invoker made our lives much easier, because it wasn't hard-baked to a particular component
[11:48:31 CDT(-0500)] <colinclark> it's just there, floating around, ready to be used in a new component as needed
[11:48:53 CDT(-0500)] <colinclark> The last step will just be to override UIOptions' default "preview" component type...
[11:48:56 CDT(-0500)] <colinclark> you'll do that in your demo page
[11:49:05 CDT(-0500)] <colinclark> Do you have a test page or something that shows this style of UIO?
[11:49:32 CDT(-0500)] <colinclark> I have to run for a lunch date, but I could help you actually implement this code when I get back
[11:49:45 CDT(-0500)] <colinclark> or if cindyli has time, she's probably in good shape to help, too
[11:49:56 CDT(-0500)] <colinclark> but that's pretty much it, if I am understanding the code correctly
[11:49:59 CDT(-0500)] <heidi> i think justin started telling me - about sending an empty component to over-ride
[11:50:00 CDT(-0500)] <colinclark> which is always an open question (tongue)
[11:50:13 CDT(-0500)] <colinclark> Yep, you can do that, too
[11:50:19 CDT(-0500)] <colinclark> In our case we don't want an empty component, though
[11:50:29 CDT(-0500)] <heidi> i'm going for lunch too (mother's day card needs to be mailed!) but yah i'll try this when i get back
[11:50:33 CDT(-0500)] <colinclark> We want a new component specifically for this style of live preview
[11:50:43 CDT(-0500)] <heidi> right..
[12:36:49 CDT(-0500)] <jessm> heidi: ping
[12:37:41 CDT(-0500)] <heidi> hey jessm
[12:37:54 CDT(-0500)] <jessm> heidi: do you have a one-page CV?
[12:38:14 CDT(-0500)] <heidi> jessm i don't have one, i'm going to write one now
[12:38:40 CDT(-0500)] <jessm> heidi: if you have a resume, you can easily re-structure it i'm hoping
[12:39:31 CDT(-0500)] <heidi> jessm hasn't been updated in almost a decade... i'll just grabbed from my linkedin
[13:29:31 CDT(-0500)] <colinclark> So heidi and cindyli, I was thinking while walking to lunch about the LivePreview component...
[13:29:45 CDT(-0500)] <colinclark> it seems to me that we can make it even more simple
[13:30:06 CDT(-0500)] <heidi> ah, good. i was just going to start with it now... btw jessm CV sent, hope it's ok
[13:30:30 CDT(-0500)] <colinclark> Remember I mentioned that there was a chain of updateModel() method calls, heidi?
[13:30:38 CDT(-0500)] <heidi> yes
[13:30:51 CDT(-0500)] <heidi> we can just update enhancer directly?
[13:31:04 CDT(-0500)] <colinclark> User changes the model -> uiOptions.controls fires modelChanged -> Preview.updateModel() -> UIEnhancer.updateModel()
[13:31:06 CDT(-0500)] <jessm> heidi: yes, good
[13:31:07 CDT(-0500)] <colinclark> yep, exactly, heidi
[13:31:25 CDT(-0500)] <colinclark> So going back to line 521 of UIOptions.js...
[13:31:30 CDT(-0500)] <colinclark> there's really nothing there
[13:31:44 CDT(-0500)] <colinclark> A call to enhancer.updateModel() wrapped in a setTimeout
[13:31:54 CDT(-0500)] <colinclark> and if you look at the JIRA referenced there (http://issues.fluidproject.org/browse/FLUID-2248)...
[13:32:02 CDT(-0500)] <colinclark> you'll see that it's actually only there due to quirks with the iFrame
[13:32:12 CDT(-0500)] <colinclark> since the LivePreview has no iFrame, we don't even need that behaviour
[13:32:31 CDT(-0500)] <colinclark> So we don't even need the invoker at all. We can, as you say heidi, just call the UIE directly
[13:32:38 CDT(-0500)] <colinclark> Lemme just tidy up that pastie I sent earlier
[13:32:57 CDT(-0500)] <heidi> ah
[13:32:59 CDT(-0500)] <heidi> okay cool
[13:33:13 CDT(-0500)] <Justin_o> fluid-everyone: dev meeting?
[13:33:39 CDT(-0500)] <anastasiac> Justin_o: in person, or in the channel
[13:33:41 CDT(-0500)] <anastasiac> ?
[13:33:49 CDT(-0500)] <Justin_o> anastasiac: either is fine by me
[13:34:02 CDT(-0500)] <heidi> what's on the agenda?
[13:34:20 CDT(-0500)] <colinclark> http://pastie.org/1865146
[13:34:46 CDT(-0500)] <colinclark> So I've just removed the invoker from the configuration, and made a new demands block for the live preview's event binder
[13:34:51 CDT(-0500)] <Justin_o> heidi: i wanted to talk a bit about the aria-hackathon, and maybe some more talk about what to do about not having externals and what is done so far for the daily build site in that regard
[13:34:59 CDT(-0500)] <Justin_o> but that's not too critical
[13:35:10 CDT(-0500)] <colinclark> So that we bind UI Options' modelChanged event directly to the live preview's UIEnhancer
[13:35:15 CDT(-0500)] <Justin_o> fluid-everyone: Anyone else have topic suggestions for the dev meeting
[13:36:37 CDT(-0500)] <heidi> colinclark okay i'm going to try to... get it working!
[13:36:42 CDT(-0500)] <colinclark> I'd like an update on the jQuery upgrade work
[13:36:51 CDT(-0500)] <colinclark> And if there's any UIO chatting we should do?
[13:36:56 CDT(-0500)] <colinclark> Justin_o: Were you thinking here or in person?
[13:37:00 CDT(-0500)] <colinclark> (with Skype)
[13:37:27 CDT(-0500)] <Justin_o> colinclark: either is fine... it might be nice to chat in person, but either is okay
[13:37:34 CDT(-0500)] <colinclark> Let's do that, then
[13:37:39 CDT(-0500)] <Justin_o> colinclark: is Bosmon going to join or is he busy at the conference
[13:37:51 CDT(-0500)] <colinclark> I dunno
[13:38:39 CDT(-0500)] <colinclark> he seems to be quite busy lamenting out lack of popularity within world of JavaScript Geek Chic at the moment (tongue)
[13:39:35 CDT(-0500)] <Justin_o> oh, we're the underdogs i guess (smile)
[13:40:22 CDT(-0500)] <colinclark> I guess we might be sort of like members of the AV Club (wink)
[13:41:23 CDT(-0500)] <Justin_o> colinclark: so we're like extra geeky geeks
[13:41:35 CDT(-0500)] <colinclark> Maybe only yura_ and a few will pick up this reference
[13:41:38 CDT(-0500)] <colinclark> but we're cool
[13:41:45 CDT(-0500)] <colinclark> like bowties are cool
[13:41:47 CDT(-0500)] <colinclark> and fezzes
[13:54:28 CDT(-0500)] <colinclark> http://wiki.jqueryui.com/w/page/38817541/ARIA-Hackathon
[14:51:44 CDT(-0500)] <anastasiac> heidi, what is the JIRA number for the new preview templates work?
[14:52:00 CDT(-0500)] <anastasiac> for the awesome content samples?
[14:52:46 CDT(-0500)] <heidi> anastasiac ah, not sure there is one!
[14:53:11 CDT(-0500)] <anastasiac> ok, you said you have at least one file so far? which of your branches is that in?
[15:22:49 CDT(-0500)] <cindyli> Justin_o: i figured out what's wrong with the builder daily build. folder permissions
[15:23:07 CDT(-0500)] <cindyli> /home/continuum/website/infusionBuilder-secure/tmp/ needs to be 777
[15:23:21 CDT(-0500)] <cindyli> and, /home/continuum/website/infusionBuilder-secure/cache/ needs to be 775
[15:23:33 CDT(-0500)] <Justin_o> cindyli: interesting... thanks
[15:23:34 CDT(-0500)] <cindyli> they were created as 755
[15:23:52 CDT(-0500)] <Justin_o> cindyli: okay.. thanks
[15:23:58 CDT(-0500)] <cindyli> np
[15:29:26 CDT(-0500)] <heidi> anastasiac sorry missed yr msg. the stand-alone demo has a preview page that's not bad
[15:29:34 CDT(-0500)] <anastasiac> k