uPortal IRC Logs-2011-03-31
[09:27:03 CDT(-0500)] <rickard> How do I manually deploy a portlet to a uPortal instance? I don't have the uPortal source on the server, so I can't run "ant deployPortletApp".
[09:27:18 CDT(-0500)] <rickard> "The "deployPortletApp" target runs the portlet Deployer tool. This tool takes a portlet WAR file, rewrites the web.xml file and deploys the results to the servlet container."
[09:27:42 CDT(-0500)] <rickard> Just copying the .war to webapps doesn't seem to work. There appears to be something else involved.
[09:36:54 CDT(-0500)] <athena1> the deploy portlet app task runs the maven pluto plugin on it
[09:36:57 CDT(-0500)] <athena1> which changes the web.xml
[09:37:24 CDT(-0500)] <athena1> that's done differently for different portals and different uportal versions, which is why we include that as a step from the portal side, rather than from the portlet
[09:37:42 CDT(-0500)] <rickard> Ok. Can I do that "manually"? I don't want to have to put the uPortal source on our production server just to be able to deploy new versions of portlets.
[09:37:56 CDT(-0500)] <athena1> yes, you could add the pluto plugin to your project
[09:38:03 CDT(-0500)] <athena1> maybe even make it an optional profile or something
[09:38:22 CDT(-0500)] <rickard> My project meaning the eclipse portlet project?
[09:39:09 CDT(-0500)] <athena1> yeah
[09:39:20 CDT(-0500)] <rickard> Hmm, ok.
[09:39:30 CDT(-0500)] <rickard> How does everyone else do this?
[09:39:46 CDT(-0500)] <athena1> just remember that once you've run the pluto plugin as part of a build, you don't want to run it through ant deployPortletApp
[09:39:48 CDT(-0500)] <athena1> bunch of ways
[09:39:54 CDT(-0500)] <athena1> some people do install the source on the server
[09:40:06 CDT(-0500)] <athena1> but there are a lot of different strategies
[09:40:22 CDT(-0500)] <rickard> Can you deploy a portlet via the import/export portlet?
[09:40:57 CDT(-0500)] <rickard> Nevermind. Our server people probably won't do that.
[09:41:00 CDT(-0500)] <athena1> i did some work with yale a couple years ago to create a strategy where they check out a very small one-file project on the server, then run maven goals from it to download portlets from a local repository and deploy them
[09:41:03 CDT(-0500)] <athena1> no, you can't
[09:41:10 CDT(-0500)] <athena1> we've talked about developing that as a dev tool
[09:41:20 CDT(-0500)] <athena1> but it probably wouldn't work well in a clustered environment, among other things
[09:41:28 CDT(-0500)] <rickard> Ok
[09:42:53 CDT(-0500)] <rickard> We have about 40 different in-house portlets so modifying all those eclipse projects isn't exactly tempting. Maybe putting the source on the production server is the best way after all. Or just doing an scp copy from the test server.
[09:51:36 CDT(-0500)] <athena1> you might check out the uportal maven plugin
[09:51:49 CDT(-0500)] <athena1> that's the thing that yale's using to deploy portlets on the server
[09:52:01 CDT(-0500)] <athena1> so they have a really small maven project that's basically just a pom file
[09:52:36 CDT(-0500)] <athena1> and then they run a deploy-portlet command that takes arguments for the portlet artifactId, groupId, and version
[09:52:52 CDT(-0500)] <athena1> then that pulls the portlet from a local maven repo
[09:53:15 CDT(-0500)] <athena1> (they deploy configured portlets to the repo w/ classifiers indicating the environment)
[09:54:44 CDT(-0500)] <rickard> Ok, I will. Thanks.
[09:55:23 CDT(-0500)] <rickard> Question number two. Is there any way to completely disable the mobile theme?
[09:58:58 CDT(-0500)] <athena1> yeah, just edit the browser mappings file so that that's never mapps
[09:58:59 CDT(-0500)] <athena1> er, mapped
[10:00:50 CDT(-0500)] <athena1> browser.mappings
[10:21:25 CDT(-0500)] <rickard> athena1: Thanks. Found it.
[10:22:05 CDT(-0500)] <rickard> Question number three. Any problems running multiple uPortal instances on one tomcat?
[12:05:17 CDT(-0500)] <athena1> rickard: i probably wouldn't recommend it
[12:05:35 CDT(-0500)] <athena1> it could work technically, but you'd have to rename each web context for the second uportal
[12:05:42 CDT(-0500)] <athena1> so uportal, cas, and all the deployed portlets
[12:05:53 CDT(-0500)] <athena1> EricDalquist: any ideas what would cause this?
[12:05:53 CDT(-0500)] <athena1> No queryBuilder was generated for query {given=
[12:05:54 CDT(-0500)] <athena1> [student]}, null will be returned
[12:06:07 CDT(-0500)] <EricDalquist> ?
[12:06:17 CDT(-0500)] <athena1> message from the person directory ldap
[12:06:43 CDT(-0500)] <athena1> clearly have something configured wrong, but not quite sure what
[12:06:43 CDT(-0500)] <EricDalquist> is "given" configured as a queryable attribute?
[12:07:09 CDT(-0500)] <athena1> well, i can match on it for other attribute sources
[12:07:25 CDT(-0500)] <athena1> only get that for ldap
[12:07:45 CDT(-0500)] <athena1> do i have to specifically configure that for ldap?
[12:07:46 CDT(-0500)] <EricDalquist> can you pastebin the ldap config?
[12:07:55 CDT(-0500)] <athena1> was just using the default from the manual
[12:08:18 CDT(-0500)] <EricDalquist> link?
[12:08:28 CDT(-0500)] <athena1> https://wiki.jasig.org/display/UPM32/LDAP+User+Attribute+Sources
[12:08:56 CDT(-0500)] <EricDalquist> in the queryAttributeMapping
[12:09:02 CDT(-0500)] <athena1> so if that's still valid configuration, i'm sure i've probably just misconfigured something for the server, but i'm not sure what that means
[12:09:06 CDT(-0500)] <EricDalquist> you need to list given
[12:09:22 CDT(-0500)] <athena1> ah ok
[12:09:30 CDT(-0500)] <EricDalquist> only attributes listed in that block can be used to run queries
[12:09:34 CDT(-0500)] <athena1> that makes sense
[12:09:37 CDT(-0500)] <athena1> oh!
[12:09:38 CDT(-0500)] <athena1> i see
[12:09:52 CDT(-0500)] <EricDalquist> rickard: so in theory you can have multiple uportal intances in one tomcat
[12:09:54 CDT(-0500)] <athena1> we didn't have to configure that in the local account store because that implementation automatically just returns all known attributes
[12:09:59 CDT(-0500)] <EricDalquist> but I don't know anyone that has tested that
[12:10:04 CDT(-0500)] <athena1> thanks - wasn't sure why it would be different
[12:10:22 CDT(-0500)] <athena1> i think the multiple uportals in one tomcat would work, but would be really frustrating from a deployer perspective
[12:10:36 CDT(-0500)] <EricDalquist> well the problem is how pluto behaves
[12:10:57 CDT(-0500)] <EricDalquist> when a portlet app starts up it calls into a static API for one of the pluto jars in shared/lib
[12:11:09 CDT(-0500)] <EricDalquist> that is how the portal knows what portlet apps are available
[12:11:29 CDT(-0500)] <EricDalquist> in theory that should behave if you have multiple uportals because they have unique portlet container names based on uportal's context path
[12:11:37 CDT(-0500)] <EricDalquist> in practice ... I doubt anyone has ever done that
[12:11:53 CDT(-0500)] <EricDalquist> so there very realistically could be problems with how pluto deals with it
[12:12:04 CDT(-0500)] <athena1> hm, interesting
[12:12:40 CDT(-0500)] <EricDalquist> yeah
[12:12:51 CDT(-0500)] <EricDalquist> the portlet container is really quite complex
[12:12:59 CDT(-0500)] <EricDalquist> in dealing with all the inter-app communication stuff
[12:13:14 CDT(-0500)] <EricDalquist> since none of that is really built in to the servlet spec very well
[12:13:57 CDT(-0500)] <EricDalquist> the portlet spec doesn't say how to actually implement a container
[12:14:16 CDT(-0500)] <EricDalquist> and pluto tries to do it as best it can and still be servlet container agnostic
[12:52:56 CDT(-0500)] <athena1> ok, EricDalquist - one more ldap person directory question
[12:53:01 CDT(-0500)] <EricDalquist> ok
[12:53:15 CDT(-0500)] <athena1> is there a way to get it to match on a partial value?
[12:53:26 CDT(-0500)] <athena1> like i search for "eric" and it matches against your full name?
[12:53:27 CDT(-0500)] <EricDalquist> use a *
[12:53:32 CDT(-0500)] <athena1> ah ok
[12:53:36 CDT(-0500)] <athena1> so just add that into my search query
[12:53:40 CDT(-0500)] <athena1> thanks!
[12:53:41 CDT(-0500)] <EricDalquist> the various DAOs will change that to the impl specific version
[12:53:48 CDT(-0500)] <athena1> yeah
[12:53:52 CDT(-0500)] <EricDalquist> like the DB one will switch to using a LIKE with %
[12:53:57 CDT(-0500)] <athena1> we'll have to think about how to handle it form the search interface
[12:54:15 CDT(-0500)] <EricDalquist> yeah
[13:41:59 CDT(-0500)] <athena> thinking we might need to add something to the person directory api to represent wildcards
[13:42:19 CDT(-0500)] <EricDalquist> yeah I'd really like to re-work that api
[13:42:34 CDT(-0500)] <EricDalquist> and actually use a criteria builder type model for searching
[13:42:46 CDT(-0500)] <EricDalquist> so the client could specify and/or/not/wildcard logic
[13:46:07 CDT(-0500)] <athena> yeah
[14:00:34 CDT(-0500)] <athena> ok, so ChannelPublishingDocuments
[14:00:47 CDT(-0500)] <athena> i suppose we might as well rename that, since we're killing channels
[14:01:08 CDT(-0500)] <athena> PortletPublishingDocument? PortletPublishingConfiguration?
[14:22:18 CDT(-0500)] <rickard> athena: Thanks for answering the question about multiple uportal instances on one tomcat. Seems like a bit of a nightmare, so I guess we'll stay away from that.
[14:22:36 CDT(-0500)] <rickard> Anyone running uPortal on jboss?