uPortal IRC Logs-2011-02-01

[11:32:19 CST(-0600)] <b-rock> Greetings uPortal devs: Is the command line tool to delete a user from the system "ant deluser -Duser=someUserName" still usable in uPortal 3.2.2 or is there another preferred way to remove a user?
[11:47:06 CST(-0600)] <athena> hey EricDalquist - do you know how we might preserve the xmlns attributes on the html tag renderedby the uportal theme? we've run into some W3C validation problems because it's missing
[11:47:36 CST(-0600)] <EricDalquist> in trunk again?
[11:47:44 CST(-0600)] <EricDalquist> b-rock "ant crn-delete"
[11:47:48 CST(-0600)] <EricDalquist> check in the manual
[11:50:46 CST(-0600)] <athena> this is specifically in 3.2, actually, but it may be a problem both places
[11:51:34 CST(-0600)] <EricDalquist> 3.2 no idea
[11:51:45 CST(-0600)] <EricDalquist> somewhere is the custom serializer code
[11:52:55 CST(-0600)] <b-rock> oh ok. I'll try that. thanks.
[11:53:52 CST(-0600)] <athena> lol ok
[11:53:54 CST(-0600)] <athena> thanks eric (smile)
[11:54:15 CST(-0600)] <EricDalquist> in trunk ... I think it should carry through
[11:54:28 CST(-0600)] <athena> good to know
[11:54:29 CST(-0600)] <EricDalquist> I did switch us away from the XHTML declaration
[11:54:33 CST(-0600)] <EricDalquist> since that is a plain lie
[11:54:52 CST(-0600)] <EricDalquist> and it isn't actually XHTML unless we set the XHTML Content-Type response header
[11:54:58 CST(-0600)] <athena> ah
[11:55:06 CST(-0600)] <EricDalquist> the problem is if we do that the whole page fails to render if it is not 100% valid XML
[11:55:10 CST(-0600)] <athena> is it just content type or are there other things that we're not doing?
[11:55:13 CST(-0600)] <EricDalquist> which we cannot enforce on portlets
[11:55:15 CST(-0600)] <athena> oh, gotcha
[11:55:30 CST(-0600)] <EricDalquist> so with that in mind ... we can't reasonably do XHTML in uPortal
[11:55:32 CST(-0600)] <athena> are we declaring a schema then?
[11:55:53 CST(-0600)] <EricDalquist> I think in trunk it is doing html4 transitional
[11:56:21 CST(-0600)] <EricDalquist> in theory we could dynamically do xhtml if all the portlets on that page declare support for the xhtml content type
[11:57:39 CST(-0600)] <athena> gotcha
[11:57:41 CST(-0600)] <athena> that makes sense
[11:58:18 CST(-0600)] <EricDalquist> so really the fix in 3.2 is probably to switch to html4 transitional as well
[11:58:55 CST(-0600)] <EricDalquist> since that is what the browsers are treating it as
[11:59:16 CST(-0600)] <EricDalquist> because unless you explicitly set "application/xhtml+xml" as the response content type no browser will treat the page as XHTML
[12:00:27 CST(-0600)] <athena> gotcha
[13:18:23 CST(-0600)] <athena> oy.
[13:18:56 CST(-0600)] <athena> so we're getting complaints from the validator that it wants links to look like "link?param1=test&amp;param2=test"
[13:19:04 CST(-0600)] <athena> rather than "link?param1=test&amp;param2=test"
[13:19:17 CST(-0600)] <athena> er, rather than "link?param1=test&param2=test"
[13:20:35 CST(-0600)] <athena> does that really seem right?
[13:22:07 CST(-0600)] <EricDalquist> oh so it wants the & to be xml escaped
[13:22:16 CST(-0600)] <EricDalquist> what validation type are you doing?
[13:22:20 CST(-0600)] <EricDalquist> html4 for xhtml?
[13:22:24 CST(-0600)] <EricDalquist> er or
[13:22:44 CST(-0600)] <athena> HTML4 transitional, yes
[13:22:53 CST(-0600)] <EricDalquist> huh
[13:22:56 CST(-0600)] <athena> since it sounds like we dont' want to do XHTML, right?
[13:23:03 CST(-0600)] <athena> here's their comments: http://www.htmlhelp.com/tools/validator/problems.html#amp
[13:23:03 CST(-0600)] <EricDalquist> could be a bug in the portlet URL generation code
[13:23:31 CST(-0600)] <athena> suppose that makes sense for edge cases like lang, though honestly i bet most people just don't do this
[13:23:40 CST(-0600)] <EricDalquist> yeah
[13:23:54 CST(-0600)] <athena> so for our theme-generated links, i think we'd have to double-escape our url strings?
[13:24:08 CST(-0600)] <athena> they already have &amp;, but of course that becomes an & in the XSLT transformation
[13:24:20 CST(-0600)] <athena> and then we'd have to do something w/ all the c:url and portelt:url tags? :/
[13:24:38 CST(-0600)] <athena> if that's the case it might not be reasonable to change
[13:25:27 CST(-0600)] <EricDalquist> yup
[13:25:35 CST(-0600)] <EricDalquist> do all the links come out with &?
[13:25:38 CST(-0600)] <EricDalquist> or just the theme?
[13:26:03 CST(-0600)] <athena> all of them
[13:26:33 CST(-0600)] <EricDalquist> well portlet URls are controled by a single class
[13:26:36 CST(-0600)] <EricDalquist> so that is easy to change
[13:26:47 CST(-0600)] <athena> gotcha
[13:26:59 CST(-0600)] <athena> and then we still have the c:url tag to think about, potentially
[13:27:06 CST(-0600)] <athena> but at least a lot of the default stuff would follow it?
[13:27:49 CST(-0600)] <EricDalquist> yeah
[13:27:56 CST(-0600)] <EricDalquist> and I have no idea how that is done
[13:28:21 CST(-0600)] <EricDalquist> that doesn't delegate to any portal code
[13:28:29 CST(-0600)] <EricDalquist> though you can't really use it for much in a portlet
[13:33:42 CST(-0600)] <athena> yeah
[13:33:52 CST(-0600)] <athena> we use it sometimes for linking to stylesheets and images in the portlet
[13:33:54 CST(-0600)] <athena> that's about it
[13:34:05 CST(-0600)] <athena> and hopefully more and more of that is served up by the resource server
[13:34:11 CST(-0600)] <athena> and most of those things won't use urls
[13:34:19 CST(-0600)] <EricDalquist> yeah
[13:34:24 CST(-0600)] <EricDalquist> and those rarely have & in them
[13:35:21 CST(-0600)] <athena> right
[13:36:55 CST(-0600)] <athena> interesting.
[13:37:01 CST(-0600)] <athena> we're also getting stuff like this:
[13:37:02 CST(-0600)] <athena> <link href="view-source:http://localhost:8080/ResourceServingWebapp/rs/jqueryui/1.7.2/theme/smoothness/jquery-ui-1.7.2-smoothness.min.css" media rel="stylesheet" type="text/css">
[13:37:20 CST(-0600)] <athena> the interesting point being the lack of a value for the "media" attribute
[13:37:23 CST(-0600)] <EricDalquist> where is that view-source: from?
[13:38:03 CST(-0600)] <athena> up 3.2.x theme
[13:38:27 CST(-0600)] <EricDalquist> that's weirdf
[13:38:34 CST(-0600)] <athena> guess that's coming from the resource aggregator? maybe we need to be specifying media target in the XML for the skin or something?
[13:39:25 CST(-0600)] <athena> looks like the media attribute is defined in the XSD
[13:39:36 CST(-0600)] <athena> i can try adding a value for it and see what happens
[13:48:36 CST(-0600)] <athena> ok yep, that fixes it
[13:48:52 CST(-0600)] <athena> so probably we need to update the plugin to omit that attribute if it's not specified
[14:05:04 CST(-0600)] <athena> huh.
[14:05:20 CST(-0600)] <athena> so it looks like actually the rendering process is collapsing attributes with empty values
[14:05:41 CST(-0600)] <athena> so it's doing <input name="something" value=""/> -> <input name="something" value/>
[14:13:28 CST(-0600)] <athena> EricDalquist: any idea if that's in our code or a setting we need to change in the XSL?
[14:54:58 CST(-0600)] <EricDalquist> uhg that is probably an issue in the custom XML -> HTML serializer code
[14:55:58 CST(-0600)] <athena> that something you want me to take a look at?
[14:56:06 CST(-0600)] <EricDalquist> sure
[14:56:28 CST(-0600)] <athena> any pointers on where to start?
[14:56:40 CST(-0600)] <EricDalquist> thankfully in trunk we're no longer using that code
[14:56:41 CST(-0600)] <EricDalquist> um
[14:56:58 CST(-0600)] <athena> got the URLs all changed in 3.2 - i can check that in if we think it won't have any side effects
[14:57:07 CST(-0600)] <EricDalquist> org.jasig.portal.serialize.XHTMLSerializer
[14:57:19 CST(-0600)] <EricDalquist> and its parent classes
[14:57:29 CST(-0600)] <EricDalquist> I'm warning you now that it is NOT nice code
[14:57:31 CST(-0600)] <athena> do we use that for non-xhtml serialization as well?
[14:57:33 CST(-0600)] <athena> s'ok (smile)
[14:57:44 CST(-0600)] <EricDalquist> we use its parent HTMLSerializer
[14:57:46 CST(-0600)] <athena> gotcha
[14:57:48 CST(-0600)] <athena> ok (smile)
[14:57:51 CST(-0600)] <athena> i'll take a look
[14:57:55 CST(-0600)] <athena> thanks for the pointers
[14:58:24 CST(-0600)] <athena> will take a look and see if it's reasonable to troubleshoot
[15:17:30 CST(-0600)] <EricDalquist> getting rid of those classes was a big part of the motivation for the new rendering pipeline
[15:17:47 CST(-0600)] <athena> yeah i bet (smile)
[15:18:06 CST(-0600)] <athena> i was actually able to find the issue though - turned preserveEmptyAttributeValues back on for HTML
[15:18:22 CST(-0600)] <EricDalquist> nicwe
[15:18:23 CST(-0600)] <athena> don't see a way to easily configure that w/o just turning it on in the java, but i'm not sure that really matters?
[15:18:32 CST(-0600)] <athena> can't really imagine you'd want the other behavior
[15:19:06 CST(-0600)] <EricDalquist> yeah probably not
[15:20:13 CST(-0600)] <EricDalquist> I'm heading home early to avoid the snow storm ... catch everyone later