uPortal IRC Logs-2012-01-24

[09:14:22 CST(-0600)] <Arvids> XSLT can be a real pain

[09:14:33 CST(-0600)] <EricDalquist> heh

[09:14:39 CST(-0600)] <EricDalquist> what pain are you dealing with?

[09:14:51 CST(-0600)] * Arvids wishes Xalan would support for-each-group

[09:15:01 CST(-0600)] <EricDalquist> ?

[09:15:15 CST(-0600)] <Arvids> trying to make those tabs in sitemap to be 4 in a row

[09:15:54 CST(-0600)] <Arvids> ... currently they're grouped by layout owner... which makes some of them being 1 in a row - users won't undestand it

[09:16:29 CST(-0600)] <EricDalquist> so you want a table that is 4 wide and N tall

[09:16:38 CST(-0600)] <EricDalquist> where N is big enough to fit all the tabs?

[09:16:52 CST(-0600)] <Arvids> yes

[09:17:14 CST(-0600)] <EricDalquist> I think I have some XSL that turns a list in to a N wide table

[09:17:16 CST(-0600)] <EricDalquist> let me find it

[09:17:35 CST(-0600)] <Arvids> that would be nice

[09:18:45 CST(-0600)] <EricDalquist> https://gist.github.com/1670654

[09:18:48 CST(-0600)] <Arvids> btw, i found the solution why property placeholder configurer seems not to be inherited: http://forum.springsource.org/showthread.php?11347-Using-PropertyPlaceholderConfigurer-in-servlet-xml

[09:18:50 CST(-0600)] <EricDalquist> starts about line 118

[09:19:41 CST(-0600)] <EricDalquist> ah interesting

[09:19:51 CST(-0600)] <EricDalquist> I wonder if you could use inheritence to save the full redeclare

[09:20:02 CST(-0600)] <Arvids> awesome! I'll try this grouping stuff tomorrow - have to run now

[09:20:17 CST(-0600)] <EricDalquist> like in the child context add <bean id="childPropertyConfigurer" parent="propertyConfigurer"/>

[09:20:29 CST(-0600)] <EricDalquist> where propertyConfigurer is the prop placeholder bean in the root context

[09:21:01 CST(-0600)] <Arvids> Hm.... I know that i've tried alias without any succes... don't remember the results of parent, though

[09:44:43 CST(-0600)] <EricDalquist> athena: we were going to rename the Interval enum to AggregationInterval right?

[09:46:27 CST(-0600)] <athena> yeah

[10:06:45 CST(-0600)] <drewwills> morning folks... I've encountered a class of broken layouts "in the wild" (uP 3.2.x) that contain one <channel> element inside another... who else thinks it might be best to skip layouts of affected users? There are visual side effects of this condition, and it seems resetting layouts like this might just be the best thing.

[10:07:20 CST(-0600)] <EricDalquist> seems reasonable

[10:08:30 CST(-0600)] <drewwills> i could add an option to export.properties to skip them or not... but if I do, I also have to "fix" the export of these documents (currently it errors out)

[12:05:16 CST(-0600)] <athena> hey EricDalquist - if someone modifies code based on comments on a pull request

[12:05:27 CST(-0600)] <athena> what do we do then? issue another pull request? is there a way to edit a pull request?

[12:19:07 CST(-0600)] <EricDalquist> hrm

[12:19:35 CST(-0600)] <athena> managed to shuffle chris off to jeff, hopefully they'll work it out

[12:19:38 CST(-0600)] <EricDalquist> well I think Arvids and I found out that when you merge a pull request it pulls in the whole branch

[12:19:38 CST(-0600)] <athena> i had no answer for that one though

[12:19:54 CST(-0600)] <EricDalquist> so if they commit on the same branch they issued the pull request from they should be set

[12:19:54 CST(-0600)] <athena> so it just does the whole history over time?

[12:19:58 CST(-0600)] <EricDalquist> I think so

