fluid-work IRC Logs-2011-08-04

[08:36:51 CDT(-0500)] <azeckoski> hello fluidators!
[08:37:10 CDT(-0500)] <azeckoski> that's like terminator but with more fluid
[08:37:27 CDT(-0500)] <azeckoski> get it? termin.... with the.... yeah... ok
[08:37:52 CDT(-0500)] <azeckoski> tumbleweeds
[08:40:44 CDT(-0500)] <lahabana> ...
[08:40:46 CDT(-0500)] <lahabana> Lol (smile)
[08:41:17 CDT(-0500)] <lahabana> hey heidi_ you are here?
[08:41:42 CDT(-0500)] <lahabana> have u read the answer that colin gave about keyboard control?
[08:41:43 CDT(-0500)] <heidi_> hey lahabana , how's it going?
[08:41:49 CDT(-0500)] <lahabana> quite good
[08:41:51 CDT(-0500)] <heidi_> let me re-read
[08:41:56 CDT(-0500)] <lahabana> ok
[08:42:25 CDT(-0500)] <lahabana> it's more about the option part
[08:43:17 CDT(-0500)] <lahabana> I had done that:
[08:43:18 CDT(-0500)] <lahabana> http://pastie.org/2319783
[08:43:26 CDT(-0500)] <lahabana> do you think this is consistand?
[08:43:40 CDT(-0500)] <lahabana> *consistant
[08:43:57 CDT(-0500)] <lahabana> well (keys need to have real names (smile)
[08:44:05 CDT(-0500)] <lahabana> not codes (smile)
[08:44:30 CDT(-0500)] <heidi_> lahabana having these as options is a great way to do it
[08:44:31 CDT(-0500)] <lahabana> but maybe the modifier could be more general?
[08:44:47 CDT(-0500)] <lahabana> yes that's part of my default function
[08:44:51 CDT(-0500)] <heidi_> hm, what's your question exactly?
[08:45:01 CDT(-0500)] <lahabana> so if I'm not worng that can be overide
[08:45:25 CDT(-0500)] <heidi_> the implementer should be able to change these options, yes
[08:45:25 CDT(-0500)] <lahabana> well it is : "is it consistant with the framework
[08:45:47 CDT(-0500)] <heidi_> ah, did you look at how the reorderer does it?
[08:46:01 CDT(-0500)] <lahabana> yes I did
[08:46:33 CDT(-0500)] <heidi_> ah, the modifier
[08:46:36 CDT(-0500)] <lahabana> it's a bit the same except it can't really be modified no?
[08:47:51 CDT(-0500)] <heidi_> i don't know enough about how the reorderer is doing things... maybe reply back to colin's email with your question to double check
[08:48:06 CDT(-0500)] <lahabana> yes
[08:48:15 CDT(-0500)] <heidi_> sorry to not be more helpful!
[08:48:21 CDT(-0500)] <lahabana> it's ok
[08:48:28 CDT(-0500)] <lahabana> I'll wait for him to come here
[08:48:35 CDT(-0500)] <lahabana> I've got other things to do
[08:48:46 CDT(-0500)] <lahabana> working on a menu to change caption traks
[08:49:22 CDT(-0500)] <heidi_> cool - i need to check out your player updates soon. latest in your github?
[08:49:28 CDT(-0500)] <lahabana> I love the renderer quite hard to use in the beginning but when you understand it becomes awesome (wink)
[08:49:41 CDT(-0500)] <lahabana> hmm let me check how it is synced
[08:52:37 CDT(-0500)] <lahabana> https://github.com/lahabana/videoPlayer
[08:52:42 CDT(-0500)] <lahabana> here it is heidi_
[08:53:12 CDT(-0500)] <heidi_> lahabana thanks i'll take a look soon (smile)
[08:53:16 CDT(-0500)] <lahabana> if u wanna try it use a webkit browser cause there's a security thing with local files and firefox (smile)
[08:53:24 CDT(-0500)] <heidi_> ah, yes.
[08:53:39 CDT(-0500)] <heidi_> lahabana do you have an updated to-do list you're working on?
[08:53:59 CDT(-0500)] <lahabana> hmm so atm it's :
[08:54:11 CDT(-0500)] <lahabana> finishing a clean menu to change captions
[08:54:38 CDT(-0500)] <lahabana> (it's started you'll see it works but not everything is done yet)
[08:55:11 CDT(-0500)] <lahabana> stop the videoPlayer crashing when no captions are given... (yes just seen that (wink) )
[08:55:34 CDT(-0500)] <lahabana> finish the keyboard controls
[08:55:51 CDT(-0500)] <lahabana> (that's almost finished)
[08:56:06 CDT(-0500)] <lahabana> then I want to do a sequence of tests
[08:56:19 CDT(-0500)] <lahabana> and would like to clean a little bit all the options etc
[08:56:41 CDT(-0500)] <heidi_> sounds good - it's great the work you're doing on this, and your quick mastery of infusion!
[08:56:45 CDT(-0500)] <lahabana> maybe start a little bit of documentation to be sure I'm clear
[08:57:05 CDT(-0500)] <lahabana> well yes I'm surprised to be able to understand that much...
[08:57:35 CDT(-0500)] <lahabana> cause I had sweating hours in front of my screen trying to get some things from the framework (smile)
[08:58:05 CDT(-0500)] <heidi_> lahabana but because of it , was able to help improve our documentation i bet! (wink)
[08:58:08 CDT(-0500)] <lahabana> well I'm just a little sad I may not be able to go as far as I thought in my proposal...
[08:58:26 CDT(-0500)] <lahabana> I hope I did help (smile)
[08:58:36 CDT(-0500)] <heidi_> lahabana what sorts of things do you think you won't get to do?
[08:58:43 CDT(-0500)] <lahabana> but well I can keep working on it after
[08:59:13 CDT(-0500)] <lahabana> well I talked in my proposal about adding filters and things like that to the video
[08:59:17 CDT(-0500)] <lahabana> using canvas etc
[08:59:21 CDT(-0500)] <heidi_> ah, right
[08:59:24 CDT(-0500)] <heidi_> fancy stuff
[08:59:31 CDT(-0500)] <lahabana> or I had an idea about saving and exporting presets
[08:59:48 CDT(-0500)] <lahabana> so that everywhere the person would go and see the videoPlayer
[09:00:01 CDT(-0500)] <lahabana> it would try to load it as he wants
[09:00:10 CDT(-0500)] <heidi_> yeah cool idea
[09:00:18 CDT(-0500)] <lahabana> the idea was a bit like gravatar
[09:00:35 CDT(-0500)] <lahabana> u send ur presets to a server
[09:00:35 CDT(-0500)] <lahabana> a
[09:00:58 CDT(-0500)] <lahabana> and then the player just query it everytime u load a videoPlayer
[09:01:49 CDT(-0500)] <heidi_> yeah the cloud storage idea
[09:01:49 CDT(-0500)] <lahabana> well will have to wait (smile)
[09:01:56 CDT(-0500)] <lahabana> yes kinda
[09:02:31 CDT(-0500)] <lahabana> however
[09:02:45 CDT(-0500)] <lahabana> I've recently tried to make a component called media
[09:02:58 CDT(-0500)] <heidi_> well it sounds like you're getting the player to a good, solid place where these extra features could be added later on. a solid base will be great to have
[09:02:58 CDT(-0500)] <lahabana> so that it could quickly used to make an audioPlayer too
[09:03:10 CDT(-0500)] <lahabana> yes true
[09:03:29 CDT(-0500)] <lahabana> it's not perfectly separated
[09:03:29 CDT(-0500)] <heidi_> ah, an adaptable player
[09:03:43 CDT(-0500)] <lahabana> but I think it would not ask that much to finish
[09:04:26 CDT(-0500)] <lahabana> realized that it was necessary when I was looking at the W3C doc on media tags
[09:04:39 CDT(-0500)] <lahabana> cause it's pretty all the same events
[09:04:51 CDT(-0500)] <lahabana> *pretty much
[09:04:55 CDT(-0500)] <heidi_> cool
[09:04:59 CDT(-0500)] <lahabana> and attributes...
[09:05:21 CDT(-0500)] <lahabana> so there's only a few exceptions to deal with
[09:06:03 CDT(-0500)] <lahabana> so should be quite easy to have almost the same model and jsut change the view
[09:06:47 CDT(-0500)] <lahabana> think it would be really interesting to have just a player for eg
[09:07:05 CDT(-0500)] <lahabana> and it would deal differently with videos and audio
[09:07:14 CDT(-0500)] <lahabana> but that would be transparent for users (smile)
[09:07:39 CDT(-0500)] <lahabana> well that is in a bit more time anyway
[09:08:12 CDT(-0500)] <lahabana> just ideas that raised when I was working
[09:08:15 CDT(-0500)] <lahabana> (wink)
[09:15:24 CDT(-0500)] <heidi_> lahabana definitely cool to look ahead like that. when i was on the opencast project, we thought a lot about players for lectures... and how two video streams are often used, one for the professor, and one for the slides
[09:15:55 CDT(-0500)] <heidi_> but making this an accessible experience is tricky - because often only one stream can be absorbed by the user at a time
[09:16:18 CDT(-0500)] <heidi_> but there is such a close relationship in timing between the prof and the slides... i.e. viewing one, and then viewing the other, doesn't work
[09:17:12 CDT(-0500)] <heidi_> so we thought about having flags within the prof video that would signal a good time to pause, and switch over to the slide data... but then making THAT content accessible as text vs video... on and on (smile)
[09:24:29 CDT(-0500)] <heidi_> bit of a tangent, but something to think about
[09:40:49 CDT(-0500)] <anastasiac> hi, lahabana - I'm looking over your GSoC docs camp proposal. Do you have a copy of Open Office or Microsoft Word? Using "track changes" might make it easier to suggest edits...
[09:46:03 CDT(-0500)] <lahabana> no sorry anastasiac I don't have any office ...
[09:46:16 CDT(-0500)] <harriswong> anastasiac: I am not sure if this should be included in the documentation. Regarding to the uploader with PHP, if users experience problems with it, it could be the php.ini settings. Both of the following needs to be adjusted: upload_max_filesize = 10M; post_max_size = 10M;
[09:46:25 CDT(-0500)] <lahabana> I have google docs though if u want
[09:46:34 CDT(-0500)] <anastasiac> ok, lahabana, I'll stick text
[09:47:23 CDT(-0500)] <anastasiac> harriswong, that's certainly something that sounds helpful to document. If it's not already mentioned, we should add it, and perhaps also add a troubleshooting question to the FAQ
[10:13:56 CDT(-0500)] <Justin_o> fluid-everyone: I'd like to talk through some issues with UIO related to the contrast themes today. Basically this is around what to do with exceptions to the general styles in the various contrast themes. This is sort of coming out of the work I'm doing on FLUID-4377
[10:14:13 CDT(-0500)] <colinclark> ok, fire away
[10:14:44 CDT(-0500)] <azeckoski> colinclark: when you are done with that and want to play with pagers, just yell
[10:14:47 CDT(-0500)] <azeckoski> (smile)
[10:14:51 CDT(-0500)] <colinclark> ok
[10:16:01 CDT(-0500)] <Justin_o> colinclark: okay.. so you can take a look at this https://github.com/jobara/infusion/blob/FLUID-4377-importants/src/webapp/components/uiOptions/css/FatPanelUIOptionsFrame.css#L171-205
[10:16:45 CDT(-0500)] <Justin_o> basically to get the tab bar in Fat Panel UIO working properly I've had to add a bunch of !importants into Fat Panel's style sheet
[10:17:27 CDT(-0500)] <Justin_o> I'm still planning on doing more exploration to see if I can do this without the !importants and/or if i can use less of them
[10:18:08 CDT(-0500)] <Justin_o> at the moment, though, it appears necessary because the generated style sheet for the contrast theme is setting them to be the opposite of what we'd like
[10:19:16 CDT(-0500)] <colinclark> funny
[10:19:48 CDT(-0500)] <colinclark> So you're saying that you need to tweak the meaning of "high contrast" for your particular UI, beyond what the theme's default could possibly do?
[10:19:58 CDT(-0500)] <Justin_o> colinclark: exactly
[10:20:03 CDT(-0500)] <colinclark> Why is that?
[10:20:10 CDT(-0500)] <Justin_o> it's sort of like it's a bit of a mix of hc and hci for certain parts
[10:20:19 CDT(-0500)] <Justin_o> colinclark: that's what the design calls for (smile)
[10:20:27 CDT(-0500)] <colinclark> how so?
[10:20:52 CDT(-0500)] <Justin_o> okay... so take tabs for example
[10:21:07 CDT(-0500)] <Justin_o> you'd want the active tab to show up different than the others
[10:21:22 CDT(-0500)] <Justin_o> although we may be able to add this into the general style sheet i suppose
[10:21:38 CDT(-0500)] <colinclark> That seems true, yes
[10:21:42 CDT(-0500)] <colinclark> any other examples of it?
[10:21:55 CDT(-0500)] <Justin_o> on the same bar that includes the tabs is the reset button
[10:22:14 CDT(-0500)] <Justin_o> which, for consistency i guess, has the same colour scheme as the tabs
[10:22:22 CDT(-0500)] <Justin_o> the unselected tab
[10:22:36 CDT(-0500)] <Justin_o> which is inverted from the rest of the colour scheme
[10:23:05 CDT(-0500)] <Justin_o> this is also making me worried that this is just single case of something that may be more systemic an issue
[10:23:31 CDT(-0500)] <Justin_o> in that, we likely can't possibly know, what will work best for the sites of all our users
[10:24:13 CDT(-0500)] <Justin_o> jameswy, heidi_, fluid-everyone: have any thoughts on this?
[10:24:41 CDT(-0500)] <colinclark> Justin_o: I think you're probably right, but I wonder if we can minimize the impact by simply ensuring that our themes style things sensibly
[10:24:55 CDT(-0500)] <colinclark> Like, it seems fairly insane for a theme to not have a reasonable style for an active tab
[10:25:04 CDT(-0500)] <colinclark> especially since the FSS itself does have a concept of tabs, etc.
[10:26:19 CDT(-0500)] <Justin_o> colinclark: interesting.. just looked into this a bit more, and there is one for active tabs, for the fss-tabs
[10:26:34 CDT(-0500)] <anastasiac> the high-contrast themes do already include styling for tabs: http://build.fluidproject.org/infusion/tests/framework-tests/fss/html/8.fss.themes.html
[10:26:35 CDT(-0500)] <Justin_o> but something must be going wrong for the jQuery ui tabs, which are in this case heavily modified
[10:26:47 CDT(-0500)] <anastasiac> ah, but not jquery tabs
[10:27:50 CDT(-0500)] <Justin_o> anastasiac: yes.. not the jquery tabs
[10:28:23 CDT(-0500)] <Justin_o> so just as some background, we used the jquery ui tabs, but wanted something that looked completely different, so are overriding a bunch of the styling for them.
[10:34:37 CDT(-0500)] <heidi_> i think there's a jira for linking fss tabs with jquery ui tabs (our tabs component) ... prob related to this discussion somehow
[10:38:50 CDT(-0500)] <heidi_> right now they're two diff things. UIO is using jq tabs
[10:43:08 CDT(-0500)] <Bosmon> Hi cindyli - just checking up on the UIO review
[10:43:12 CDT(-0500)] <Bosmon> Are you ok to get on?
[10:43:30 CDT(-0500)] <cindyli> yes, Bosmon. nice review
[10:43:50 CDT(-0500)] <cindyli> the 2 parts about the code change are done. writing more unit tests
[10:44:02 CDT(-0500)] <Bosmon> cindyli - that's great
[10:44:20 CDT(-0500)] <cindyli> u mentioned the way to config classnameMap, i think it should be part of pageEnhancer tests
[10:44:44 CDT(-0500)] <cindyli> as it is to config page enhancer, instead of any actual UIO view
[10:45:04 CDT(-0500)] <cindyli> Bosmon: the bad thing is that i found a bug while working on test cases
[10:45:45 CDT(-0500)] <cindyli> which is with the options munging, the merge of the integrator's options and the component defaults options is incorrect
[10:45:54 CDT(-0500)] <cindyli> let me grab some code
[10:47:12 CDT(-0500)] <Bosmon> cindyli - we certainly need both kinds of tests
[10:47:42 CDT(-0500)] <Bosmon> A pageEnhancer test is a good idea too, but we also need to verify with an integration test that this option can be correctly munged and delivered to a "real" UIO
[10:48:29 CDT(-0500)] <cindyli> ok. another integration
[10:48:51 CDT(-0500)] <jameswy> Justin_o: I'm a bit confused; why is the reset button causing challenges? Why couldn't we just create a straight up contrast and an inverted contrast style to handle both scenarios on the tab?
[10:49:12 CDT(-0500)] <cindyli> Bosmon: back to the bug - https://github.com/cindyli/infusion/blob/FLUID-4353/src/webapp/components/uiOptions/js/FullNoPreviewUIOptions.js#L30-36
[10:49:39 CDT(-0500)] <cindyli> this chunk of code defines the default template for full no preview, thru options munging
[10:49:45 CDT(-0500)] <Justin_o> jameswy: we could do that, but what should we do it for?
[10:49:59 CDT(-0500)] <Bosmon> You may notice in my branch, just btw, that I switched to a style of %prefix/ for the template prefixes... I think it is a bit more readable
[10:50:06 CDT(-0500)] <Bosmon> But yes, carry on
[10:50:19 CDT(-0500)] <cindyli> Bosmon: ok. noticed that the integrator cannot override it
[10:50:29 CDT(-0500)] <colinclark> heidi_, Justin_o, anastasiac: I think heidi_ hit at least one of the nails on the head for this issue
[10:50:29 CDT(-0500)] <jameswy> Justin_o: Whatever it needs doing for, I suppose? (was that even grammatically sensible?)
[10:50:42 CDT(-0500)] <Bosmon> cindyli - you mean, they can't override it by providing a direct option?
[10:50:47 CDT(-0500)] <colinclark> that there's no relationship between our tab styling and theirs
[10:50:57 CDT(-0500)] <Justin_o> colinclark: yep that's true
[10:51:24 CDT(-0500)] <cindyli> exactly, Bosmon, if the direct options u meant is from the options at calling fullNoPreview
[10:51:34 CDT(-0500)] <heidi_> colinclark this is the jira for it http://issues.fluidproject.org/browse/FLUID-4312
[10:51:47 CDT(-0500)] <Justin_o> jameswy, colinclark: i guess my question is where does this end? Are these one off cases, or just the tip of the iceberg that our users will have to deal with for their own pages
[10:51:55 CDT(-0500)] <colinclark> Justin_o: well, both
[10:51:56 CDT(-0500)] <cindyli> Bosmon: we need to find a way to merge the user's defaults and component defaults with options munging
[10:51:56 CDT(-0500)] <colinclark> (smile)
[10:52:10 CDT(-0500)] <colinclark> I think that we have already smashed our ship into this particular iceberg
[10:52:20 CDT(-0500)] <colinclark> and so we know it goes fairly deep
[10:52:38 CDT(-0500)] <colinclark> remember the whole linearization conversation?
[10:52:58 CDT(-0500)] <colinclark> On the other hand, we should assume that the FSS ships with a reasonably set of workable defaults for many typical use cases
[10:53:10 CDT(-0500)] <colinclark> The tabs really are a perfect example of that
[10:53:24 CDT(-0500)] <colinclark> So, let's say you have a really nice app
[10:53:25 CDT(-0500)] <colinclark> and it uses the FSS
[10:53:33 CDT(-0500)] <colinclark> and you've got a really awesomely conscientious designer
[10:53:36 CDT(-0500)] <colinclark> like jameswy or someone
[10:53:47 CDT(-0500)] <colinclark> and they really want to make a really beautiful, tailored high contrast experience
[10:53:59 CDT(-0500)] <colinclark> they're going to be creating a new flavour of high contrast
[10:54:06 CDT(-0500)] <colinclark> i.e. a new theme
[10:54:10 CDT(-0500)] <colinclark> I think
[10:54:15 CDT(-0500)] <colinclark> is this insane?
[10:54:34 CDT(-0500)] <colinclark> The problem with us is that we did what everyone will actually do in practice, because it's easy
[10:54:39 CDT(-0500)] <colinclark> which is to do a little tweaking here and there
[10:54:51 CDT(-0500)] <colinclark> which at least argues for the themes to do a reasonable job out of the box
[10:55:02 CDT(-0500)] <colinclark> Am even vaguely on the right track here?
[10:55:47 CDT(-0500)] <Justin_o> colinclark: the problem though is that we stick !importants all over the place in the generated css and they affect more than just FSS class names
[10:55:54 CDT(-0500)] <Justin_o> since they act directly on tags too
[10:56:05 CDT(-0500)] <Justin_o> which makes overriding them more problematic
[10:56:22 CDT(-0500)] <colinclark> right
[10:56:37 CDT(-0500)] <colinclark> which again speaks to the argument that we should do a reasonable job out of the box
[10:56:53 CDT(-0500)] <colinclark> and really comprehensive redesigns of a particular theme should be, itself, a new theme
[10:57:23 CDT(-0500)] <colinclark> All of this leads us back, in the long run, to the need for a theme builder app
[10:57:29 CDT(-0500)] <colinclark> but that's the long run (tongue)
[10:57:30 CDT(-0500)] <Justin_o> colinclark: yes probably
[10:58:06 CDT(-0500)] <Justin_o> i guess where things break down for me, is that you could argue now that the themes do a reasonably good job, but they still don't work fully for even us
[10:59:04 CDT(-0500)] <Bosmon> cindyli - that's certainly possible
[10:59:11 CDT(-0500)] <Bosmon> But I guess we need to look at a specific scenario
[10:59:45 CDT(-0500)] <Bosmon> And then write a test case for it (smile)
[11:00:32 CDT(-0500)] <cindyli> ok, what's the scenario
[11:01:39 CDT(-0500)] <Bosmon> Well, you tell me (smile)
[11:01:42 CDT(-0500)] <cindyli> Bosmon: like a scenario stated above - with the same option defined in component's defaults and from outside?
[11:01:44 CDT(-0500)] <Bosmon> What does the user pass, and what happens?
[11:02:19 CDT(-0500)] <cindyli> in terms of templateLoader, the user passes in his own template, which should override the system default one
[11:02:29 CDT(-0500)] <Bosmon> Ah, I think I see
[11:02:40 CDT(-0500)] <Bosmon> this is a special failure using this object literal system with munging, right?
[11:02:42 CDT(-0500)] <cindyli> the same thing for uiOptions
[11:02:48 CDT(-0500)] <cindyli> yes, Bosmon
[11:03:19 CDT(-0500)] <Bosmon> So... what do the user's passed options look like in this case?
[11:03:37 CDT(-0500)] <cindyli> one sec, pastie
[11:04:22 CDT(-0500)] <cindyli> Bosmon: http://pastie.org/2320416
[11:04:47 CDT(-0500)] <Bosmon> Ah, I see
[11:05:58 CDT(-0500)] <Bosmon> So, I suggest to deal with this case we reorganise uiOptions.mapOptions
[11:06:10 CDT(-0500)] <Bosmon> Rather than working with one options structure, it will work with two
[11:06:18 CDT(-0500)] <Bosmon> The mapped options will be applied to a separate tree and a separate applier
[11:06:28 CDT(-0500)] <Bosmon> So, the "ADD" will act on one applier, "DELETE" on the other one
[11:06:49 CDT(-0500)] <Bosmon> And it will return an array of two structures rather than just one
[11:07:12 CDT(-0500)] <Bosmon> Also it is probably cleaner to just put options = options || {} on the first line rather than the if statement that is there
[11:07:27 CDT(-0500)] <Bosmon> Then it is the caller's responsibility to make the correct call to fluid.merge
[11:07:45 CDT(-0500)] <Bosmon> He is drinking his *CATT WATTTER* once more
[11:08:40 CDT(-0500)] <Bosmon> So, all of our wrapping functions will become a bit more complex
[11:09:10 CDT(-0500)] <Bosmon> Well, perhaps it is cleaner to do the merging in mapOptions after all
[11:09:29 CDT(-0500)] <Bosmon> Which means we need to send in the mergePolicy from the defaults
[11:09:47 CDT(-0500)] <Bosmon> The new signature can be fluid.uiOptions.mapOptions(options, mapping, mergePolicy)
[11:19:41 CDT(-0500)] <Bosmon> Does that make sense, cindyli?
[11:20:04 CDT(-0500)] <cindyli> i'm tracing down the code to digest how to implement ur suggestion
[11:20:26 CDT(-0500)] <cindyli> also trying to figure out how to make use of "mergePolicy"
[11:20:43 CDT(-0500)] <Bosmon> You just need to ferry it out of the component's defaults into the first argument of fluid.merge()
[11:21:34 CDT(-0500)] <cindyli> ah. cool
[11:49:10 CDT(-0500)] <Bosmon> So cindyli, colinclark, hearing nothing to the contrary I will have a stab at getting URL rewriting working properly
[11:49:35 CDT(-0500)] <Bosmon> There is yet one more final piece of code I can rescue from RSF.js to do parsing of full URLs (tongue)
[11:50:07 CDT(-0500)] <cindyli> thanks, Bosmon. colinclark is out for lunch
[11:50:12 CDT(-0500)] <Bosmon> ok
[11:54:31 CDT(-0500)] <lahabana> Hey guys who knows how to use the inputexpander?
[11:55:08 CDT(-0500)] <lahabana> colinclark: you know it?
[11:59:03 CDT(-0500)] <lahabana> Justin_o: maybe?
[11:59:32 CDT(-0500)] <Justin_o> lahabana: you mean for the renderer?
[11:59:37 CDT(-0500)] <lahabana> yes
[11:59:49 CDT(-0500)] <lahabana> well I want to render a series of radio
[11:59:53 CDT(-0500)] <lahabana> I managed to
[12:00:18 CDT(-0500)] <lahabana> the only problem is that I don't find how to link the input to the label
[12:01:04 CDT(-0500)] <lahabana> and I don't understand what's the selectID is for
[12:04:48 CDT(-0500)] <lahabana> and finally I've got a more general question about the renderer
[12:05:15 CDT(-0500)] <lahabana> how can I make a tree that will deal with hierarchy...
[12:05:41 CDT(-0500)] <lahabana> I mean I've got for eg children in my template
[12:05:52 CDT(-0500)] <lahabana> can I just do the same in a the tree
[12:06:00 CDT(-0500)] <lahabana> or everything has to be on the root
[12:06:51 CDT(-0500)] <Justin_o> hmm.. i think i'd have to see what you are trying to do exactly
[12:07:00 CDT(-0500)] <Justin_o> do you have the markup and your code that you could show me
[12:07:16 CDT(-0500)] <lahabana> yes
[12:07:19 CDT(-0500)] <lahabana> wait a minute
[12:08:29 CDT(-0500)] <lahabana> https://github.com/lahabana/videoPlayer/blob/master/html/videoPlayer_template.html#L13-17
[12:08:33 CDT(-0500)] <lahabana> here is the tempalte
[12:09:06 CDT(-0500)] <lahabana> https://github.com/lahabana/videoPlayer/blob/master/js/VideoPlayer_controllers.js#L560-590
[12:09:11 CDT(-0500)] <lahabana> and my tree
[12:09:40 CDT(-0500)] <lahabana> I've realized the selectID is just an informal name
[12:10:16 CDT(-0500)] <lahabana> labelID , rowID and inputID are selectors
[12:11:43 CDT(-0500)] <lahabana> (my markup needs improvement (a list instead of divs would be better)
[12:13:11 CDT(-0500)] <Justin_o> lahabana: okay.. so did you still have an issue with associating the label to the input?
[12:13:18 CDT(-0500)] <lahabana> http://pastie.org/2320741
[12:13:29 CDT(-0500)] <lahabana> and here is the final thing rendered
[12:13:53 CDT(-0500)] <lahabana> (the for in the label tags is artificially added)
[12:13:59 CDT(-0500)] <lahabana> yes
[12:14:23 CDT(-0500)] <lahabana> there should be a for attribute in the label no?
[12:14:40 CDT(-0500)] <Justin_o> lahabana: yes
[12:14:47 CDT(-0500)] <Justin_o> try adding it to the template
[12:15:18 CDT(-0500)] <Justin_o> add an id on your input and then set the "for" attribute in the label to the "id" from the input
[12:15:38 CDT(-0500)] <Justin_o> the render should adjust these when it out puts to be correct
[12:16:17 CDT(-0500)] <lahabana> ok trying
[12:17:06 CDT(-0500)] <lahabana> it's working (smile)
[12:17:31 CDT(-0500)] <lahabana> should have thought about it thx Justin_o (smile)
[12:18:52 CDT(-0500)] <lahabana> also I'm wondering something else Justin_o
[12:19:08 CDT(-0500)] <lahabana> I'm going to change this to jquery ui buttons
[12:19:33 CDT(-0500)] <Justin_o> lahabana: jQuery ui buttons?
[12:19:42 CDT(-0500)] <lahabana> do you think I should better add a jquery (onready) decorator to the tree
[12:19:55 CDT(-0500)] <lahabana> or change them later
[12:20:19 CDT(-0500)] <Justin_o> lahabana: i think i don't quite follow what you are planning on doing?
[12:20:36 CDT(-0500)] <lahabana> yes http://jqueryui.com/demos/button/
[12:21:15 CDT(-0500)] <Justin_o> lahabana: ah okay
[12:21:17 CDT(-0500)] <lahabana> well in fact what I want to do is apply a function on every rendered element
[12:21:35 CDT(-0500)] <lahabana> so should I do it with a Jquery decorator
[12:21:42 CDT(-0500)] <lahabana> ?
[12:21:45 CDT(-0500)] <Justin_o> lahabana: are you going to make them buttons or the radio buttons http://jqueryui.com/demos/button/#radio
[12:22:06 CDT(-0500)] <lahabana> well radio
[12:22:30 CDT(-0500)] <lahabana> but it's the call to the same method
[12:23:03 CDT(-0500)] <lahabana> ho I could actually just call buttonset
[12:23:15 CDT(-0500)] <Justin_o> lahabana: i think it might be a bit different because the radio uses the buttonset and operates on a container of the buttons
[12:23:16 CDT(-0500)] <lahabana> and my issue would be sorted I think...
[12:25:01 CDT(-0500)] <Justin_o> lahabana: anyways.. this is sort of interesting, because what you seem to want to do, if you do this all with the render would be to render out the descendent markup and then call the jquery function on the parent
[12:25:21 CDT(-0500)] <Justin_o> i'm not actually sure if you can do this with the renderer or not.
[12:25:43 CDT(-0500)] <Justin_o> you might have to just initialize the jquery ui buttonset after the rendering has finished
[12:26:00 CDT(-0500)] <lahabana> yes that's what I thought
[12:26:02 CDT(-0500)] <Justin_o> but you could try to add the decorator to the container
[12:26:24 CDT(-0500)] <Justin_o> you'd have to add another level of containment in your markup for that though
[12:26:30 CDT(-0500)] <lahabana> yes I was thinking a Jquery decorator on an onReady event for eg
[12:28:04 CDT(-0500)] <Justin_o> lahabana: i could be wrong, because i haven't used the proto for the renderer very much, but i don't know that you can use onReady within the component tree itself
[12:28:37 CDT(-0500)] <lahabana> ho ok
[12:28:40 CDT(-0500)] <lahabana> why?
[12:28:54 CDT(-0500)] <lahabana> ready is an event just like any other in jquery no?
[12:29:14 CDT(-0500)] <Justin_o> hmm.. maybe i don't know what you mean by jquery decorator then
[12:29:28 CDT(-0500)] <lahabana> http://wiki.fluidproject.org/display/fluid/Renderer+Decorators
[12:30:02 CDT(-0500)] <Justin_o> okay that's what i thought you mean
[12:30:03 CDT(-0500)] <Justin_o> meant
[12:30:14 CDT(-0500)] <Justin_o> how were you thinking to use an onReady event?
[12:31:20 CDT(-0500)] <lahabana> decorators: [
[12:31:20 CDT(-0500)] <lahabana> {type: "jQuery",
[12:31:20 CDT(-0500)] <lahabana> func: "ready",
[12:31:21 CDT(-0500)]

<lahabana> args: function()

Unknown macro: { $(this).buttonset(); }

[12:31:21 CDT(-0500)] <lahabana> }]
[12:31:24 CDT(-0500)] <lahabana> for eg...
[12:31:47 CDT(-0500)] <Bosmon> Yes, but what DOM element fires a ready event?
[12:31:51 CDT(-0500)] <Bosmon> Ready is a document-level event
[12:32:00 CDT(-0500)] <Justin_o> i think so
[12:32:07 CDT(-0500)] <Justin_o> it fires when the document is ready
[12:32:19 CDT(-0500)] <Bosmon> And why would you be interested in that event... it has, by definition, fired some time ago
[12:32:25 CDT(-0500)] <Bosmon> Since your code is already running (tongue)
[12:32:29 CDT(-0500)] <Justin_o> although i think you might be able to scope it to other things
[12:32:35 CDT(-0500)] <Bosmon> A few other things have it
[12:32:38 CDT(-0500)] <Bosmon> images, for example
[12:32:44 CDT(-0500)] <lahabana> ok then I get it (smile)
[12:32:59 CDT(-0500)] <lahabana> thought it was fired an any DOM element (smile)
[12:33:01 CDT(-0500)] <Bosmon> lahabana - you simply want to use the jquery decorator with "buttonset" directly
[12:33:18 CDT(-0500)] <Bosmon> The renderer will make sure, again, by definition, not to call it until your markup actually exists (tongue)
[12:33:18 CDT(-0500)] <lahabana> yes actually
[12:33:55 CDT(-0500)] <lahabana> but I'm having another issue: "Syntax error, unrecognized expression: [for=element::input]"
[12:34:04 CDT(-0500)] <lahabana> have u ever seen that error
[12:34:13 CDT(-0500)] <lahabana> element::input is an id
[12:34:37 CDT(-0500)] <lahabana> the error is raised when I do a buttonset
[12:34:38 CDT(-0500)] <Bosmon> jQuery won't accept ids like that unless you escape them
[12:34:52 CDT(-0500)] <Bosmon> It may well actually be a bug in the widget itself
[12:35:06 CDT(-0500)] <Bosmon> If it is trying to send its own id into jQuery without escaping it properly (tongue)
[12:35:16 CDT(-0500)] <Bosmon> You should try to see what is on the stack when that error is generated
[12:35:33 CDT(-0500)] <Bosmon> But it looks like an error internal to the widget to me
[12:35:46 CDT(-0500)] <lahabana> well I just did: $(".flc-videoPlayer-controller-menu-container").buttonset() in firebug
[12:35:47 CDT(-0500)] <Bosmon> It is probably trying to find its own "for" target using a simpleminded and broken scheme (tongue)
[12:36:02 CDT(-0500)] <Bosmon> You will probably need to patch the buttonset code
[12:36:15 CDT(-0500)] <lahabana> hmm ok I get it
[12:36:31 CDT(-0500)] <lahabana> I'll see what is said on jquery ui
[12:36:45 CDT(-0500)] <Bosmon> As a courtesy, also dig up the original developer and warn them of the bug (tongue)
[12:37:16 CDT(-0500)] <lahabana> ok I'm gonna have a look
[13:02:53 CDT(-0500)] <heidi_> cindyli Justin_o howcome having an incorrect template url in my fluid demands block (when calling UIO) would cause an infinite loop? i think it's for fluid.renderIframe
[13:03:56 CDT(-0500)] <cindyli> heidi_: the demands block in on templateLoader?
[13:04:08 CDT(-0500)] <cindyli> is there any js error?
[13:04:24 CDT(-0500)] <heidi_> cindyli http://dev.inclusivedesign.ca/wordpress/
[13:04:41 CDT(-0500)] <heidi_> i have a wrong url somewhere... tryin to figure out where, but the infinite loop is intense
[13:04:46 CDT(-0500)] <heidi_> nested iframes
[13:05:00 CDT(-0500)] <Bosmon> funny
[13:05:19 CDT(-0500)] <Bosmon> You are probably pointing the iframe template at the top-level URL for the whole page
[13:05:57 CDT(-0500)] <heidi_> ah yeah i think page not founds do that
[13:05:59 CDT(-0500)] <heidi_> for wordpress
[13:07:01 CDT(-0500)] <Bosmon> Very awkward (smile)
[13:55:06 CDT(-0500)] <Bosmon> Hi cindyli
[13:55:12 CDT(-0500)] <Bosmon> So I have got my URL rewriting working now
[13:55:21 CDT(-0500)] <Bosmon> But I am seeing more problems with the way that options munging is working in FatPanel
[13:55:25 CDT(-0500)] <Bosmon> You are probably working on this right now...
[13:55:41 CDT(-0500)] <Bosmon> But the approach with the nested loops in bridge finalInit is wrong in several ways
[13:55:53 CDT(-0500)] <cindyli> oh no
[13:56:07 CDT(-0500)] <Bosmon> I was imagining that you would use essentially EXACTLY the same code in "OtherWorldLoader" that you do in the other integrations
[13:56:10 CDT(-0500)] <Bosmon> Including the wrapper function
[13:56:19 CDT(-0500)] <Bosmon> So right now you are getting almost no effect from deriving from the "inline" grade
[13:56:27 CDT(-0500)] <Bosmon> Since you are not actually using any of the mapping that is defined there
[13:56:50 CDT(-0500)] <Bosmon> A sort of mangled version of the mapping is defined again in the fatPanel transformer
[13:57:04 CDT(-0500)] <Bosmon> But it isn't operated correctly by the nested loops so most of the options are just thrown away
[13:57:12 CDT(-0500)] <Bosmon> I guess this is what you are finding in your tests anyway (tongue)
[13:58:10 CDT(-0500)] <Bosmon> So my idea was that OtherWorld would be "as identical as possible" to a the standard inline grade, including having a wrapper that looks just the same
[13:58:18 CDT(-0500)] <Bosmon> Does that make sense?
[13:58:40 CDT(-0500)] <cindyli> my opinion is no
[13:58:46 CDT(-0500)] <cindyli> i think, only the options that should be sent across the bridge are passed into FatPanelOtherWorldLoader
[13:59:09 CDT(-0500)] <Bosmon> Yes, that's correct
[13:59:10 CDT(-0500)] <cindyli> which means the options that are defined in "inline' grade
[13:59:30 CDT(-0500)] <cindyli> we agree on this
[13:59:45 CDT(-0500)] <Bosmon> But right now the transform record that is in "fatPanel" is very strange
[14:01:35 CDT(-0500)] <cindyli> so, which part you feel is strange?
[14:01:47 CDT(-0500)] <cindyli> fluid.uiOptions.fatPanel or fluid.uiOptions.bridge.finalInit or both?
[14:01:55 CDT(-0500)] <Bosmon> bridge.finalInit
[14:02:38 CDT(-0500)] <Bosmon> Well, I guess you have rewritten this anyway
[14:02:46 CDT(-0500)] <Bosmon> but as far as I see, the "from" entry is ignored
[14:03:06 CDT(-0500)] <Bosmon> It's not used in the loop, and the transform record is not used anywhere else
[14:03:06 CDT(-0500)] <cindyli> ah, that part has been re-written
[14:03:09 CDT(-0500)] <Bosmon> Ok cool
[14:03:21 CDT(-0500)] <Bosmon> So maybe I should just commit what I have, and you can try to merge it up with your stuff once your tests are running
[14:03:32 CDT(-0500)] <cindyli> sure
[14:06:38 CDT(-0500)] <Bosmon> Ok, I have pushed that up
[14:06:49 CDT(-0500)] <Bosmon> There is a new file "URLUtilities.js" which includes the computation code necessary
[14:07:05 CDT(-0500)] <Bosmon> And it produces a value called "relativePrefix" which exists in bridge.finalInit
[14:07:41 CDT(-0500)] <Bosmon> When you merge up with your branch, you need to make sure that this value (which is put in that.options.relativePrefix) is thrown over to the other world as bridge.options.prefix
[14:08:12 CDT(-0500)] <Bosmon> Sorry, I mean otherWorld.options.prefix
[14:10:23 CDT(-0500)] <cindyli> i see
[14:10:43 CDT(-0500)] <cindyli> thanks, Bosmon
[14:25:19 CDT(-0500)] <heidi_> Justin_o UIO working on idi site if you want to check it out. http://dev.inclusivedesign.ca/wordpress/
[14:25:27 CDT(-0500)] <heidi_> the theming works pretty good
[14:25:48 CDT(-0500)] <Justin_o> heidi_: really.. cool thanks.. i'll go check it out now
[14:26:16 CDT(-0500)] <heidi_> Justin_o interesting that the logo text (black) disappears when there's a black bg
[14:27:25 CDT(-0500)] <heidi_> Justin_o there's still some weird infinite loop that sometimes happens... if you click on the about page. my paths are off or something...
[14:28:01 CDT(-0500)] <Justin_o> heidi_: yes.. i hit something like that where it kept adding the uio fat panel
[14:28:12 CDT(-0500)] <heidi_> Justin_o is it a path thing or whats up
[14:28:21 CDT(-0500)] <Justin_o> heidi_: not sure.. i'll see if i can spot something
[14:28:32 CDT(-0500)] <Justin_o> for the text issue, i guess what you really need are theme specific graphics
[14:29:07 CDT(-0500)] <heidi_> Justin_o ah yes, you're right. looks like we also need to add a bg colour for inputs (the join the mailing list box0
[14:29:10 CDT(-0500)] <heidi_> for some themes
[14:29:49 CDT(-0500)] <heidi_> Justin_o so it can't find the frame template... why does it keep trying to load it over and over?
[14:30:37 CDT(-0500)] <Justin_o> i guess it's getting redirected back to a default page, which also has the fat panel.. and so it keeps doing that
[14:32:00 CDT(-0500)] <heidi_> ah right, duh, Bosmon just told me that
[14:32:45 CDT(-0500)] <heidi_> Justin_o i'll change it to be the full url path
[14:32:50 CDT(-0500)] <heidi_> for now
[14:33:30 CDT(-0500)] <heidi_> that fixes it
[14:33:41 CDT(-0500)] <heidi_> fyi colinclark UIO on idi page is fun to play with http://dev.inclusivedesign.ca/wordpress/
[14:34:49 CDT(-0500)] <heidi_> Justin_o i forget... the panel is open on load, then closes... and that's unavoidable?
[14:36:35 CDT(-0500)] <Justin_o> heidi_: at the moment yes, but we'll try to change that when cindyli's work is done
[14:36:42 CDT(-0500)] <heidi_> great
[14:36:52 CDT(-0500)] <Justin_o> heidi_: it's a bit of an eyesore at the moment eh?
[14:37:18 CDT(-0500)] <colinclark> heidi_: it's actually pretty awesome
[14:37:25 CDT(-0500)] <colinclark> you should push it up to github (wink)
[14:37:46 CDT(-0500)] <heidi_> colinclark as we speak (wink)
[14:37:51 CDT(-0500)] <colinclark> wicked!
[14:38:06 CDT(-0500)] <heidi_> Justin_o yeah the panel open is distracting/weird
[14:38:33 CDT(-0500)] <colinclark> Looks like we'll need fluid containers for a lot of it
[14:38:43 CDT(-0500)] <colinclark> Responsive Design to the rescue (smile)
[14:39:15 CDT(-0500)] <heidi_> colinclark for which bits?
[14:39:41 CDT(-0500)] <colinclark> The carousel, for example
[14:40:03 CDT(-0500)] <colinclark> has a fixed pixel width
[14:40:08 CDT(-0500)] <colinclark> so larger text flows outside of it
[14:40:15 CDT(-0500)] <colinclark> instead of the container growing
[14:40:57 CDT(-0500)] <heidi_> aha yes. it's cool how UIO makes this stuff come to light
[14:41:02 CDT(-0500)] <heidi_> like great for testing
[14:50:35 CDT(-0500)] <colinclark> for sure
[14:50:40 CDT(-0500)] <colinclark> it's looking really good, heidi
[14:50:43 CDT(-0500)] <colinclark> really impressed
[14:51:13 CDT(-0500)] <heidi_> thanks c, github updated
[14:53:15 CDT(-0500)] <heidi_> i just put webapp in the theme folder for now but predict that will change
[15:18:27 CDT(-0500)] <heidi_> cindyli Justin_o when i turn off table of contents, the hidden anchor links that get added within the content aren't removed
[15:21:38 CDT(-0500)] <cindyli> heidi_: seems the turning off just hides the div without removing it. that's probably the expected behavior. am i right, harriswong?
[15:22:45 CDT(-0500)] <harriswong> cindyli: i think so. it simply hides the visibility but it's not a remove function.
[15:27:49 CDT(-0500)] <heidi_> harriswong but turning it on is an add function, seems like unchecking it should do the opposite/remove ?
[15:30:52 CDT(-0500)] <harriswong> heidi_: are the left over anchors affecting anything upon hiding the ToC?
[15:31:57 CDT(-0500)] <azeckoski> anyone in here a pagers expert?
[15:32:04 CDT(-0500)] <azeckoski> Bosmon: like you?
[15:32:11 CDT(-0500)] <azeckoski> colinclark: or you?
[15:32:14 CDT(-0500)] <azeckoski> or other
[15:32:19 CDT(-0500)] <heidi_> harriswong unused, unnecessary mark up? confusing links to screen readers? not sure how that affects things
[15:32:33 CDT(-0500)] <heidi_> just seems a little messy to leave them behind, when they are meaningless
[15:32:49 CDT(-0500)] <azeckoski> We're getting a bit of a weird issue
[15:32:59 CDT(-0500)] <azeckoski> Happens when we call this method
[15:33:06 CDT(-0500)] <azeckoski> that.pager.events.onModelChange.fire(newModel, that.pager.model, that.pager);
[15:33:13 CDT(-0500)] <azeckoski> Uncaught TypeError: Cannot read property 'kalturaId' of undefined
[15:33:37 CDT(-0500)] <harriswong> heidi_: Then let's create a jira for it and have them removed.
[15:33:41 CDT(-0500)] <azeckoski> I think it is related to the decorator
[15:33:51 CDT(-0500)] <heidi_> harriswong sounds good - are you making one?
[15:34:16 CDT(-0500)] <azeckoski> but we checked all the data in the pager and it all has a valid kalturaId
[15:34:31 CDT(-0500)] <harriswong> no not yet, would you like me to, heidi_?
[15:34:32 CDT(-0500)] <azeckoski> and besides, the object being checked seems to be undefined which is confusing
[15:34:41 CDT(-0500)] <heidi_> harriswong yes please (smile) thanks!
[15:34:44 CDT(-0500)] <azeckoski> this is 1.3.1
[15:34:49 CDT(-0500)] <azeckoski> any ideas at all?
[15:35:05 CDT(-0500)] <azeckoski> I will try anything, even if it causes me bodily harm
[15:37:21 CDT(-0500)] <Bosmon> hi there
[15:37:29 CDT(-0500)] <Bosmon> SIKORSKI
[15:37:34 CDT(-0500)] <Bosmon> Do you have a demo online?
[15:38:31 CDT(-0500)] <azeckoski> I do
[15:38:42 CDT(-0500)] <azeckoski> http://kaltura.unicon.net:8080/portal/site/3674fc9f-8d5c-4ede-86f0-2f7432edb0db/page/d675d698-3f77-4173-b183-65619402f9a8
[15:38:52 CDT(-0500)] <Bosmon> So, what do I need to do to provoke the failure
[15:39:01 CDT(-0500)] <azeckoski> fluid / fluid
[15:39:17 CDT(-0500)] <azeckoski> click on the testing pager collection
[15:39:20 CDT(-0500)] <azeckoski> then manage media
[15:39:32 CDT(-0500)] <azeckoski> and then click on add over on the right side in the other pager
[15:39:45 CDT(-0500)] <azeckoski> and then you should see the error in the console
[15:40:56 CDT(-0500)] <azeckoski> in theory
[15:41:22 CDT(-0500)] <azeckoski> what should happen in theory is that the pager on the left should refresh
[15:41:41 CDT(-0500)] <azeckoski> all the code is in the KalturaMediaSelector.js file
[15:41:50 CDT(-0500)] <Bosmon> Ok, I will test it now
[15:42:23 CDT(-0500)] <Bosmon> Still get that lovely exception from httpCourier
[15:42:31 CDT(-0500)] <Bosmon> How fond memories we have of Sakai Javascript (tongue)
[15:42:35 CDT(-0500)] <azeckoski> (smile)
[15:42:37 CDT(-0500)] <azeckoski> indeed
[15:43:38 CDT(-0500)] <Bosmon> Where is this "add"
[15:44:00 CDT(-0500)] <Bosmon> Oh, manage media first
[15:44:01 CDT(-0500)] <Bosmon> ok
[15:44:21 CDT(-0500)] <Bosmon> Well, I still don't see add
[15:44:25 CDT(-0500)] <Bosmon> Do you mean "Upload new media"?
[15:45:49 CDT(-0500)] <azeckoski> put your mouse on the items in the list
[15:45:56 CDT(-0500)] <Bosmon> aha
[15:45:57 CDT(-0500)] <Bosmon> I see
[15:46:04 CDT(-0500)] <azeckoski> tricksy
[15:46:26 CDT(-0500)] <azeckoski> it's very much luck a UI made by hobbittsss
[15:46:33 CDT(-0500)] <azeckoski> or like one...
[15:49:29 CDT(-0500)] <azeckoski> ok, if this helps
[15:49:32 CDT(-0500)] <azeckoski> components: function(item, idx) {
[15:49:32 CDT(-0500)] <azeckoski> return {
[15:49:33 CDT(-0500)] <azeckoski> decorators: [
[15:49:33 CDT(-0500)] <azeckoski> { attrs: {
[15:49:33 CDT(-0500)] <azeckoski> kalturaid: item.kalturaId,
[15:49:45 CDT(-0500)] <Bosmon> So yes, your model is empty
[15:49:50 CDT(-0500)] <azeckoski> the item in this decorator is undefined it seems
[15:49:58 CDT(-0500)] <azeckoski> darn it
[15:50:05 CDT(-0500)] <azeckoski> why is my model empty!!!!!!!
[15:50:09 CDT(-0500)] <azeckoski> whyyyyyyyyyyyyyyyyyyyy
[15:50:16 CDT(-0500)] <azeckoski> khaaaaaaaaaaaaaan
[15:50:30 CDT(-0500)] <azeckoski> ok, checking the part that should have set it
[15:50:57 CDT(-0500)] <azeckoski> fluid.clear(that.pager.options.dataModel);
[15:51:01 CDT(-0500)] <azeckoski> so that clears it right?
[15:51:10 CDT(-0500)] <Bosmon> Well right
[15:51:12 CDT(-0500)] <Bosmon> You clear it
[15:51:12 CDT(-0500)] <azeckoski> and this sets it
[15:51:13 CDT(-0500)] <azeckoski> fluid.model.copyModel(that.pager.options.dataModel, data);
[15:51:15 CDT(-0500)] <Bosmon> Yes
[15:51:19 CDT(-0500)] <Bosmon> Unforuntately you set it to empty
[15:51:26 CDT(-0500)] <azeckoski> gah
[15:51:27 CDT(-0500)] <Bosmon> One would have though you could have determined that in 2 days (tongue)
[15:51:31 CDT(-0500)] <Bosmon> Data has nothing in it
[15:51:34 CDT(-0500)] <azeckoski> this is a NEW issue darn you
[15:51:40 CDT(-0500)] <Bosmon> You disappoint me, young Luke (tongue)
[15:51:49 CDT(-0500)] <azeckoski> well, I blame my dad
[15:51:56 CDT(-0500)] <Bosmon> You killed him, right?
[15:51:59 CDT(-0500)] <Bosmon> And threw him down a shaft?
[15:52:12 CDT(-0500)] <azeckoski> and I was raised by jawas and robots mostly
[15:52:24 CDT(-0500)] <Bosmon> CODING ROBITS!
[15:52:31 CDT(-0500)] <azeckoski> apparently not....
[15:52:40 CDT(-0500)] <Bosmon> Anyway, actually put something into the model, and I think your chances of getting this to work will improve
[15:52:45 CDT(-0500)] <azeckoski> heh
[15:52:58 CDT(-0500)] <azeckoski> ok, gimme a minute to see what has gone crazy here
[15:54:20 CDT(-0500)] <azeckoski> hmmm
[15:54:24 CDT(-0500)] <azeckoski> this is very weird
[15:54:30 CDT(-0500)] <azeckoski> data doesn't look empty
[15:54:40 CDT(-0500)] <azeckoski> data: Array[1]
[15:54:40 CDT(-0500)] <azeckoski> 0: Object
[15:54:40 CDT(-0500)] <azeckoski> 0_mtdnqb29: Object
[15:54:41 CDT(-0500)] <azeckoski> 0_o2ozttvf: Object
[15:54:41 CDT(-0500)] <azeckoski> 0_tjjge96z: Object
[15:54:41 CDT(-0500)] <azeckoski> length: 1
[15:54:42 CDT(-0500)] <azeckoski> mid-44: Object
[15:54:42 CDT(-0500)] <azeckoski> mid-46: Object
[15:54:42 CDT(-0500)] <azeckoski> mid-47: Object
[15:54:43 CDT(-0500)] <azeckoski> mid-48: Object
[15:54:54 CDT(-0500)] <azeckoski> granted it has only one non-keyed item
[15:54:58 CDT(-0500)] <azeckoski> that's wonky
[15:55:02 CDT(-0500)] <azeckoski> but there is one
[15:55:37 CDT(-0500)] <azeckoski> data is this thing
[15:55:39 CDT(-0500)] <azeckoski> fluid.model.copyModel(that.pager.options.dataModel, data);
[15:55:54 CDT(-0500)] <azeckoski> oh crikey
[15:56:26 CDT(-0500)] <azeckoski> I was looking at it before fluid.clear(that.pager.options.dataModel);
[15:56:30 CDT(-0500)] <Bosmon> aha
[15:56:37 CDT(-0500)] <Bosmon> You are clearing the thing you are trying to set it to (smile)
[15:56:38 CDT(-0500)] <Bosmon> Funny
[15:56:43 CDT(-0500)] <azeckoski> for some reason calling that actually clears it...
[15:56:46 CDT(-0500)] <azeckoski> hm
[15:56:54 CDT(-0500)] <azeckoski> gonna have to check with the Jen-ster
[15:57:06 CDT(-0500)] <azeckoski> something has gone off the rails it seems
[15:57:13 CDT(-0500)] <Bosmon> Well, just copy it
[15:57:14 CDT(-0500)] <Bosmon> Or...
[15:57:16 CDT(-0500)] <Bosmon> Don't clear it (tongue)
[15:57:29 CDT(-0500)] <Bosmon> I mean, the "clear" idea is based around the expectation that you are not sharing an object reference
[15:57:32 CDT(-0500)] <Bosmon> With the thing which is already in the model
[15:57:39 CDT(-0500)] <Bosmon> If they are already still the same object, there is no need to clear it
[15:57:45 CDT(-0500)] <azeckoski> yeah, I sorta would have thought this was the case
[15:57:49 CDT(-0500)] <azeckoski> I guess it is not though
[16:05:08 CDT(-0500)] <azeckoski> Bosmon: if I wanted to make sure I was passing a copy of the object into the pager, is there a way to basically duplicate an object?
[16:05:36 CDT(-0500)] <azeckoski> that's just a lame JS question I guess
[16:05:41 CDT(-0500)] <azeckoski> but hopefully easy
[16:06:33 CDT(-0500)] <azeckoski> SO seems to say I need to do it manually
[16:06:34 CDT(-0500)] <azeckoski> http://stackoverflow.com/questions/728360/copying-an-object-in-javascript
[16:06:40 CDT(-0500)] <azeckoski> does that sound right?
[16:06:49 CDT(-0500)] <Bosmon> I don't think you need to do anything at all
[16:06:53 CDT(-0500)] <Bosmon> Just trash the call to "clear"
[16:07:11 CDT(-0500)] <azeckoski> well, I sorta assume there was a reason why someone put it in there
[16:07:12 CDT(-0500)] <Bosmon> If you want to copy it, you can just use fluid.copy()
[16:07:18 CDT(-0500)] <azeckoski> oh nice
[16:07:25 CDT(-0500)] <azeckoski> OK, I'll play with both
[16:07:25 CDT(-0500)] <Bosmon> Well, the reason was that they were not expecting the object to be shared
[16:07:32 CDT(-0500)] <Bosmon> If it is shared, you can just do nothing
[16:22:24 CDT(-0500)] <azeckoski> Bosmon: what is fluid.model.copyModel supposed to do?
[16:22:49 CDT(-0500)] <azeckoski> does it copy param A to param B?
[16:22:54 CDT(-0500)] <Bosmon> This copies, whilst preserving the base object reference
[16:22:59 CDT(-0500)] <azeckoski> ok
[16:23:00 CDT(-0500)] <Bosmon> Which sounds like is not what you want in this case
[16:23:05 CDT(-0500)] <Bosmon> Since it is what is happening anyway (tongue)
[16:23:09 CDT(-0500)] <azeckoski> so I thought the clear was killing the data
[16:23:16 CDT(-0500)] <azeckoski> but that is actually what kills it
[16:23:25 CDT(-0500)] <Bosmon> interesting
[16:23:27 CDT(-0500)] <azeckoski> so I am guessing I should not run the copyModel
[16:23:35 CDT(-0500)] <Bosmon> Yes, copyModel clears the target reference
[16:23:40 CDT(-0500)] <Bosmon> And then copies the source into it
[16:23:45 CDT(-0500)] <azeckoski> because it overwrites my target with nothing
[16:23:46 CDT(-0500)] <azeckoski> (smile)
[16:24:06 CDT(-0500)] <azeckoski> which is really odd
[16:24:14 CDT(-0500)] <azeckoski> because that means the code says
[16:24:22 CDT(-0500)] <azeckoski> fluid.clear(that.pager.options.dataModel);
[16:24:25 CDT(-0500)] <azeckoski> reset the data
[16:24:31 CDT(-0500)] <azeckoski> fluid.model.copyModel(that.pager.options.dataModel, data);
[16:24:40 CDT(-0500)] <azeckoski> copy that data over top of my data
[16:24:57 CDT(-0500)] <azeckoski> but the data it is copying was just reset
[16:24:58 CDT(-0500)] <Bosmon> Yes, it looks like the sequence is not right
[16:25:13 CDT(-0500)] <azeckoski> I got it from here
[16:25:14 CDT(-0500)] <azeckoski> https://source.jasig.org/uPortal/trunk/uportal-war/src/main/webapp/media/skins/universality/common/javascript/uportal/up-util.js
[16:25:28 CDT(-0500)] <azeckoski> up.refreshPager
[16:26:03 CDT(-0500)] <Bosmon> Well, let that be a lesson to you (smile)
[16:26:09 CDT(-0500)] <azeckoski> yes indeed
[16:26:28 CDT(-0500)] <azeckoski> so don't clear and then copy
[16:29:17 CDT(-0500)] <azeckoski> so if I want to re-render a pager
[16:29:21 CDT(-0500)] <azeckoski> the real key method is
[16:29:30 CDT(-0500)] <azeckoski> that.pager.events.onModelChange.fire
[16:29:32 CDT(-0500)] <azeckoski> right?
[16:29:52 CDT(-0500)] <Bosmon> That's right, yes
[16:30:03 CDT(-0500)] <Bosmon> There should have been a dedicated packaged method for this
[16:30:07 CDT(-0500)] <Bosmon> But it was never yet implemented
[16:30:18 CDT(-0500)] <Bosmon> You can think of it as one of those ruined chambers in Portal 2 with some holes in the wall (tongue)
[16:30:27 CDT(-0500)] <azeckoski> nice
[16:30:28 CDT(-0500)] <azeckoski> (smile)
[16:30:44 CDT(-0500)] <Bosmon> Now all you need is a DISCOURAGEMENT REDIRECTION CUBE (tongue)
[16:33:06 CDT(-0500)] <azeckoski> I need a few of those
[16:33:55 CDT(-0500)] <Bosmon> (smile)
[16:41:21 CDT(-0500)] <azeckoski> Bosmon: I am guessing I want this to say:
[16:41:39 CDT(-0500)] <azeckoski> fluid.model.copyModel( myData, pagerData)
[16:41:43 CDT(-0500)] <azeckoski> right?
[16:41:54 CDT(-0500)] <azeckoski> in the case where I want to reset the pager data
[16:42:14 CDT(-0500)] <Bosmon> That's the wrong way round
[16:42:18 CDT(-0500)] <Bosmon> copyModel copies RHS to LHS
[16:42:22 CDT(-0500)] <azeckoski> ohhh
[16:42:23 CDT(-0500)] <azeckoski> ok
[16:42:26 CDT(-0500)] <azeckoski> weird
[16:42:29 CDT(-0500)] <Bosmon> And clears LHS first
[16:42:31 CDT(-0500)] <Bosmon> It's not that wierd
[16:42:35 CDT(-0500)] <Bosmon> It's like writing LHS = RHS (tongue)
[16:42:39 CDT(-0500)] <Bosmon> Which also copies RHS to LHS
[16:43:06 CDT(-0500)] <azeckoski> it makes my brains hurt
[16:43:08 CDT(-0500)] <azeckoski> but ok