uPortal IRC Logs-2012-01-18
[04:20:10 CST(-0600)] <changi> hello
[04:20:44 CST(-0600)] <changi> need some help, i trying to setup cas sso 3.4.11
[04:21:25 CST(-0600)] <changi> authentication is working, but every time i connect the login page i get the login-screen instead of the login success
[09:53:07 CST(-0600)] <EricDalquist> athena: found the column width bug
[10:23:21 CST(-0600)] <athena> oh yay
[10:23:26 CST(-0600)] <athena> easy to fix?
[10:23:28 CST(-0600)] <EricDalquist> yeah
[10:23:43 CST(-0600)] <EricDalquist> I forgot to add "JoinType.LEFT" to a few of the fetches
[10:23:47 CST(-0600)] <athena> ah
[10:23:50 CST(-0600)] <EricDalquist> and without that hibernate does an inner join
[10:23:51 CST(-0600)] <athena> glad it's something simple!
[10:24:01 CST(-0600)] <EricDalquist> which means that unless every fetch has data there is no result
[10:24:11 CST(-0600)] <EricDalquist> the fix is in master
[10:24:13 CST(-0600)] <athena> oh
[10:24:15 CST(-0600)] <athena> thanks so much!
[10:24:20 CST(-0600)] <athena> that'll make this demo today easier
[10:24:36 CST(-0600)] <athena> so nice being able to keep our demo instance closer in sync to the master
[10:24:36 CST(-0600)] <EricDalquist>
[10:25:06 CST(-0600)] <EricDalquist> have I mentioned how cool jodatime is?
[10:25:17 CST(-0600)] <athena> yes! sounds completely awesome
[10:25:21 CST(-0600)] <athena> looking forward to playing with it
[10:25:59 CST(-0600)] <EricDalquist> https://github.com/edalquist/uPortal/compare/master...event-aggr#L41R125
[10:26:14 CST(-0600)] <EricDalquist> that determines if a DateTime is between two MonthDay objects
[10:26:25 CST(-0600)] <EricDalquist> I couldn't imagine having to do that with Calendar
[10:35:46 CST(-0600)] <athena> ugh, yeah
[10:36:04 CST(-0600)] <athena> think their midnight class will really improve the calendar portlet
[10:43:06 CST(-0600)] <EricDalquist> yeah
[10:43:45 CST(-0600)] <athena> we're hopelessly buried under 2" of snow here
[10:45:26 CST(-0600)] <EricDalquist> lol
[10:45:57 CST(-0600)] <athena> it is dire
[10:47:49 CST(-0600)] <EricDalquist> is the puppy happy to see snow?
[10:51:39 CST(-0600)] <athena> omg yes
[10:51:43 CST(-0600)] <athena> insane
[10:51:56 CST(-0600)] <athena> pouncing around the room and nibbling on myhand right now
[10:52:02 CST(-0600)] <EricDalquist> lol
[10:52:08 CST(-0600)] <athena> he's already eaten quite a bit of snow today
[10:52:21 CST(-0600)] <athena> i think i could train him to just eat the snow off the sidewalk
[10:52:34 CST(-0600)] <athena> though i don't think we shovel here
[10:52:35 CST(-0600)] <EricDalquist> lol
[10:52:46 CST(-0600)] <athena> i think we just declare disaster and wait for it to melt
[10:52:57 CST(-0600)] <athena> snowpocalypse!
[12:00:39 CST(-0600)] <Arvids> Eric, can you suggest me where to start in order to reflect tab groups in site map portlet?
[12:01:00 CST(-0600)] <Arvids> Currently sitemap view gets layout XML which doesn´t contain required information
[12:01:21 CST(-0600)] <EricDalquist> so you want a list of all tabs potentially available to the user?
[12:01:28 CST(-0600)] <EricDalquist> I guess I'm not clear on what you mean by a "tab group"
[12:01:57 CST(-0600)] <Arvids> there´s this tabgoup functionality that can be turned on in portal.properties
[12:02:04 CST(-0600)] <EricDalquist> ah
[12:02:05 CST(-0600)] <EricDalquist> right
[12:02:10 CST(-0600)] <Arvids> we´re going to use it, but it doesn´t show up in sitemap
[12:02:24 CST(-0600)] <EricDalquist> I'm not sure ... another developer group wrote that and I have only passing familiarity
[12:02:45 CST(-0600)] <athena> i think i helped replace that as of 4.0
[12:02:48 CST(-0600)] <athena> since it used to be a channel
[12:02:56 CST(-0600)] <athena> er, the portlet itself, i mean
[12:03:02 CST(-0600)] <EricDalquist> I think the tab-group uses specially marked folders in the layout
[12:03:05 CST(-0600)] <athena> but the tab group stuff came from illinois
[12:03:06 CST(-0600)] <athena> yeah
[12:03:11 CST(-0600)] <EricDalquist> I'd first start looking in the structure and theme xsl
[12:03:15 CST(-0600)] <athena> maybe look at the documentation / patch for that feature?
[12:03:26 CST(-0600)] <EricDalquist> to see how those react when the tabgoup functionality is enabled
[12:03:42 CST(-0600)] <EricDalquist> maybe that will point you to the info you need in the layout xml
[12:04:05 CST(-0600)] <Arvids> i assume that laout node attributes are applied in some later stages of XML transformations
[12:04:33 CST(-0600)] <EricDalquist> https://wiki.jasig.org/display/UPC/Rendering+Pipeline
[12:04:41 CST(-0600)] <EricDalquist> that is a decent diagram of the layout rendering pipeline
[12:05:01 CST(-0600)] <Arvids> ahh.. yes - that´s what i needed
[12:05:17 CST(-0600)] <EricDalquist> that essentially corresponds with what is in renderingPipelineContext.xml
[12:05:38 CST(-0600)] <Arvids> now i´ll have to figure out how to pass the result of "Structure XSLT" to the sitemap portlet
[12:05:38 CST(-0600)] <EricDalquist> note that you can call into the pipeline at any point to get the StAX stream at that point
[12:06:10 CST(-0600)] <EricDalquist> inject the structureCachingComponent bean into the portlet
[12:06:32 CST(-0600)] <EricDalquist> and call getEventReader
[12:06:41 CST(-0600)] <EricDalquist> the injected interface would be a StAXPipelineComponent
[12:06:45 CST(-0600)] <Arvids> nice, thank you for the tip - that´s what i needed
[12:06:55 CST(-0600)] <EricDalquist> yup
[12:07:01 CST(-0600)] <EricDalquist> and that should perform well for the current user
[12:07:05 CST(-0600)] <EricDalquist> though ...
[12:07:11 CST(-0600)] <EricDalquist> you might not get what you want
[12:07:28 CST(-0600)] <EricDalquist> since the structure XSL just outputs the current tab
[12:07:37 CST(-0600)] <EricDalquist> not the entire layout
[12:08:24 CST(-0600)] <Arvids> yeah, but it does contain the required information (i.e. tab groups, tabs and portlets) judging by universality XSL files
[12:09:09 CST(-0600)] <EricDalquist> Arvids you'll also likely need to inject IPortalRequestUtils
[12:09:28 CST(-0600)] <EricDalquist> and use "HttpServletResponse getOriginalPortalResponse(PortletRequest portletRequest)"
[12:10:41 CST(-0600)] <Arvids> thanks, i´ll take it into account
[12:11:46 CST(-0600)] <Arvids> btw, I assume that we´ll go live without any post-4.0.2 patches (except those that were provided by me)
[12:12:01 CST(-0600)] <EricDalquist> ok
[12:12:07 CST(-0600)] <EricDalquist> I'm working to get 4.0.3 out asap
[12:12:12 CST(-0600)] <EricDalquist> hopefully at the end of the month
[12:13:12 CST(-0600)] <Arvids> yeah, but proper testing must be done in order to test the results of mondays commits regarding fetching strategies
[12:14:03 CST(-0600)] <Arvids> YourKit showed me that all SQL gets executed almost immediately (except some spikes)
[12:14:53 CST(-0600)] <Arvids> ... and I believe i´ll have to create some documentation regarding my experience with MSSQL
[12:15:28 CST(-0600)] <EricDalquist> that would be great
[12:17:06 CST(-0600)] <EricDalquist> so I just commited another fix this morning regarding fetching
[12:17:22 CST(-0600)] <EricDalquist> apparently when you just do .fetch(associaton) hibernate does an inner join
[12:17:32 CST(-0600)] <EricDalquist> which is bad if there isn't always data on the other side
[12:18:56 CST(-0600)] <Arvids> those are the bits and piecies that i was afraid would arrise when specifying fetching strategies outside annotations on entity class
[12:19:56 CST(-0600)] <EricDalquist> yeah
[12:19:57 CST(-0600)] <Arvids> something like query.enableAnnotationConfiguredFetching(true) would be nice
[12:20:02 CST(-0600)] <EricDalquist> yes
[12:20:11 CST(-0600)] <EricDalquist> I thought about writing our own annotation processing to do it
[12:20:16 CST(-0600)] <EricDalquist> it would be doable
[12:20:20 CST(-0600)] <EricDalquist> just don't have the time to do it
[12:20:34 CST(-0600)] <Arvids> hmm... maybe there is something like that?
[12:20:44 CST(-0600)] <Arvids> i bet we´re not the first ones facing this problem
[12:20:55 CST(-0600)] <EricDalquist> so what I had to do was .fetch(assocaition, JoinType.LEFT)
[12:21:23 CST(-0600)] <Arvids> ... and filter the results
[12:21:24 CST(-0600)] <EricDalquist> what would be technically feasible would be to add logic to BaseJpaDao to use reflection on the class being queried
[12:21:40 CST(-0600)] <EricDalquist> yes but DataAccessUtils.uniqueResult does that
[12:22:31 CST(-0600)] <EricDalquist> then look at each field that has a eager fetch annotation add a .fetch call