[12:20:09 CST(-0600)] <EricDalquist> which is another reason people should be using feature branches to make pull requests from

[12:20:19 CST(-0600)] <athena> interesting - so maybe there doesn't even need to be a new pull request?

[12:20:24 CST(-0600)] <EricDalquist> right

[12:20:33 CST(-0600)] <EricDalquist> arvids had made a branch, committed a change, did a pull req, then made another commit

[12:20:40 CST(-0600)] <EricDalquist> when I merged the pull both commits came in

[12:20:43 CST(-0600)] <athena> oh cool

[12:20:45 CST(-0600)] <athena> alright

[12:20:48 CST(-0600)] <athena> i'll just try it and see (smile)

[12:28:31 CST(-0600)] <athena> oh sad, no auto-merge

[12:28:37 CST(-0600)] <EricDalquist> conflicts?

[12:28:50 CST(-0600)] <athena> guess probably so? just says it can't be automatically merged

[12:28:55 CST(-0600)] <EricDalquist> yeah

[12:28:58 CST(-0600)] <athena> i wanted to click a button!

[12:29:00 CST(-0600)] * athena sulks

[12:29:01 CST(-0600)] <EricDalquist> must be conflicts

[12:29:09 CST(-0600)] <athena> yeah

[12:29:17 CST(-0600)] <athena> i'll sort it out (smile)

[12:29:41 CST(-0600)] <EricDalquist> what the person requesting the merge should do is either rebase or merge the source into their branch

[12:30:01 CST(-0600)] <athena> ooh

[12:30:01 CST(-0600)] <EricDalquist> or if your feeling nice you can do a manual merge and solve the conflicts yourself (smile)

[12:30:09 CST(-0600)] <athena> yeah, i may do that (smile)

[12:30:13 CST(-0600)] <athena> but makes sense that that's an option

[12:30:16 CST(-0600)] <EricDalquist> depends on if you want them to do the work or if you want to

[12:30:25 CST(-0600)] <athena> yeah i'll probably just do it

[12:30:55 CST(-0600)] <EricDalquist> just found out that hibernate 4.1 will be out in 2 weeks

[12:31:10 CST(-0600)] <EricDalquist> and it will give uPortal some HUGE performance improvements!

[12:31:28 CST(-0600)] <athena> ooooOOOO

[12:31:33 CST(-0600)] <athena> YAY

[12:31:41 CST(-0600)] <EricDalquist> it adds first class support for the concept of naturalIds

[12:31:55 CST(-0600)] <EricDalquist> so like there will be a dedicated cache of fname->portletDefinition.id

[12:32:11 CST(-0600)] <EricDalquist> which won't be invalidated due to updates

[12:32:14 CST(-0600)] <athena> oh neat

[12:32:24 CST(-0600)] <athena> that sounds really useful

[12:32:28 CST(-0600)] <EricDalquist> and once the caches are warm hibernate can go from naturalId -> pk -> entity

[12:32:30 CST(-0600)] <EricDalquist> all in memory

[12:32:31 CST(-0600)] <EricDalquist> yeah

[12:32:44 CST(-0600)] <EricDalquist> since almost all our objects have a NaturalId

[12:34:22 CST(-0600)] <athena> yeah

[12:34:24 CST(-0600)] <athena> that's fantastic

[12:35:05 CST(-0600)] <EricDalquist> it should reduce our actual executed query counts by an order of magnitude or more

[12:35:28 CST(-0600)] <EricDalquist> granted I had to say I'd write the patch for the ehcache SPI implementation to support it (tongue)

[12:35:29 CST(-0600)] <athena> nice.

[12:35:38 CST(-0600)] <athena> lol

[12:37:31 CST(-0600)] <EricDalquist> also after ehcache fixes a bug we should be able to enable heap size % based ehcache config

[12:37:42 CST(-0600)] <EricDalquist> so in 4.0.4 we should have naturalid enhancements

[12:37:52 CST(-0600)] <EricDalquist> and an ehcache config that autosizes caches based on available heap

