uPortal IRC Logs-2011-07-21

[07:06:44 CDT(-0500)] <EricDalquist> Arvids: just added you to the uportal dev grou
[07:06:46 CDT(-0500)] <EricDalquist> group
[07:06:52 CDT(-0500)] <EricDalquist> you should now have commit access in svn
[07:07:04 CDT(-0500)] <Arvids> nice
[07:07:05 CDT(-0500)] <EricDalquist> and more permissions in the uportal project on jira
[07:08:39 CDT(-0500)] <EricDalquist> if you want to take a shot at https://issues.jasig.org/browse/UP-3096 for your first change set that would be great (smile)
[07:08:51 CDT(-0500)] <Arvids> i could do so
[07:09:11 CDT(-0500)] <Arvids> i also commented on https://issues.jasig.org/browse/UP-3095 with possible tab name translation possibilities
[07:09:42 CDT(-0500)] <Arvids> and composite message source proposed by you seems the best one
[07:09:51 CDT(-0500)] <EricDalquist> oh great, I'll take a look at that
[07:09:52 CDT(-0500)] <EricDalquist> yeah
[07:09:59 CDT(-0500)] <EricDalquist> that code is really not nice (sad)
[07:12:26 CDT(-0500)] <Arvids> and i've also done some work in order to improve translations
[07:12:46 CDT(-0500)] <Arvids> but i had a problem with parametrizable messages
[07:13:25 CDT(-0500)] <Arvids> i couldn't find a way to use those messages in XSL
[07:17:07 CDT(-0500)] <EricDalquist> hrm, that would be a question for athena
[07:17:18 CDT(-0500)] <EricDalquist> she did the initial work on getting the messages usable in XSL
[07:17:40 CDT(-0500)] <Arvids> ahh... ok
[07:18:12 CDT(-0500)] <Arvids> it would be nice to use them in the same way as they can be used in JSP
[07:18:15 CDT(-0500)] <EricDalquist> there are a set of classes XalanHelper* that are the java callback used by the XSL
[07:18:35 CDT(-0500)] <Arvids> yes, i saw them and tried to tweak them a little
[07:19:22 CDT(-0500)] <Arvids> but I'm not very familiar with XSL and couln't find a way how to pass an object array as argument
[07:19:31 CDT(-0500)] <EricDalquist> you could potentially just add another method: public static String getMessage(String code, String language, String params)
[07:19:36 CDT(-0500)] <EricDalquist> I doubt you can
[07:19:46 CDT(-0500)] <EricDalquist> the JSP taglib already just does string splitting
[07:20:40 CDT(-0500)] <Arvids> hmmm... that makes sense
[07:20:58 CDT(-0500)] <EricDalquist> http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/spring.tld.html#spring.tld.message
[07:21:09 CDT(-0500)] <EricDalquist> you could probably create several variations on that one static method
[07:21:18 CDT(-0500)] <EricDalquist> with the various options
[07:21:52 CDT(-0500)] <EricDalquist> the hardest bit, and if this is a road block I can take a look, is that right now you can only return text, no markup can be returned by the message tag in the XSL
[07:22:01 CDT(-0500)] <Arvids> yes, but first i'd like to talk to athena - how can i compose such comma-sperated string if i want to pass more than one argument
[07:22:30 CDT(-0500)] <Arvids> oh, yeah... that would really help
[07:22:54 CDT(-0500)] <EricDalquist> I "think" this would work: '{$SOME_VAR1},{$SOME_VAR2},test'
[07:22:56 CDT(-0500)] <Arvids> that would allow to translate all those footer messages
[07:23:06 CDT(-0500)] <Arvids> hmmm.... i'll try that
[07:23:35 CDT(-0500)] <Arvids> ok, i'll dive in the code now
[07:23:44 CDT(-0500)] <EricDalquist> yeah the problem is since these java callbacks are being called from an XSLT processor if we want to return markup we have to return them as actual XML Node objects
[07:23:56 CDT(-0500)] <EricDalquist> so I think what would have to happen is that method would need to return a NodeList
[07:24:26 CDT(-0500)] <EricDalquist> and the logic in the method would have to get the message string and then do XML parsing on it to turn it into a list of element and text nodes
[07:24:40 CDT(-0500)] <EricDalquist> and it would have to be well formatted XML, no hanging tags, etc
[07:24:47 CDT(-0500)] <EricDalquist> I think its probably doable
[07:24:59 CDT(-0500)] <EricDalquist> just not a trivial case (sad)
[07:25:11 CDT(-0500)] <Arvids> indeed
[07:25:49 CDT(-0500)] <EricDalquist> as for the DB storage bit of it
[07:26:01 CDT(-0500)] <EricDalquist> uportal-war/src/main/resources/properties/contexts/mvcContext.xml defines the messageSource bean
[07:26:19 CDT(-0500)] <Arvids> ahh... there's one spring issue (closed, though) which we can use
[07:26:32 CDT(-0500)] <Arvids> https://jira.springsource.org/browse/SPR-364
[07:27:07 CDT(-0500)] <Arvids> but there are too many questions regarding caching...
[07:27:13 CDT(-0500)] <EricDalquist> oh neat
[07:27:28 CDT(-0500)] <EricDalquist> well the portal uses ehcache for everything
[07:27:33 CDT(-0500)] <EricDalquist> so that would be the easy answer
[07:27:41 CDT(-0500)] <EricDalquist> even better would be to make it consistent with the rest of the new portal DAOs
[07:27:43 CDT(-0500)] <EricDalquist> and use JPA2
[07:27:50 CDT(-0500)] <EricDalquist> then caching is handled by hibernate
[07:28:02 CDT(-0500)] <EricDalquist> including all of the stuff around clearing cachie on update
[07:28:27 CDT(-0500)] <Arvids> sounds nice
[07:29:26 CDT(-0500)] <Arvids> btw, is there any written policies regarding svn commits?
[07:29:28 CDT(-0500)] <EricDalquist> I've been trying to document guidelines for various things here: https://wiki.jasig.org/display/UPC/uPortal+Developers
[07:29:45 CDT(-0500)] <EricDalquist> as for SVN commits, we just try to reference the jira issue ID in the commit
[07:30:05 CDT(-0500)] <Arvids> ok, i've seen that
[07:31:02 CDT(-0500)] <Arvids> as i understand, JIRA issue should be mentioned if there is one, but if there isn't... should i create one?
[07:31:24 CDT(-0500)] <Arvids> for example, i'll work on improving i18n support
[07:31:35 CDT(-0500)] <Arvids> but this'll be ongoing work
[07:32:07 CDT(-0500)] <EricDalquist> yes
[07:32:23 CDT(-0500)] <Arvids> hence as i understand, there's no point to create special issue for that
[07:32:33 CDT(-0500)] <EricDalquist> if a more specific issue can be created, like "adding JDBC backed message source" that would be great
[07:32:45 CDT(-0500)] <EricDalquist> if it is a lot of just little changes then one larger issue can be used
[07:33:01 CDT(-0500)] <EricDalquist> like I'm going through the import/export code and have just been using: https://issues.jasig.org/browse/UP-3048
[07:33:07 CDT(-0500)] <EricDalquist> to capture everything
[07:34:08 CDT(-0500)] <Arvids> ok
[07:34:28 CDT(-0500)] <Arvids> btw, have you tried new m2e plugin shipped with new (indigo) eclipse?
[07:34:43 CDT(-0500)] <Arvids> i couln't get it working the way i want with uPortal (sad)
[07:34:44 CDT(-0500)] <EricDalquist> yes
[07:34:49 CDT(-0500)] <EricDalquist> I'm using that
[07:34:58 CDT(-0500)] <EricDalquist> and I'm working on some videos on how to get it setup
[07:35:05 CDT(-0500)] <EricDalquist> I should have them done by the end of this week
[07:35:09 CDT(-0500)] <Arvids> cool
[07:35:21 CDT(-0500)] <EricDalquist> one for eclipse & plugins setup
[07:35:26 CDT(-0500)] <EricDalquist> and one for a uPortal checkout and project setup
[07:35:32 CDT(-0500)] <Arvids> nice
[07:35:52 CDT(-0500)] <EricDalquist> I'm also on the m2e dev list poking at them for support
[07:36:06 CDT(-0500)] <Arvids> i'll have a vocation after this week (going to Paris... sweet) so when i return, i'll try the new setup
[07:36:11 CDT(-0500)] <EricDalquist> the one thing that there is no support for right now is the code generated from the jpa annotations
[07:36:12 CDT(-0500)] <EricDalquist> brb
[07:42:38 CDT(-0500)] <EricDalquist> sounds like a nice vacation (smile)
[07:56:39 CDT(-0500)] <Arvids> btw, what is the suggested value of line length?
[07:57:30 CDT(-0500)] <Arvids> i see a lot of legacy code with value of "80", but nowadays it looks more like 120 (which i'm currently using)
[07:58:01 CDT(-0500)] <EricDalquist> 120ish
[07:58:12 CDT(-0500)] <EricDalquist> I think pretty much everyone is one wide screen monitors
[07:58:33 CDT(-0500)] <Arvids> i was using 160 one time, but it was way too much (big grin)
[07:58:36 CDT(-0500)] <EricDalquist> plus I find 80 annoyingly shore (smile)
[07:58:39 CDT(-0500)] <EricDalquist> short
[07:58:46 CDT(-0500)] <EricDalquist> hah, yeah that would be fine at work for me
[07:58:54 CDT(-0500)] <EricDalquist> but at home I don't have the nice 22" monitor
[09:34:55 CDT(-0500)] <tsnfoo> Does anybody know of documented suggestions for uP 3.x hardware recommendations?
[09:35:01 CDT(-0500)] <tsnfoo> I'm meeting with our syadmin team today about standing up our new environment in VMWare, and I was wondering if there were any suggested minimum resource numbers floating about.
[09:35:34 CDT(-0500)] <EricDalquist> take a look at https://wiki.jasig.org/display/UPC/JVM+Configurations and https://wiki.jasig.org/display/UPC/Deployed+uPortals
[09:35:35 CDT(-0500)] <tsnfoo> We're looking at our current environment as a base, but it's wicked old (2.5.2+crazypatches)...
[09:35:45 CDT(-0500)] <tsnfoo> woot
[09:37:06 CDT(-0500)] <EricDalquist> I'm updating madison's data right now
[09:37:08 CDT(-0500)] <tsnfoo> That's very helpful.
[09:37:18 CDT(-0500)] <tsnfoo> Cool - yeah, some of this is old.
[09:37:27 CDT(-0500)] <EricDalquist> yeah
[09:37:31 CDT(-0500)] <tsnfoo> I was hoping to see how people are running 3-32.
[09:37:39 CDT(-0500)] <tsnfoo> er, 3.2 I mean
[09:38:39 CDT(-0500)] <tsnfoo> We're splitting CAS off onto a separate VM, and we're upgrading all the way from 2.5.2 to 3.2, so I don't know how usefull our current environment is as a benchmark.
[09:38:54 CDT(-0500)] <tsnfoo> s/usefull/useful
[09:39:56 CDT(-0500)] <tsnfoo> EricDalquist: Do you have a rough feel for the resource consumption for the 3.2 branch?
[09:41:05 CDT(-0500)] <EricDalquist> hrm, I don't think it is that much more than 2.x
[09:41:24 CDT(-0500)] <EricDalquist> and even better most all in-memory data is stored in ehache
[09:41:33 CDT(-0500)] <EricDalquist> so there is one config file that lets you tune memory usage
[09:41:45 CDT(-0500)] <tsnfoo> I didn't think so, but was just curious about your strictly gut-level feeling on the mater.
[09:41:57 CDT(-0500)] <tsnfoo> Oh, excellent.
[09:42:06 CDT(-0500)] <EricDalquist> we have 4 machines with 8GB each
[09:42:13 CDT(-0500)] <EricDalquist> and we've peaked at over 10k logins/hr
[09:42:17 CDT(-0500)] <EricDalquist> without any problems at all
[09:42:25 CDT(-0500)] <tsnfoo> We super excited to finally enter the 3.x world.
[09:42:54 CDT(-0500)] <EricDalquist> https://source.jasig.org/uPortal/branches/rel-3-2-patches/uportal-impl/src/main/resources/properties/ehcache.xml
[09:42:58 CDT(-0500)] <EricDalquist> I've tried to keep that well commented
[09:43:04 CDT(-0500)] <EricDalquist> with each cache documenting how many instance
[09:43:05 CDT(-0500)] <EricDalquist> s
[09:43:16 CDT(-0500)] <EricDalquist> once ehcache 2.5 comes out this will be A LOT easier to tune
[09:43:24 CDT(-0500)] <EricDalquist> that will support % of heap cache sizing
[09:43:34 CDT(-0500)] <tsnfoo> Wow. I think we might hit 1000 logins an hour during course registration. But Denison is way smaller than Madison (wink)
[09:43:39 CDT(-0500)] <EricDalquist> so we can specify all these as ratios
[09:43:49 CDT(-0500)] <EricDalquist> and it should just scale based on heap size
[09:43:58 CDT(-0500)] <EricDalquist> the goal with the design is that you never run out the ram
[09:44:12 CDT(-0500)] <EricDalquist> just that less active people get more cache misses
[09:45:39 CDT(-0500)] <tsnfoo> Ah. I've only got a wikipedia-deep understanding of Ehcache, but it sounds hella nice.
[09:47:31 CDT(-0500)] <EricDalquist> yeah its a very easy to use caching library
[09:47:52 CDT(-0500)] <EricDalquist> the idea is that you'd tune your caching so that if all the caches are full at most x% of your heap is being used
[09:48:11 CDT(-0500)] <tsnfoo> Out of curiosity, do you think there will be another 3.2.x release cut anytime soon, or are you gung-ho on 4.0? We were thinking it might be best to launch on the 3.2.2-patches branch, if 3.2.5 is a ways off.
[09:48:15 CDT(-0500)] <EricDalquist> then the least recently used data just falls off the end
[09:48:22 CDT(-0500)] <EricDalquist> yes
[09:48:23 CDT(-0500)] * tsnfoo digging int some ehcache docs
[09:48:29 CDT(-0500)] <EricDalquist> I really need to get 3.2.5 out
[09:48:35 CDT(-0500)] <EricDalquist> the branch is pretty much ready to go
[09:48:43 CDT(-0500)] <tsnfoo> LOL. Sorry, not trying to guilt you into a release!
[09:48:45 CDT(-0500)] <EricDalquist> there may be one or two more minor patches waiting to be applied
[09:48:47 CDT(-0500)] <EricDalquist> oh
[09:48:47 CDT(-0500)] <EricDalquist> no
[09:48:49 CDT(-0500)] <EricDalquist> its ok
[09:48:59 CDT(-0500)] <EricDalquist> I'm just frustraited that it isn't out yet
[09:49:09 CDT(-0500)] <EricDalquist> if you're interested in cutting a uPortal release let me know (smile)
[09:49:17 CDT(-0500)] <EricDalquist> I'm honestly looking for more hands to help with this stuff
[09:49:32 CDT(-0500)] <EricDalquist> there are even step by step instructions! https://wiki.jasig.org/display/UPC/Cutting+a+uPortal+Release
[09:49:33 CDT(-0500)] <EricDalquist> (smile)
[09:49:42 CDT(-0500)] <tsnfoo> No worries. We'll probably setup our test environment on the patches branch.
[09:49:59 CDT(-0500)] <tsnfoo> Ack. I'm still learning Maven
[09:50:18 CDT(-0500)] <tsnfoo> I can try those instuctions, though
[09:50:39 CDT(-0500)] <tsnfoo> Assuming my head does not esplode, as strongbad would say.
[09:51:08 CDT(-0500)] <EricDalquist> (smile)
[09:51:25 CDT(-0500)] <EricDalquist> well you can't do those yet, I'd have to get you setup with SVN commit and Maven deploy permissions
[09:51:36 CDT(-0500)] <tsnfoo> Yes, reading now.