uPortal IRC Logs-2009-11-06
[04:43:28 EST(-0500)] * higmad (n=chatzill@pcit-8752.HIG.SE) has joined ##uportal
[09:01:01 EST(-0500)] * holdorph (n=holdorph@nsit-dhcp-205-208-044-025.uchicago.edu) has joined ##uportal
[09:08:09 EST(-0500)] * jessm (n=Jess@c-71-232-1-65.hsd1.ma.comcast.net) has joined ##uportal
[09:18:31 EST(-0500)] * colinclark (n=colin@bas2-toronto09-1176132520.dsl.bell.ca) has joined ##uportal
[09:22:23 EST(-0500)] * athena (n=athena@adsl-75-58-127-15.dsl.wlfrct.sbcglobal.net) has joined ##uportal
[09:49:24 EST(-0500)] * lennard1 (n=sparhk@ip68-98-56-21.ph.ph.cox.net) has joined ##uportal
[09:51:53 EST(-0500)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[09:58:04 EST(-0500)] * holdorph (n=holdorph@wireless-98-166.uchicago.edu) has joined ##uportal
[10:06:36 EST(-0500)] <EricDalquist> anyone looked much at: http://closure-compiler.appspot.com/home ?
[10:07:21 EST(-0500)] <EricDalquist> info about it here: http://code.google.com/closure/compiler/
[10:19:39 EST(-0500)] <athena> yeah i was looking at it last night
[10:19:48 EST(-0500)] <athena> haven't had time to play with it yet
[10:20:17 EST(-0500)] <EricDalquist> Nick is getting very frustraited with YUI
[10:20:23 EST(-0500)] <EricDalquist> and was drooling a bit over that
[10:20:34 EST(-0500)] <athena> what problems is nick having w/ yui?
[10:20:59 EST(-0500)] * lennard1 (n=sparhk@ip68-98-56-21.ph.ph.cox.net) has joined ##uportal
[10:21:17 EST(-0500)] <EricDalquist> apparently the version available in a maven repo is REALLY buggy
[10:21:36 EST(-0500)] <athena> yeah, i was wondering if there was a more recent version
[10:21:39 EST(-0500)] <EricDalquist> there is
[10:21:42 EST(-0500)] <EricDalquist> but we'd have to host it
[10:21:51 EST(-0500)] <athena> well that's not the end of the world is it?
[10:21:59 EST(-0500)] <EricDalquist> nope
[10:22:04 EST(-0500)] <athena> i know the YUI library itself has a much later version
[10:22:18 EST(-0500)] <athena> i'd been wondering if the plugin is updated to that, and if it's not, if it might be worth doing it ourselves
[10:23:09 EST(-0500)] <athena> though it'd be interesting to compare the google compiler as well and see how they differ
[10:24:14 EST(-0500)] <EricDalquist> the google compile claims to do code optimization too
[10:24:40 EST(-0500)] <athena> yeah
[10:24:49 EST(-0500)] <athena> i don't know what to think of that
[10:25:06 EST(-0500)] <athena> i guess i'm less worried about doing that with our own small libraries
[10:25:17 EST(-0500)] <EricDalquist> yeah
[10:25:22 EST(-0500)] <athena> not sure how we'd know if it was completely working on something the size of jquery or fluid
[10:25:28 EST(-0500)] <EricDalquist> right
[10:25:34 EST(-0500)] <athena> though i would imagine they're probably already using it for jquery, maybe
[10:25:37 EST(-0500)] <EricDalquist> yup
[10:25:38 EST(-0500)] <EricDalquist> they are
[10:25:52 EST(-0500)] <athena> quick test shows that on ajax-preferences-jquery.js the google version is slightly smaller, though not by a lot
[10:26:22 EST(-0500)] <EricDalquist> yeah, that's pretty small JS though too
[10:26:23 EST(-0500)] <athena> 19.2 vs. 18.8
[10:26:26 EST(-0500)] <athena> yeah
[10:26:39 EST(-0500)] <athena> first file i had handy
[10:26:45 EST(-0500)] <EricDalquist> the other downside is it is an online service only
[10:26:53 EST(-0500)] <EricDalquist> so if he did make something to use it
[10:26:56 EST(-0500)] <athena> no, i downloaded the jar last night
[10:26:57 EST(-0500)] <EricDalquist> it would require internet access
[10:27:02 EST(-0500)] <EricDalquist> oh there is a jar?
[10:27:05 EST(-0500)] <athena> yes
[10:27:26 EST(-0500)] <EricDalquist> neat
[10:27:41 EST(-0500)] * nickb (n=Adium@76.201.148.161) has joined ##uportal
[10:27:44 EST(-0500)] <athena> so i would imagine we could maybe even take the existing maven-yui-compressor code, and switch out the yui library for the google one
[10:28:06 EST(-0500)] <nickb> hello
[10:28:18 EST(-0500)] <athena> since the plugin does have some nice features already like aggregation and configurable checking
[10:28:24 EST(-0500)] <athena> hey nickb, how's it going?
[10:28:25 EST(-0500)] <EricDalquist> yeah
[10:28:46 EST(-0500)] <nickb> great - having fun with UP-2505
[10:28:49 EST(-0500)] <athena> jar is here: http://closure-compiler.googlecode.com/files/compiler-latest.zip
[10:28:51 EST(-0500)] <athena> awesome
[10:28:56 EST(-0500)] <nickb> yelling at yui
[10:28:59 EST(-0500)] <athena> i'm really excited about that stuff!
[10:29:06 EST(-0500)] <athena> yeah EricDalquist said you were having some issues with it
[10:29:18 EST(-0500)] <nickb> closure looks awesome - is that last link you sent a java library to interact with it?
[10:29:24 EST(-0500)] <athena> yep
[10:29:30 EST(-0500)] <athena> so i think we should totally do something
[10:29:41 EST(-0500)] <nickb> what does everyone think - that looks like a great project
[10:29:42 EST(-0500)] <athena> whether that's to update to the much later YUI library that probably works a lot better
[10:30:08 EST(-0500)] <athena> or to switch out the plugin's implementation to use the google tool instead, if we decide we like it better
[10:31:14 EST(-0500)] <EricDalquist> perhaps you two could take a few minutes and jump into #fluid-work and ask their opinions about closure
[10:31:57 EST(-0500)] <EricDalquist> while I try to figure out why we are seeing JVM crashes due to apparently survivor space being full (eden and tenured are empty ...)
[10:32:30 EST(-0500)] <athena> yeah was just thinking that
[10:32:36 EST(-0500)] <athena> looks like colin is offline atm
[10:32:40 EST(-0500)] <nickb> just jumped in
[10:33:28 EST(-0500)] <athena> i've had a number of conversations w/ colin about maven in the last couple days
[10:36:10 EST(-0500)] <jessm> doh, colin is working on his boat today
[10:36:21 EST(-0500)] <jessm> his thoughts will have to come later
[10:36:39 EST(-0500)] <athena> ah
[10:36:49 EST(-0500)] <athena> no worries!
[10:36:55 EST(-0500)] <athena> he getting it all bubble-wrapped for winter?
[10:49:08 EST(-0500)] <athena> hey EricDalquist, did you ever get a chance to look at the content management portlet?
[10:49:15 EST(-0500)] <EricDalquist> nope
[10:49:20 EST(-0500)] <EricDalquist> and probably won't for a while
[10:49:25 EST(-0500)] <athena> yeah
[10:49:30 EST(-0500)] <athena> i downloaded it
[10:49:40 EST(-0500)] <athena> but havent' had time to set up a repository for it to talk to
[10:58:58 EST(-0500)] <athena> nickb: do you know if the google compressor does css minification?
[10:59:06 EST(-0500)] <athena> we're currently using yui for that as well
[10:59:45 EST(-0500)] <nickb> it doesn't appear so, however i haven't run into any problems with the css minification in yui
[10:59:53 EST(-0500)] <athena> gotcha
[10:59:53 EST(-0500)] <nickb> since all it does is remove whitespace and comments
[10:59:57 EST(-0500)] <athena> right
[11:00:08 EST(-0500)] <athena> so you're thinking just use the google compressor for the javascript side of things?
[11:00:18 EST(-0500)] <nickb> perhaps
[11:00:25 EST(-0500)] <nickb> im ok with using the 2.4.2 yui as well
[11:00:35 EST(-0500)] <athena> gotcha
[11:00:41 EST(-0500)] <nickb> that one at least works - 2.3.6 is broke
[11:00:50 EST(-0500)] <athena> we probably want to think about upgrading the maven one as well
[11:00:59 EST(-0500)] <athena> i think the maven plugin uses a really old version
[11:01:01 EST(-0500)] <nickb> i just think it's kind of weak that there is no documentation available for yuicompressor
[11:01:07 EST(-0500)] <athena> hm.
[11:01:14 EST(-0500)] <athena> that's kind of odd
[11:01:22 EST(-0500)] <athena> maybe because typically it's used from the command line?
[11:01:30 EST(-0500)] <athena> i mean i certainly found plenty of documentation about how to use it
[11:01:32 EST(-0500)] <nickb> thats what it looks like
[11:48:44 EST(-0500)] * Sememmon (n=Sememmon@unaffiliated/sememmon) has joined ##uportal
[13:07:23 EST(-0500)] <athena> EricDalquist: were you still looking to talk about portlet rendering stuff today?
[13:07:29 EST(-0500)] <EricDalquist> oh yeah
[13:07:34 EST(-0500)] <EricDalquist> I have about 20 minutes now if you'd like
[13:07:37 EST(-0500)] <athena> sure
[13:07:48 EST(-0500)] <athena> totally whatever's convenient for you - my schedule's clear for the day
[14:28:11 EST(-0500)] * nickb (n=Adium@76.201.148.161) has joined ##uportal
[14:54:04 EST(-0500)] <nickb> anyone have a moment to share some expertise with XSLT?
[14:54:40 EST(-0500)] <athena> i have a moment, but i don't know about the expertise
[14:55:06 EST(-0500)] <nickb> this is probably a simple problem
[14:55:27 EST(-0500)] <nickb> I have an object model for a skin's javascript and css resources
[14:55:59 EST(-0500)] <nickb> that static rendering pipeline will be able to determine which "resources" skin to use, and pass it as a parameter to the transformer
[14:56:30 EST(-0500)] <athena> very nice
[14:56:33 EST(-0500)] <nickb> i have a simple class that I think is supposed to work with XSLT to dump out the transform
[14:56:57 EST(-0500)] <nickb> i have a test case as well, but my test case never executes the method i think is supposed to get executed
[14:57:04 EST(-0500)] <nickb> so i'm hoping someone can take a peek
[14:57:11 EST(-0500)] <nickb> should I copy the class to pastebin?
[14:57:22 EST(-0500)] <athena> i guess you can, though i'm not sure how much help i'll be
[14:57:30 EST(-0500)] <EricDalquist> just got back ... I can take a peek too
[14:57:32 EST(-0500)] <athena> i haven't looked at interacting w/ that stuff w/ java for a long time
[14:57:37 EST(-0500)] <athena> even better
[14:58:07 EST(-0500)] <nickb> excellent
[14:58:13 EST(-0500)] <nickb> here's the class: http://uportal.pastebin.com/m54cf5f5
[14:58:24 EST(-0500)] <nickb> i'll paste the test and the test XSL it uses shortly
[14:59:01 EST(-0500)] <nickb> here's the test class: http://uportal.pastebin.com/m204fa8b
[14:59:06 EST(-0500)] <nickb> the first 6 tests all pass
[14:59:10 EST(-0500)] <nickb> it's the 7th that fails
[14:59:44 EST(-0500)] <nickb> lastly, the resources1.xsl: http://uportal.pastebin.com/m22f32688
[15:00:26 EST(-0500)] <nickb> I'm hoping I can just include something to the effect of <resources:output/> in the XSL and it'll dump out the Resources the pipeline stuffs in the transformer
[15:00:43 EST(-0500)] <EricDalquist> sounds like a good plan
[15:00:49 EST(-0500)] <EricDalquist> probably want to separate out js and css output
[15:00:56 EST(-0500)] <EricDalquist> but looks like it should work
[15:01:02 EST(-0500)] <EricDalquist> what part of the 7th test fails?
[15:01:33 EST(-0500)] <nickb> the output looks simply like : <out/>
[15:02:24 EST(-0500)] <nickb> if i put a breakpoint on the output method
[15:02:27 EST(-0500)] <EricDalquist> what does the XML document you're applying this to look like?
[15:02:27 EST(-0500)] <nickb> it never gets called
[15:02:51 EST(-0500)] <nickb> i suppose that's where I'm confused
[15:02:53 EST(-0500)] <EricDalquist> for your XSL I would expect it to look something like <out><resources></resources></out>
[15:03:10 EST(-0500)] <nickb> oh, it looks like <out><resources/></out>
[15:03:18 EST(-0500)] <EricDalquist> that might work too ...
[15:03:20 EST(-0500)] <EricDalquist> for now though
[15:03:26 EST(-0500)] <EricDalquist> replace your apply-templates call with
[15:03:31 EST(-0500)] <EricDalquist> <resources:output/>
[15:03:43 EST(-0500)] <EricDalquist> you don't need the variable if you just want the output right where the tag was
[15:04:00 EST(-0500)] <EricDalquist> and just have an XML document of <out></out>
[15:04:01 EST(-0500)] <nickb> so then I don't need the xsl:template match="resources" section at all
[15:04:05 EST(-0500)] <EricDalquist> right
[15:04:50 EST(-0500)] <nickb> no dice
[15:04:57 EST(-0500)] <EricDalquist> method still isn't called?
[15:05:06 EST(-0500)] <nickb> I get <out namespaces..etc><resources:output/></out>
[15:05:09 EST(-0500)] <nickb> correct not called
[15:06:39 EST(-0500)] <EricDalquist> so the output changed ...
[15:07:08 EST(-0500)] <nickb> here's the exact output:
[15:07:09 EST(-0500)] <nickb> <?xml version="1.0" encoding="UTF-8"?><out xmlns:resources="http://www.jasig.org/uportal/XSL/web/skin" xmlns:xalan="http://xml.apache.org/xalan"><resources:output/></out>
[15:07:19 EST(-0500)] <EricDalquist> I think your xslt is incomplete
[15:07:25 EST(-0500)] <EricDalquist> look at: http://developer.jasig.org/source/browse/jasigsvn/uPortal/branches/working-3.2-urls/uportal-impl/src/test/resources/org/jasig/portal/url/xml/portalUrlTest.xsl?r=46634
[15:07:39 EST(-0500)] <EricDalquist> you don't have a extension-element-prefixes element in the xsl:stylesheet
[15:08:02 EST(-0500)] <EricDalquist> also you want to add
[15:08:03 EST(-0500)] <EricDalquist> exclude-result-prefixes="xalan portal"Â
[15:08:11 EST(-0500)] <EricDalquist> replace portal with resources
[15:08:20 EST(-0500)] <nickb> ah
[15:08:22 EST(-0500)] <EricDalquist> to fix that xmlns issue in your output
[15:08:47 EST(-0500)] <nickb> ah ha
[15:09:03 EST(-0500)] <nickb> now the method gets called!
[15:09:04 EST(-0500)] <nickb> great
[15:09:27 EST(-0500)] <nickb> however, it appears I can't use a String result
[15:09:43 EST(-0500)] <nickb> as the < and > get converted to < and >
[15:09:47 EST(-0500)] <EricDalquist> yeah
[15:09:50 EST(-0500)] <EricDalquist> that was my fear
[15:10:05 EST(-0500)] <EricDalquist> my guess
[15:10:08 EST(-0500)] <EricDalquist> you need to create a org.w3c.dom.DocumentFragment
[15:10:16 EST(-0500)] <EricDalquist> and build the XML element object model
[15:10:17 EST(-0500)] <EricDalquist> and return that
[15:10:33 EST(-0500)] <nickb> how can I create the conditional comments?
[15:11:32 EST(-0500)] <EricDalquist> comment is an XML node type
[15:12:14 EST(-0500)] <nickb> ah Node#COMMENT_NODE
[15:12:18 EST(-0500)] <EricDalquist> looking at the docs you may also be able to return org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, org.w3c.dom.Node or its subclasses
[15:12:39 EST(-0500)] <EricDalquist> so you could try creating a NodeList of <script> <link> and <!-- --> nodes
[15:14:00 EST(-0500)] <EricDalquist> I'd try a real simple test first
[15:14:05 EST(-0500)] <EricDalquist> of just creating one node
[15:14:09 EST(-0500)] <EricDalquist> just to make sure it works
[15:22:50 EST(-0500)] <EricDalquist> well I have to run but I'll be checking email and such
[15:22:55 EST(-0500)] <EricDalquist> later all
[16:23:00 EST(-0500)] * lennard1 (n=sparhk@ip68-98-56-21.ph.ph.cox.net) has left ##uportal
[16:36:55 EST(-0500)] <nickb> i've got another question - regarding XML and Java, specifically the method Element.getChildNodes()
[16:37:18 EST(-0500)] <nickb> is that method supposed to return itself along with the child Nodes?
[16:44:10 EST(-0500)] <athena> sorry, i have no idea
[16:44:23 EST(-0500)] <athena> hm
[16:44:29 EST(-0500)] <athena> i don't think it's supposed to
[16:45:58 EST(-0500)] <nickb> from the docs I don't think it's supposed to either
[16:57:37 EST(-0500)] <athena> but it's showing up?
[17:05:43 EST(-0500)] <nickb> i worked around it - instead of my xalan extension returning a NodeList, i've got it returning a DocumentFragment instead
[17:05:45 EST(-0500)] <nickb> works much nicer
[17:05:58 EST(-0500)] <nickb> so close now to UP-2505
[17:06:18 EST(-0500)] <nickb> the last piece of the puzzle is to identify the current theme in the StaticRenderingPipeline
[17:06:31 EST(-0500)] <nickb> and pass that as a parameter to the transformer
[17:07:45 EST(-0500)] <nickb> a different setback - initportal task fails (i noticed there were a lot of updates to trunk, so i figured i'd start from scratch)
[17:08:59 EST(-0500)] <athena> that's great that you're so close!
[17:09:11 EST(-0500)] <athena> hm, not sure about initportal failing
[17:09:20 EST(-0500)] <athena> i haven't done one in about two weeks
[17:09:23 EST(-0500)] <athena> what's it failing on?
[17:09:24 EST(-0500)] <nickb> src/main/resources/properties/contexts/flowsContext.xml, userLocaleHelper bean references a class that doesnt exist
[17:09:34 EST(-0500)] <athena> sounds like that's probably my fault
[17:09:50 EST(-0500)] <athena> looks like i checked in a piece more than i should have
[17:10:14 EST(-0500)] <nickb> i commented it out, i think it's moving forward
[17:10:23 EST(-0500)] <athena> oh good
[17:10:29 EST(-0500)] <athena> i'll make sure i get that resolved ASAP
[17:10:40 EST(-0500)] <athena> sorry about that!
[17:10:55 EST(-0500)] <nickb> no prob
[17:20:23 EST(-0500)] <nickb> here's another dilemma:
[17:20:48 EST(-0500)] <nickb> the code that does the aggregation is actually in the sandbox - maven-uportal-plugin
[17:21:13 EST(-0500)] <nickb> it uses JAXB to map the xml schema for skin resources to java objects
[17:21:28 EST(-0500)] <athena> oh, you added it to the existing plugin i'd written?
[17:21:31 EST(-0500)] <nickb> the problem - uPortal (uportal-impl specifically) also needs that same jar
[17:21:33 EST(-0500)] <nickb> yep
[17:21:38 EST(-0500)] <athena> cool
[17:21:39 EST(-0500)] <nickb> also needs those same classes ahem
[17:21:51 EST(-0500)] <nickb> for now, i've just copied them over....
[17:21:56 EST(-0500)] <athena> which classes?
[17:22:09 EST(-0500)] <nickb> org.jasig.portal.web.skin
[17:22:24 EST(-0500)] <nickb> we don't need all of them in uportal - only the JAXB annotated beans
[17:22:48 EST(-0500)] <nickb> ResourcesAggregator, the impl, and the Mojo only need to exist in the maven plugin
[17:22:58 EST(-0500)] <athena> ah
[17:23:15 EST(-0500)] <athena> i suppose maybe we could have a jar that's used by both?
[17:24:56 EST(-0500)] <nickb> i'd like to go in that direction, but that's a lot of overhead right now
[17:25:01 EST(-0500)] <nickb> the package is so small
[17:25:17 EST(-0500)] <athena> gotcha
[17:25:24 EST(-0500)] <athena> well, a working start is always good
[17:36:43 EST(-0500)] <nickb> i'd been working on the assumption that the skin xml file would sit along side the js and css files in the media directory...
[17:36:57 EST(-0500)] <nickb> but I'll need it to be on the classpath in order to be able to find it
[17:37:57 EST(-0500)] <nickb> unless there is a way in the XSL (e.g. universality) to point to the skin.xml file and resolve its location outside of the classpath
[17:40:13 EST(-0500)] <athena> i'm not really sure
[18:08:34 EST(-0500)] * nickb (n=Adium@76.201.148.161) has left ##uportal
[18:20:30 EST(-0500)] <athena> and for your friday infotainment, http://myspace.roflposters.com/images/rofl/myspace/1203217084319.jpg.%5Broflposters.com%5D.myspace.jpg
[22:31:21 EST(-0500)] * athena (n=athena@adsl-75-58-127-15.dsl.wlfrct.sbcglobal.net) has joined ##uportal