[12:37:58 CST(-0600)] <EricDalquist> yay magic!

[12:38:03 CST(-0600)] <EricDalquist> or at least that is what it all feels like (tongue)

[12:39:57 CST(-0600)] <EricDalquist> ok athena Interval rename is in master

[12:40:56 CST(-0600)] <athena> yay!

[12:42:37 CST(-0600)] <athena> ugh, google api not in maven repo

[12:42:39 CST(-0600)] <athena> fail.

[12:42:46 CST(-0600)] <EricDalquist> oh the vis one?

[12:42:51 CST(-0600)] <EricDalquist> it is, just an old version of it

[12:44:04 CST(-0600)] <athena> yeah

[12:44:17 CST(-0600)] <athena> looks like there are some noticeable API differences

[12:44:24 CST(-0600)] <athena> probably safest to go w/ the current one

[12:44:28 CST(-0600)] <EricDalquist> yeah

[12:44:36 CST(-0600)] <athena> guess we could submit a request to sonatype for it

[12:44:40 CST(-0600)] <EricDalquist> yeah

[12:44:43 CST(-0600)] <EricDalquist> seems like the best bet

[12:44:52 CST(-0600)] <athena> yeah

[12:44:54 CST(-0600)] <EricDalquist> and if they balk we can always publish it under org.jasig (tongue)

[12:45:04 CST(-0600)] <EricDalquist> well ... depending on the license

[12:56:09 CST(-0600)] <athena> apache

[12:56:13 CST(-0600)] <athena> you know, some days i hate google

[12:56:17 CST(-0600)] <athena> http://code.google.com/p/google-visualization-java/source/browse/#svn%2Ftags

[12:56:24 CST(-0600)] <athena> is there a 1.1.1 tag in here? no, of course not.

[12:56:30 CST(-0600)] <EricDalquist> hah

[12:57:55 CST(-0600)] <athena> and this doesn't seem to match the actual, you know, code: http://gwt-google-apis.googlecode.com/svn/javadoc/visualization/1.1/index.html

[12:58:51 CST(-0600)] <EricDalquist> uhg

[12:58:58 CST(-0600)] <athena> hmm, actually no, that's a different API entirely

[12:59:01 CST(-0600)] <athena> similar, different package

[12:59:08 CST(-0600)] <EricDalquist> ah'

[12:59:20 CST(-0600)] <EricDalquist> oh yeah that is gwt

[12:59:47 CST(-0600)] <athena> yeah

[12:59:59 CST(-0600)] <athena> no idea where one would find the other javadoc

[13:00:39 CST(-0600)] <EricDalquist> I emailed you a link to it ... let me find it

[13:00:55 CST(-0600)] <EricDalquist> http://code.google.com/apis/chart/interactive/docs/dev/dsl_javadocs/

[13:02:07 CST(-0600)] <EricDalquist> brb

[13:02:31 CST(-0600)] <athena> ooh thanks

[13:02:32 CST(-0600)] <athena> bbiab

[14:48:06 CST(-0600)] <EricDalquist> athena: does umobile support oauth?

[14:48:16 CST(-0600)] <athena> not yet

[14:48:18 CST(-0600)] <athena> but!

[14:48:25 CST(-0600)] <athena> now that we have the spring-security branch . . . (smile)

[14:48:30 CST(-0600)] <EricDalquist> (smile)

[14:48:34 CST(-0600)] <athena> it's certainly technically possible to implement

[14:48:40 CST(-0600)] <athena> and we could implement that on the native side as well

[14:48:55 CST(-0600)] <EricDalquist> just wondering because the concept of umobile not presenting the official UW login page does not go over well

[14:48:58 CST(-0600)] <athena> we probably won't actually write the connector until we have a school that wants to sponsor that work, or until the community wants it

[14:49:15 CST(-0600)] <EricDalquist> so we're going to say that uMobile requires oauth

