fluid-work IRC Logs-2011-01-19

[09:33:06 CST(-0600)] <anastasiac> Bosmon2, are you there?
[09:55:04 CST(-0600)] <heidi_> hey Justin_o i'm hoping to finish my uploader work today - should i help with jira gardening after?
[09:56:10 CST(-0600)] <Justin_o> heidi_: sure if you like... i'll send out a more updated list in a bit
[09:56:24 CST(-0600)] <heidi_> sounds good
[09:56:42 CST(-0600)] <Justin_o> heidi_: i think tomorrow we can talk about some of the clode clean up tasks as well, if you are interested in those
[09:56:56 CST(-0600)] <heidi_> sure
[09:57:44 CST(-0600)] <Justin_o> heidi_: just sent out an updated list
[09:58:00 CST(-0600)] <heidi_> okee
[10:23:15 CST(-0600)] <colinclark> mlam: I'm feeling like committing some patches (smile)
[10:23:22 CST(-0600)] <colinclark> Can you make me a quick list of things I should look at?
[10:23:27 CST(-0600)] <colinclark> For Uploader, that is
[10:23:29 CST(-0600)] <mlam> Sure
[10:23:36 CST(-0600)] <colinclark> heidi_: Any luck getting our scrolling working?
[10:23:51 CST(-0600)] <mlam> FLUID-3699 and FLUID-4033
[10:24:27 CST(-0600)] <heidi_> colinclark yeah - need to return $(".flc-scrollableTable-scrollable"); for it to work - so was gonna ping you about how we should separate that bit out in options
[10:24:47 CST(-0600)] <colinclark> heidi_: Can you explain why that's the case?
[10:25:34 CST(-0600)] <heidi_> colinclark i think it's because before we were sending back a jquery of the div in our function, not a jquery of the div in the page - i think they are different because of scoping issues?
[10:27:40 CST(-0600)] <heidi_> so if we send back a jquery with the classname, it looks for it within the page vs. having an empty div
[11:20:46 CST(-0600)] <colinclark> heidi_: You're on to something, and it strikes me as very bizarre
[11:21:41 CST(-0600)] <colinclark> The jQuery instance we have a reference to as "scrollable" is not, apparently, the same DOM node as the jQuery instance you get if you select it out of the DOM
[11:21:48 CST(-0600)] <colinclark> Meaning, wrap() is doing something quite bizarre
[11:22:06 CST(-0600)] <heidi_> is it wrap or a scope thing?
[11:22:16 CST(-0600)] <colinclark> What do you mean by "a scope thing," heidi_?
[11:23:20 CST(-0600)] <heidi_> creating a jquery with an empty div (in function) vs div in page
[11:23:32 CST(-0600)] <heidi_> what do you think wrap might be doing?
[11:24:44 CST(-0600)] <colinclark> I still don't quite understand what you mean
[11:24:57 CST(-0600)] <colinclark> But, here's what I'm seeing...
[11:25:09 CST(-0600)] <colinclark> The documentation hints at this, but I think it's a bug
[11:25:30 CST(-0600)] <colinclark> Take a look at the documentation for jQuery.wrap()
[11:25:43 CST(-0600)] <colinclark> There is an example that is vaguely similar, but not precisely the same, as what we're trying to do.
[11:25:46 CST(-0600)] <colinclark> It's the one with this caption
[11:25:49 CST(-0600)] <colinclark> "Example: Wrap a jQuery object double depth div around all of the paragraphs. Notice it doesn't move the object but just clones it to wrap around its target."
[11:26:00 CST(-0600)] <colinclark> The example code looks like this:
[11:26:19 CST(-0600)] <colinclark> $("p").wrap($(".doublediv"));
[11:26:37 CST(-0600)] <heidi_> looking..
[11:26:43 CST(-0600)] <colinclark> In the example's case, they are selecting an existing div in the document, cloning it, and wrapping it around all paragraphs
[11:26:56 CST(-0600)] <colinclark> In our case, we're creating a brand new div and wrapping it around out table
[11:27:01 CST(-0600)] <colinclark> The key point is the cloning
[11:27:30 CST(-0600)] <colinclark> So, remember a few days I ago I had asked you to check in the debugger and see if our scrollable jQuery was the same the one returned by selecting it out of the document?
[11:27:56 CST(-0600)] <colinclark> In the debugger, stopped at the last line of fluid.scrollableTable(), I did this:
[11:27:59 CST(-0600)] <colinclark> $(".fl-table-scrollable-area")[0] === scrollable[0]
[11:28:03 CST(-0600)] <colinclark> It returned false
[11:28:15 CST(-0600)] <colinclark> So what's clearly happening is that jQuery is cloning our new div
[11:28:20 CST(-0600)] <heidi_> i see
[11:28:31 CST(-0600)] <colinclark> Does that make sense?
[11:28:37 CST(-0600)] <heidi_> yes
[11:28:51 CST(-0600)] <heidi_> two different things
[11:29:25 CST(-0600)] <colinclark> Yes
[11:29:35 CST(-0600)] <colinclark> One is a <div> just floating in space, having never been injected into the DOM
[11:29:54 CST(-0600)] <heidi_> right
[11:29:56 CST(-0600)] <colinclark> the second is a <div> that was cloned from our "floating div" and injected into the DOM as the parent of our table
[11:30:04 CST(-0600)] <colinclark> This is a profoundly inconvenient API
[11:30:38 CST(-0600)] <colinclark> It doesn't seem particularly unusual for someone to want to get a reference to the thing the wrapper they just made, without having to pay the performance price of going back to the DOM to fetch it
[11:30:46 CST(-0600)] <colinclark> There's an awfully easy fix that we can safely use
[11:31:01 CST(-0600)] <colinclark> In many other cases, this would be not be appropriately DOM agnostic
[11:31:12 CST(-0600)] <colinclark> but in this particular case we control, up front, the structure of the DOM
[11:31:24 CST(-0600)] <colinclark> i.e. we know we are getting an element and wrapping it with two other elements
[11:31:29 CST(-0600)] <colinclark> So we should be able to do this:
[11:31:56 CST(-0600)] <colinclark> return table.parent()
[11:32:04 CST(-0600)] <colinclark> and never bother to hold on to a reference to scrollable at all
[11:32:12 CST(-0600)] <heidi_> i'll try it now
[11:33:06 CST(-0600)] <colinclark> I'll give you some code in a pastebin, heidi_
[11:33:10 CST(-0600)] <colinclark> so you can see an example
[11:33:39 CST(-0600)] <heidi_> it's okay
[11:33:42 CST(-0600)] <heidi_> the parent thing works
[11:34:01 CST(-0600)] <heidi_> i'll put up a patch after i finish tweaking the css
[11:34:07 CST(-0600)] <colinclark> There's more to it than just changing the return statement, heidi_
[11:34:16 CST(-0600)] <heidi_> i know, i got rid of scrollable var
[11:34:17 CST(-0600)] <colinclark> Look closely at the code, and ask yourself some questions
[11:34:19 CST(-0600)] <colinclark> yep
[11:34:24 CST(-0600)] <colinclark> and then take a look at the markup
[11:34:38 CST(-0600)] <colinclark> Can we do this is one shot now, since we don't actually need to hold on to a reference to the scroller?
[11:34:47 CST(-0600)] <colinclark> Something like this... http://pastie.org/1477897
[11:35:40 CST(-0600)] <heidi_> ya
[11:40:33 CST(-0600)] <anastasiac> Bosmon2, are you there?
[13:28:37 CST(-0600)] <Justin_o> fluid-everyone: I think we are gong to meet in person and skype in anyone who is remote, for the dev meeting
[13:28:43 CST(-0600)] <Justin_o> please let us know if you want to join
[13:28:57 CST(-0600)] * jessm waves
[13:30:31 CST(-0600)] <Justin_o> jessm: got you on my list
[13:37:58 CST(-0600)] <heidi_> justin_o add me pls
[13:41:44 CST(-0600)] <jamon> ping fluid-everyone: r.e. the wiki upgrade, bit of a problem, maybe anastasiac can comment:
[13:42:04 CST(-0600)] <jamon> confluence 3.4 offically deprecated the left navigation theme, which is what the fluid wiki is using now
[13:42:10 CST(-0600)] <jessm> jamon: we're all in a dev. mtg. now but i can multi-task
[13:42:23 CST(-0600)] <jamon> jessm: ^
[13:42:50 CST(-0600)] <jessm> jamon: that does sound problematic
[13:45:27 CST(-0600)] <jamon> am looking at an unsupported version that might work with 3.4.6
[13:52:21 CST(-0600)] <jessm> jamon: we might need to hold off on the outage and get a plan together for the nav
[13:52:41 CST(-0600)] <jessm> let's ping anastasiac after this mtg. and Justin_o and colinclark and figure out a plan of attack
[13:52:48 CST(-0600)] <jessm> jamon: sound reasonable?
[13:53:41 CST(-0600)] <jamon> jessm: the deprecated theme installs, just needs custom colours. this outage is to address a security issue that atlassian sent out in an email
[13:53:47 CST(-0600)] <jamon> i am still testing
[13:54:29 CST(-0600)] <jessm> yes, security issue is a priority, but if we have unusable navigation we might need a plan
[13:54:37 CST(-0600)] <jessm> let us know how the testing goes
[13:54:49 CST(-0600)] <jamon> i know, will do
[14:02:41 CST(-0600)] <jamon> jessm: sanity check on please
[14:03:06 CST(-0600)] <jamon> colours and layout specifically
[14:03:30 CST(-0600)] <jessm> looks good to me!
[14:03:50 CST(-0600)] <jamon> just checking anastasiac's docs space now
[14:06:56 CST(-0600)] <jessm> jamon: am i just sanity checking the colour and layout on the front page? the rest is the same?
[14:07:57 CST(-0600)] <jamon> jessm: yes
[14:14:04 CST(-0600)] <jamon> ok, got documentation theme working:
[14:14:12 CST(-0600)] <jamon> good to go on the upgrade in 15 minutes
[14:15:56 CST(-0600)] <jessm> jamon: great
[14:15:58 CST(-0600)] <jessm> what did you have to do?
[14:16:14 CST(-0600)] <jamon> apply theme customizations
[14:16:29 CST(-0600)] <jessm> jamon: what about other add-ons we use?
[14:16:31 CST(-0600)] <jamon> docs theme doesn't work out of the box
[14:16:37 CST(-0600)] <jessm> will those work?
[14:16:59 CST(-0600)] <jamon> all installed plugins are upgraded
[14:17:06 CST(-0600)] <jessm> great
[14:17:24 CST(-0600)] <jessm> good luck
[15:17:20 CST(-0600)] <mlam> Bosmon2: really interesting stuff with Node
[15:17:54 CST(-0600)] <anastasiac> jamon, I'm just back after the dev meeting: you're link to the doc theme looks good - my custom headers seem to be there
[15:18:04 CST(-0600)] <mlam> Bosmon2: so how does security measure up with the classical apache/tomcat combo?
[15:23:17 CST(-0600)] <anastasiac> jessm, ready to talk docs?
[15:23:27 CST(-0600)] <jessm> let's do it
[15:23:32 CST(-0600)] <anastasiac> skype?
[15:23:36 CST(-0600)] <jessm> anastasiac: yes