uPortal IRC Logs-2008-02-19

[09:18:32 EST(-0500)] * athena7 (n=athena7@lumina.its.yale.edu) has joined ##uportal
[09:52:11 EST(-0500)] * jayshao (n=jayshao@campuseai.expedient.com) has joined ##uportal
[10:04:24 EST(-0500)] * awills (n=awills@tp-wireless.its.yale.edu) has joined ##uportal
[10:11:07 EST(-0500)] * anastasiac (n=chatzill@142.150.154.149) has joined ##uportal
[10:18:02 EST(-0500)] * colinclark (n=colin@142.150.154.101) has joined ##uportal
[10:24:09 EST(-0500)] * dstn (n=dstn@unaffiliated/dstn) has joined ##uportal
[10:35:09 EST(-0500)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[10:35:46 EST(-0500)] <dstn> hey athena7, you here?
[10:36:31 EST(-0500)] <EricDalquist> yay ... all the IBasicEntity caches for uP3 are now in ehcache
[10:37:25 EST(-0500)] <dstn> Nice! I've got to look at ehcache for the weather portlet.
[10:38:31 EST(-0500)] <athena7> hello!
[10:40:33 EST(-0500)] <dstn> I looked into JAXB this weekend and was studying your weather portlet and was wondering where you got the yahoo xsd's from? Did you generate those? I couldn't seem to find them on yahoo's developer page.
[10:41:09 EST(-0500)] <athena7> oh, i wrote them
[10:41:18 EST(-0500)] <athena7> they didn't seem to exist anywhere
[10:41:58 EST(-0500)] <athena7> i'm totally open to using xstream or anything else that makes sense
[10:42:02 EST(-0500)] <dstn> oh nice!
[10:42:16 EST(-0500)] <EricDalquist> mmm xstream
[10:42:58 EST(-0500)] <athena7> yeah eric seems to like it, and i trust eric (smile)
[10:43:07 EST(-0500)] <athena7> i've found dom4j to be kind of cumbersome
[10:43:19 EST(-0500)] <dstn> I looked at that xstream also. It looked really cool but its FAQ's said its more of serialization tool than binding tool.
[10:43:20 EST(-0500)] <athena7> and jaxb worked well for this, but it doesnt' work well for all things and it can get irritating
[10:43:50 EST(-0500)] <EricDalquist> I've only ever used it as a XML -> POJO binding tool
[10:43:53 EST(-0500)] <athena7> i can't seem to get my eclipse to recognize when i'm relying on generated source
[10:44:14 EST(-0500)] <EricDalquist> and it is very fast, using xpp3 instead of the standard XML parsing APIs
[10:44:16 EST(-0500)] <dstn> JAXB seemed a bit complex. I'm not familiar with how to write those xsd's either. I have to look more into it.
[10:44:39 EST(-0500)] <dstn> well shoot, I'll have to try it then ... lol
[10:44:53 EST(-0500)] <athena7> yeah, the overhead of figuring out jaxb wasn't trivial
[10:45:02 EST(-0500)] <athena7> i mean i'm glad i did it because i learned a bunch
[10:45:10 EST(-0500)] <athena7> but it sounds like xstream might be more approachable
[10:45:26 EST(-0500)] <EricDalquist> yeah that was the other selling point of xstream for me
[10:45:33 EST(-0500)] <EricDalquist> it was pretty easy to write the mapping
[11:23:31 EST(-0500)] * clown (n=clown@user383.megabit.utoronto.ca) has joined ##uportal
[12:40:14 EST(-0500)] * jayshao_ (n=jayshao@campuseai.expedient.com) has joined ##uportal
[12:56:29 EST(-0500)] <EricDalquist> hrm ... annoying, calling evictExpiredElements affects the cache statistics in EhCache
[13:45:36 EST(-0500)] * awills (n=awills@tp-wireless.its.yale.edu) has joined ##uportal
[13:47:24 EST(-0500)] <awills> are you there EricDalquist?
[13:47:54 EST(-0500)] <EricDalquist> yeah
[13:48:18 EST(-0500)] <awills> I'm working on portlet entity preferences... take a look at this: http://pastebin.com/m74c76898
[13:48:46 EST(-0500)] <EricDalquist> ok
[13:48:59 EST(-0500)] <awills> it's the format for *.preferences documents I've come up with
[13:49:40 EST(-0500)] <awills> i hope: (1) it looks intuitive, and (2) it will map well to the uP3 object model
[13:50:20 EST(-0500)] <EricDalquist> looks pretty good at first glance
[13:50:32 EST(-0500)] <EricDalquist> what are the thoughts on just including that in the <layout> document?
[13:50:43 EST(-0500)] <EricDalquist> since they are tied to a particular user's layout
[13:51:29 EST(-0500)] <awills> i would, but then I'd need some mechanism to ensure that fragment owners' layouts imported before other folks
[13:52:12 EST(-0500)] <awills> in a separate document, i can simply do *.preferences after all the *.layout docs are done, and my dependencies will be there
[13:52:24 EST(-0500)] <EricDalquist> ah
[13:52:36 EST(-0500)] <awills> ent-lo:/layout/root/tab/column[2]/channel[1] doesn't make any sense w/o the ent-lo layout
[13:52:44 EST(-0500)] <EricDalquist> any thoughts of just adding a .frag_layout file extension?
[13:52:49 EST(-0500)] <EricDalquist> true
[13:53:22 EST(-0500)] <EricDalquist> oh and I meant to ask you about: http://www.ja-sig.org/issues/browse/UP-1937
[13:53:28 EST(-0500)] <awills> could do that too... maybe we should sleep on it and solicit feedback
[13:53:40 EST(-0500)] <EricDalquist> that would be good
[13:55:21 EST(-0500)] <awills> i can probably get to UP-1937 this week too... shouldn't be too hard
[13:56:13 EST(-0500)] <EricDalquist> cool
[13:56:21 EST(-0500)] <EricDalquist> yeah, perhaps a short note to uportal-dev about the .preferences files
[13:56:27 EST(-0500)] <EricDalquist> I'm not sure on it at all
[13:56:44 EST(-0500)] <EricDalquist> I see it both ways, but I'm leaning a bit toward including it in the .layout files
[13:57:04 EST(-0500)] <EricDalquist> since that makes more sense as these prefs are for that specific layout ...
[13:57:25 EST(-0500)] <EricDalquist> how are you doing the extraction right now? Loading up a layout manager instance?
[14:00:48 EST(-0500)] <awills> i wish, the API is a challenge
[14:01:08 EST(-0500)] <awills> need a fully populated instance of IPerson and of UserPreferences
[14:01:45 EST(-0500)] <awills> including, moreover, the attributes in IPerson that come from IPersonAttributesDao...
[14:02:05 EST(-0500)] <awills> which would mean hits to LDAP, RDBMS(s), etc
[14:02:36 EST(-0500)] <awills> so 'no', i hit the DB for this data
[14:02:50 EST(-0500)] <EricDalquist> uhg
[14:02:52 EST(-0500)] <awills> but of course I intend/hope to do it less w/ uP3 (smile)
[14:02:52 EST(-0500)] <EricDalquist> good point
[14:03:07 EST(-0500)] <EricDalquist> heh, not much wrt layouts/layout management has changed
[14:03:37 EST(-0500)] <awills> i understand, but there's an API for reading/writing portlet preferences
[14:04:00 EST(-0500)] <awills> so that part can be simple and straightforward
[14:04:24 EST(-0500)] <EricDalquist> ah
[14:04:25 EST(-0500)] <EricDalquist> yeah
[14:04:39 EST(-0500)] <EricDalquist> it will require the the channels are all there first
[14:04:50 EST(-0500)] <awills> yeah i'm sure
[14:04:54 EST(-0500)] <EricDalquist> but there is a preferences api
[14:08:59 EST(-0500)] <athena7> hi eric
[14:09:36 EST(-0500)] <athena7> i read up on jquery last night, and i could have a uportal migration finished by the end of the week
[14:10:36 EST(-0500)] <athena7> if you don't have any objections, i'd like to propose on-list that we convert to using jquery
[14:10:54 EST(-0500)] <EricDalquist> ok, well you know my only concern is time
[14:10:55 EST(-0500)] <athena7> the performance seems to be a lot better, and it'll position us to do the fluid integration
[14:10:57 EST(-0500)] <athena7> yep
[14:11:02 EST(-0500)] <EricDalquist> so if the work that Gary is doing will take a week
[14:11:05 EST(-0500)] <athena7> right
[14:11:09 EST(-0500)] <EricDalquist> and your work isn't going to interefere at all
[14:11:13 EST(-0500)] <EricDalquist> then I'm good with it
[14:11:46 EST(-0500)] <athena7> i did a bunch of work last night, and the jquery implementation is about as finished as the dojo implementation
[14:11:52 EST(-0500)] <athena7> so i'm figuring we might as well
[14:12:05 EST(-0500)] <athena7> i'll put it on the list though, in case anyone has any concerns
[14:12:39 EST(-0500)] * jayshao (n=jayshao@campuseai.expedient.com) has joined ##uportal
[14:12:39 EST(-0500)] <EricDalquist> sounds good
[14:12:52 EST(-0500)] <athena7> ok
[14:12:54 EST(-0500)] <athena7> cool
[14:25:06 EST(-0500)] <awills> EricDalquist I'm typing up this email to the dev list, but something just occured to me...
[14:25:57 EST(-0500)] <awills> if I rely on the .fragment-owner extension (instead of .preferences), I'd put myself in the position of needing to know who is a fragment owner on export
[14:27:57 EST(-0500)] <awills> I could do it, but: (1) it would take longer to implement, and (2) it would put more knowledge of the inner workings of uP+DLM into the scripts
[14:29:03 EST(-0500)] <awills> there's plenty in there already, i know, but I'm loathe to introduce more potential points of failure where the codebase might evolve
[14:36:43 EST(-0500)] <EricDalquist> sorry ... someone in the office ...
[14:36:45 EST(-0500)] <EricDalquist> reading ....
[14:37:29 EST(-0500)] <EricDalquist> those are all good points to include in your email
[14:40:39 EST(-0500)] <dstn> EricDalquist, question about xstream
[14:40:49 EST(-0500)] <EricDalquist> ok
[14:42:08 EST(-0500)] * jayshao (n=jayshao@campuseai.expedient.com) has joined ##uportal
[14:42:26 EST(-0500)] <dstn> Humidity in the xml has a % in it but the humidity in my Current class is an integer so it fails when trying to set it. I'm looking at converters right now but I'm not sure if there is any easier way. Have you used converters before?
[14:43:20 EST(-0500)] <EricDalquist> I remember playing with them a while ago but not enough to remember the API
[14:43:31 EST(-0500)] <EricDalquist> that sounds like what you would have to deal with though
[14:43:44 EST(-0500)] <EricDalquist> something to use a SimpleNumberFormat or some such to parse out the number
[14:45:18 EST(-0500)] <EricDalquist> looks like it should be pretty easy from their docs, just a few lines
[14:45:46 EST(-0500)] <EricDalquist> hey athena7 you may want to jump into #fluid-word
[14:45:51 EST(-0500)] <EricDalquist> #fluid-work that is
[14:50:17 EST(-0500)] <colinclark> athena7: I just saw your post about jQuery on the dev list!
[14:54:30 EST(-0500)] <athena7> yes!
[14:55:14 EST(-0500)] <colinclark> I wasn't expecting it, but if you're happy with jQuery, it makes sense.
[14:55:29 EST(-0500)] <colinclark> We love it. But we've also build our code to play nice with other toolkits, so it's by no means necessary.
[14:55:36 EST(-0500)] <colinclark> You're finding jQuery faster?
[14:55:44 EST(-0500)] <colinclark> Are you using jQuery-UI widgets at all?
[14:55:51 EST(-0500)] <athena7> yes
[14:55:53 EST(-0500)] <athena7> and yes
[14:56:00 EST(-0500)] <athena7> i'm not done yet, but i've done a lot of it
[14:56:13 EST(-0500)] <athena7> the drag and drop seems a little weird
[14:56:37 EST(-0500)] <athena7> when i drag everything out of a column I can't put things back in
[14:59:09 EST(-0500)] <colinclark> (smile)
[14:59:14 EST(-0500)] <anastasiac> LOL
[14:59:15 EST(-0500)] <colinclark> We're having the same problem at the moment.
[14:59:44 EST(-0500)] <athena7> yeah i thought i saw an email to that effect
[14:59:48 EST(-0500)] <colinclark> Let us know how it goes. Or anastasiac might have some insights?
[14:59:49 EST(-0500)] <athena7> well let me know if you fix it (smile)
[14:59:59 EST(-0500)] <colinclark> We will.
[15:00:02 EST(-0500)] <athena7> but yeah jquery really does seem to be all that and a 6-pack of guinness
[15:00:05 EST(-0500)] <athena7> and i don't say such things lightly
[15:01:32 EST(-0500)] <anastasiac> athena7, I'd be interested to know more about the trouble you're having dropping into empty columns - maybe we can help each other
[15:01:41 EST(-0500)] <athena7> that'd be great
[15:01:56 EST(-0500)] <athena7> basically right now it seems that when i drag all the channels out of a column, i can't put them back in
[15:01:58 EST(-0500)] <anastasiac> what is it you've been configuring to be drop targets
[15:02:06 EST(-0500)] <anastasiac> the columns themselves?
[15:02:17 EST(-0500)] <athena7> there's a wrapper div inside the table column
[15:02:24 EST(-0500)] <athena7> since this is on the up3 theme
[15:02:50 EST(-0500)] <anastasiac> a single div that wraps all the portlets?
[15:03:09 EST(-0500)] <athena7> yes, all the portlets in that column
[15:03:45 EST(-0500)] <anastasiac> did you check if the empty div is collapsing to essentially zero space (so that you can't dwell over it in order to drop)?
[15:04:13 EST(-0500)] <athena7> i set a min-height for it
[15:04:25 EST(-0500)] <athena7> because that had been an issue with dojo too
[15:04:38 EST(-0500)] <athena7> it's not all that high though - maybe setting something larger would help
[15:05:04 EST(-0500)] <anastasiac> well, if you can position the cursor over the space, that should be enough for it to work...
[15:05:25 EST(-0500)] <athena7> yeah that's what i'd figured
[15:06:07 EST(-0500)] <anastasiac> slightly unrelated question: when you drop into a non-empty column, does it default to dropping at the top or bottom of the column, or are you able to place it?
[15:06:28 EST(-0500)] <athena7> it just goes wherever your mouse is
[15:06:34 EST(-0500)] <athena7> which i think is very much the behavior we want
[15:06:38 EST(-0500)] <anastasiac> interesting
[15:06:45 EST(-0500)] <athena7> it seems kind of unintuitive to have to drag something twice
[15:07:00 EST(-0500)] <athena7> as a user i really just want to be able to move things around and have them magically stay where i put them
[15:07:11 EST(-0500)] <athena7> less thinking
[15:07:59 EST(-0500)] <anastasiac> yes, that's better
[15:08:31 EST(-0500)] <anastasiac> is your code committed in a branch anywhere?
[15:09:08 EST(-0500)] <athena7> not yet
[15:09:25 EST(-0500)] <athena7> i'd like to try and get at least somethign committed by end of day
[15:09:37 EST(-0500)] <athena7> where end of work day < end of day < tomorrow morning
[15:09:49 EST(-0500)] <anastasiac> the problem you're having is similar to ours only in superficial description, so I'm short on ideas
[15:10:06 EST(-0500)] <athena7> ahh
[15:10:11 EST(-0500)] <anastasiac> The Reorderer currently configures the portlets themselves as the drop targets (hence the inability to drop on an empty column)
[15:10:23 EST(-0500)] <anastasiac> but I'm very interested to see how you're working it with columns as drop targets
[15:10:40 EST(-0500)] <athena7> i saw parker's email about having already done something similar in their portal - if we could share code that'd helpful too
[15:10:51 EST(-0500)] <anastasiac> you might have some ideas that we could, um, be inspired by (smile)
[15:10:57 EST(-0500)] <athena7> i just used the sortable thing
[15:11:13 EST(-0500)] <anastasiac> sortable! ah, ok, interesting
[15:11:24 EST(-0500)] <athena7> it lets you connect with other sortables
[15:11:30 EST(-0500)] <athena7> so i just connected the columns together
[15:11:41 EST(-0500)] <athena7> which works fine as long as there are channels in each column
[15:11:52 EST(-0500)] <anastasiac> we're working directly with draggables and droppables
[15:12:11 EST(-0500)] <athena7> the default theme in jquery is kind of hideous
[15:12:21 EST(-0500)] <athena7> yeah, that probable makes sense
[15:13:08 EST(-0500)] <dstn> if you drag it out of a column with no other portlets you can't drag it back?
[15:13:53 EST(-0500)] <athena7> yeah if you drag the last portlet out of a column, you can't put any more back in
[15:14:02 EST(-0500)] <dstn> hmm, interesting
[15:14:11 EST(-0500)] <athena7> i only started putting this together last night though, so i haven't really looked into it yet
[15:14:15 EST(-0500)] <athena7> i could have done something silly
[15:14:28 EST(-0500)] <dstn> we use sortable as well (the one Parker is talking about) and that works fine.
[15:14:57 EST(-0500)] <athena7> yeah i saw parker's email! it looks very nice
[15:15:02 EST(-0500)] <athena7> would you guys be willing to share some code?
[15:15:04 EST(-0500)] <dstn> but this is on 2.6...so it might be different
[15:15:09 EST(-0500)] <athena7> it's pretty simiarl
[15:15:11 EST(-0500)] <athena7> er, similar
[15:16:35 EST(-0500)] <dstn> Ya, we have no problem sharing code. Its been a while since I looked at it so let me take a look and Parker or I can post the code to the list.
[15:16:49 EST(-0500)] <athena7> that'd be fantastic, thanks!
[15:16:57 EST(-0500)] <dstn> np
[15:17:12 EST(-0500)] <athena7> that's one of the pieces that i haven't finished, so it'd be great not to have to write it all from scratch
[15:57:04 EST(-0500)] <dstn> athena7, the code is on the list...
[15:57:11 EST(-0500)] <athena7> great! thanks
[15:57:21 EST(-0500)] <dstn> np, hopefully its useful
[15:58:19 EST(-0500)] <athena7> i'm sure it will be
[15:58:22 EST(-0500)] <athena7> i really appreciate your help
[16:10:49 EST(-0500)] <athena7> is there any relationship between interface.js and the jquery ui extensions?
[16:10:55 EST(-0500)] <athena7> or do they just happen to have a lot of overlap
[16:11:27 EST(-0500)] <colinclark> athena7: interface was a previous UI library built as a plugin for jQuery.
[16:11:42 EST(-0500)] <athena7> is it still being maintained?
[16:11:46 EST(-0500)] <colinclark> Though it has a number of similarities with jQuery-UI. I don't know if it was based on interfacae.
[16:11:51 EST(-0500)] <colinclark> No, it's not.
[16:11:57 EST(-0500)] <athena7> yeah, i wondered if they had a common heritage
[16:11:59 EST(-0500)] <athena7> good to know
[16:32:34 EST(-0500)] <colinclark> athena7: I just looked at the Interface page, and the author of it is now the lead on jQuery-UI.
[16:32:57 EST(-0500)] <colinclark> So in several cases they share code--drag and drop in particular AFAIK.
[16:33:01 EST(-0500)] <athena7> yeah i was just testing some things out and it looks like a lot of the options and such got ported over to jquery ui
[16:33:15 EST(-0500)] <athena7> which is great, because the documentation on all the recent features and options seems to be limited
[16:33:33 EST(-0500)] <colinclark> Paul Bakaus is the lead on jQuery-UI. We'll be working with him to help mentor the jQuery community on accessibility.
[16:33:52 EST(-0500)] <athena7> oh cool
[16:34:05 EST(-0500)] <athena7> i'm not entirely sure if interface.js works with the current version of jquery
[16:35:39 EST(-0500)] <colinclark> Hmm. I'm not sure.
[16:42:06 EST(-0500)] <athena7> looks like it may just be a jquery bug - i'm seeing some messages about people sticking hidden sortable elements into all the containers to prevent them from every really being empty
[16:42:26 EST(-0500)] <athena7> http://groups.google.com/group/jquery-ui/browse_thread/thread/41dd5f9124f4aeec/4484fa09b9a49247
[16:46:41 EST(-0500)] <colinclark> The Kuali Student team is really interested in how to handle portal lifecycle events on the client instead of causing a round-trip to the server.
[16:46:46 EST(-0500)] <colinclark> They're experimenting with GWT.
[16:47:11 EST(-0500)] <athena7> that's one library i've yet to play with much
[16:59:46 EST(-0500)] <colinclark> athena7: It's not my preference, but it's pretty neat for some things.
[17:00:02 EST(-0500)] <colinclark> So is it possible to handle some of the portal lifecycle events only on the client? I imagine not.
[17:00:22 EST(-0500)] <athena7> currently? no, don't think so
[17:02:17 EST(-0500)] <colinclark> They were apparently playing around with Liferay because that sort of thing is easier. I told them "the uPortal community would be delighted to have you guys lend a hand with this feature." (tongue)
[17:20:13 EST(-0500)] <athena7> lol
[17:20:41 EST(-0500)] <athena7> i had really wanted to figure out ajax rendering when i was initially doing the preferences stuff
[17:20:45 EST(-0500)] <athena7> it would be really neat
[17:26:46 EST(-0500)] <colinclark> athena7: Yep, it would great. Something to think about for a future release. I can only imagine some of the newer Fluid components may require it.
[17:26:57 EST(-0500)] <colinclark> Have you written portlets that do AJAX requests?
[17:27:01 EST(-0500)] <athena7> yes
[17:27:18 EST(-0500)] <colinclark> Do you usually just use a side servlet that handles the request and shares data with the portlet via the session?
[17:27:32 EST(-0500)] <athena7> yep
[17:27:34 EST(-0500)] <colinclark> (the standard JSR-168 AJAX workaround)
[17:27:38 EST(-0500)] <athena7> yeah
[17:28:35 EST(-0500)] <colinclark> Would you be interested in helping me with some examples of that for the JavaScript workshop at the JA-SIG conference?
[17:28:37 EST(-0500)] <colinclark> (smile)
[17:29:51 EST(-0500)] <athena7> sure, that sounds great
[17:30:58 EST(-0500)] <athena7> well, time for me to go home
[17:31:00 EST(-0500)] <athena7> have a good night
[17:31:05 EST(-0500)] <colinclark> You too.
[17:31:23 EST(-0500)] * anastasiac (n=chatzill@142.150.154.149) has left ##uportal
[17:32:20 EST(-0500)] <dstn> see ya
[17:46:58 EST(-0500)] * clown (n=clown@user383.megabit.utoronto.ca) has left ##uportal
[18:12:51 EST(-0500)] * dstn (n=dstn@unaffiliated/dstn) has left ##uportal
[18:17:31 EST(-0500)] * athena7 (n=athena7@c-24-2-189-230.hsd1.mn.comcast.net) has joined ##uportal
[18:55:46 EST(-0500)] * colinclark (n=colin@bas1-toronto09-1279534257.dsl.bell.ca) has joined ##uportal
[19:04:53 EST(-0500)] * colinclark (n=colin@bas1-toronto09-1279534257.dsl.bell.ca) has joined ##uportal
[21:56:30 EST(-0500)] * colinclark (n=colin@bas1-toronto09-1279534257.dsl.bell.ca) has joined ##uportal
[22:52:18 EST(-0500)] * jayshao (n=jayshao@66.94.87.210) has joined ##uportal