[14:49:21 CST(-0600)] <athena> well, you could present the login page, instead

[14:49:39 CST(-0600)] <EricDalquist> to bootstrap the requirement that middleware gets an oauth server up and integrated with our shib server

[14:49:40 CST(-0600)] <athena> though really you don't want the user to have to log in every time they load up the app, because that's annoying

[14:49:48 CST(-0600)] <athena> sounds good

[14:49:49 CST(-0600)] <athena> (smile)

[14:50:02 CST(-0600)] <athena> so in that case, what would need to happen is writing some code that does the oauth stuff from the native app

[14:50:08 CST(-0600)] <athena> or . . .

[14:50:17 CST(-0600)] <athena> yeah

[14:50:22 CST(-0600)] <athena> i think that'd be the best strategy

[14:50:46 CST(-0600)] <EricDalquist> yeah

[14:50:55 CST(-0600)] <athena> i suspect most schools aren't really going to be able to use oauth because so many of them are relying on clearpass for something

[14:51:00 CST(-0600)] <EricDalquist> so the native app would present the login.wisc.edu page and then deal with the oauth

[14:51:02 CST(-0600)] <EricDalquist> right

[14:51:07 CST(-0600)] <EricDalquist> we're doing shib delegated auth (tongue)

[14:51:11 CST(-0600)] <athena> yeah (smile)

[14:51:13 CST(-0600)] <EricDalquist> so we need central oauth to make it work

[14:51:17 CST(-0600)] <athena> yeah

[14:51:19 CST(-0600)] <EricDalquist> uportal side oauth won't cut it

[14:51:30 CST(-0600)] <athena> and of course that's a really awesome thing to do conceptually in the long run anyway

[14:51:36 CST(-0600)] <EricDalquist> yup

[14:51:41 CST(-0600)] <EricDalquist> that is part of our issue

[14:51:56 CST(-0600)] <EricDalquist> is convincing the powers the be that having an institutional oauth service is a very good thing

[14:51:59 CST(-0600)] <athena> yeah

[14:52:02 CST(-0600)] <athena> that's very awesome (smile)

[14:52:10 CST(-0600)] <athena> and we'd definitely be interested in umobile supporting oauth

[14:52:15 CST(-0600)] <athena> just haven't had anyone that needs it yet

[14:52:19 CST(-0600)] <athena> definitely good stuff

[14:52:25 CST(-0600)] <athena> it's the Right Thing, of course

[14:52:41 CST(-0600)] <athena> rather than our current strategy of stepping through forms in the background

[14:53:24 CST(-0600)] <EricDalquist> yeah

[14:53:38 CST(-0600)] <EricDalquist> our middleware guys weren't so impressed by that idea (smile)

[14:54:45 CST(-0600)] <athena> yeah

[14:54:55 CST(-0600)] <athena> and that seems to me to be a reasonable response (smile)

[14:55:12 CST(-0600)] <athena> oauth shoudl be more achievable now that CAS has a new oauth module (just came out)

[14:55:22 CST(-0600)] <athena> and uportal's moving that direction

[14:55:25 CST(-0600)] <EricDalquist> well with luck maybe we can be the school that triggers the oauth work in umobile

[14:58:09 CST(-0600)] <athena> yay!! (smile)

[14:58:14 CST(-0600)] <athena> lol these new icons are so cute

[14:58:15 CST(-0600)] <athena> https://github.com/Jasig/uMobile-app/pull/1/files

[14:58:24 CST(-0600)] <athena> i like the happy little washer

[14:58:24 CST(-0600)] <EricDalquist> lol

[14:58:25 CST(-0600)] <EricDalquist> nice

[14:58:31 CST(-0600)] <athena> yeah

[14:58:47 CST(-0600)] <athena> andrew jokingly mentioned the MIT random house bathroom status

[14:58:58 CST(-0600)] <athena> and then requested that i not actually make a portlet for that ;P

[15:01:43 CST(-0600)] <EricDalquist> lol