uPortal IRC Logs-2011-04-28
[09:17:50 CDT(-0500)] <mklein21005> im looking to integrate moodle with uPortal using the Basic LTI Portlet. However, I can't figure out how to download the portlet. Anyone know where I can download the portlet / get instructions on how to use the portlet with Moodle?
[10:08:16 CDT(-0500)] <mklein21005> java -jar basiclti-portlet-1.1-sources.jar
[10:08:21 CDT(-0500)] <mklein21005> haha woops
[10:08:59 CDT(-0500)] <EricDalquist> better than pasting in a password ... did that in twitter once
[12:56:05 CDT(-0500)] <EricDalquist> debugging classic ASP code for another group ... yay
[14:54:26 CDT(-0500)] <athena> just realized i've been off irc all day
[14:54:29 CDT(-0500)] <athena> but woo, weather portlet
[15:01:40 CDT(-0500)] <EricDalquist> yeah
[15:01:47 CDT(-0500)] <EricDalquist> we just remember we need to switch to the updated version
[15:01:56 CDT(-0500)] <EricDalquist> also ... I've spent most ofd the day reading classic ASP code
[15:01:59 CDT(-0500)] <EricDalquist>
[15:02:28 CDT(-0500)] <athena> eeeeeep
[15:02:29 CDT(-0500)] <EricDalquist> trying to help fix a slow portlet
[15:02:35 CDT(-0500)] * athena will be back soon, picking up takeout
[15:02:43 CDT(-0500)] <EricDalquist> the 'web service' we call is classic asp and it does:
[15:02:43 CDT(-0500)] <EricDalquist> search for all documents for user x
[15:02:44 CDT(-0500)] <EricDalquist> for each doc
[15:02:44 CDT(-0500)] <EricDalquist> for each year 2009:2011
[15:02:44 CDT(-0500)] <EricDalquist> for each month 1:12
[15:02:44 CDT(-0500)] <EricDalquist> search for doc & year & month
[15:02:57 CDT(-0500)] <EricDalquist> so if you have 100 documents that's 1800 queries
[15:14:07 CDT(-0500)] <athena> oh jeez
[15:14:08 CDT(-0500)] <athena> ouch.
[15:14:55 CDT(-0500)] <EricDalquist> yup
[15:15:12 CDT(-0500)] <EricDalquist> this is a document storage system that as far as I can tell can only give you the document id and title
[15:15:52 CDT(-0500)] <athena> brilliant
[15:16:00 CDT(-0500)] <EricDalquist> so if you want other indexed info you resort to stuff like that
[15:16:10 CDT(-0500)] <EricDalquist> and I get to try and figure out better ways to do it
[15:16:28 CDT(-0500)] <EricDalquist> best idea so far is:
[15:16:28 CDT(-0500)] <EricDalquist> for each year 2009:2011
[15:16:28 CDT(-0500)] <EricDalquist> search for all documents for user x in year y
[15:16:28 CDT(-0500)] <EricDalquist> for each doc
[15:16:28 CDT(-0500)] <EricDalquist> for each month 1:12
[15:16:29 CDT(-0500)] <EricDalquist> search for doc & year & month
[15:16:29 CDT(-0500)] <EricDalquist> 3 * 33 * (12 / 2) = 594
[15:16:32 CDT(-0500)] <EricDalquist> 1/3 the queries
[15:16:35 CDT(-0500)] <EricDalquist> still A LOT though
[15:17:43 CDT(-0500)] <athena> yeah
[15:18:01 CDT(-0500)] <EricDalquist> reading through the ASP docs to see if there are any better ways of doing this
[15:19:30 CDT(-0500)] <athena> that's pretty rough
[15:19:47 CDT(-0500)] <athena> especially since that's so easily fixable normally
[15:22:56 CDT(-0500)] <EricDalquist> yeah
[15:23:10 CDT(-0500)] <EricDalquist> its an old old windows based document print/storage system
[15:23:24 CDT(-0500)] <EricDalquist> and its now getting WAY more load than it was originally designed for
[15:23:30 CDT(-0500)] <EricDalquist> plus the code is ... iffy
[15:26:42 CDT(-0500)] <athena>
[15:56:35 CDT(-0500)] <athena> does the portal know what it's base url is?
[15:56:42 CDT(-0500)] <athena> like can i get that programmatically somewhere?
[15:58:29 CDT(-0500)] <EricDalquist> ?
[15:58:32 CDT(-0500)] <EricDalquist> in trunk?
[15:58:50 CDT(-0500)] <athena> yeah
[15:59:02 CDT(-0500)] <athena> the url service creates urls starting with /uPortal, right?
[15:59:25 CDT(-0500)] <EricDalquist> yeah
[15:59:31 CDT(-0500)] <athena> ok
[15:59:37 CDT(-0500)] <athena> if that's all there is i can inject a property
[15:59:43 CDT(-0500)] <EricDalquist> just a sec ...
[15:59:46 CDT(-0500)] <athena> ok
[16:01:56 CDT(-0500)] <EricDalquist> athena: what you want to call is IPortalUrlProvider.getDefaultUrl(request)
[16:02:02 CDT(-0500)] <EricDalquist> which gives you a IPortalUrlBuilder
[16:02:13 CDT(-0500)] <EricDalquist> and then just call getUrlString() on that
[16:02:23 CDT(-0500)] <EricDalquist> and you'll have the "default" url for that user in the portal
[16:02:27 CDT(-0500)] <athena> ah, terrific!
[16:02:42 CDT(-0500)] <athena> so that includes the full context, etc?
[16:06:30 CDT(-0500)] <athena> hm, kinda looks to me like these all start at the context?
[16:06:54 CDT(-0500)] <EricDalquist> yes that will get you a URL you can just stick in the href=""
[16:07:01 CDT(-0500)] <EricDalquist> all encoded and everything
[16:07:18 CDT(-0500)] <athena> i'm looking for something that starts with http://portal.blahblahblah
[16:07:28 CDT(-0500)] <athena> so the full url, rather than just starting with /uPortal
[16:07:30 CDT(-0500)] <EricDalquist> ohh
[16:07:32 CDT(-0500)] <EricDalquist> hrm
[16:07:54 CDT(-0500)] <athena> i can inject a property - i just wanted to make sure i hadn't missed a service that could already provide that
[16:08:01 CDT(-0500)] <EricDalquist> that could be added as an option to the UrlSyntaxProviderImpl
[16:08:09 CDT(-0500)] <EricDalquist> so you could add a setter there
[16:08:12 CDT(-0500)] <athena> ok
[16:08:15 CDT(-0500)] <athena> sounds reasonable
[16:08:15 CDT(-0500)] <EricDalquist> to toggle full URL support
[16:08:27 CDT(-0500)] <athena> makes sense
[16:08:28 CDT(-0500)] <EricDalquist> and then at the end of the generateUrl method
[16:08:39 CDT(-0500)] <EricDalquist> check than and add the server info from the request
[16:08:46 CDT(-0500)] <athena> yeah, that sounds reasonable
[16:09:26 CDT(-0500)] <EricDalquist> actually the UrlStringBuilder that is used to generate the url has protocol, host and port support
[16:09:35 CDT(-0500)] <EricDalquist> so you just need to check that flag and then call those 3 setters
[16:09:48 CDT(-0500)] <EricDalquist> and the UrlStringBuilder will take care of the actual string building bits
[16:12:18 CDT(-0500)] <athena> ok
[16:27:49 CDT(-0500)] <athena> so nice that i can generate a url w/ portlet parameters via the API
[16:27:52 CDT(-0500)] <athena> much better than doing it by hand
[16:28:04 CDT(-0500)] <EricDalquist>
[16:28:26 CDT(-0500)] <athena> this account reset stuff is really going to need a real API in the future
[16:28:29 CDT(-0500)] <EricDalquist> yeah and then it just automagically follows whatever syntax helper is being used etc
[16:28:30 CDT(-0500)] <athena> kind of one-off
[16:28:36 CDT(-0500)] <athena> but hopefully we can clean it up for a future release
[16:28:39 CDT(-0500)] <athena> yeah
[16:54:42 CDT(-0500)] <rickardatwork> I just tried to deploy Simple RSS Portlet, but I'm getting a stacktrace.
[16:55:03 CDT(-0500)] <rickardatwork> Caused by: java.lang.IllegalArgumentException: addChild: Child name 'simple-rss-portlet' is not unique
[16:56:21 CDT(-0500)] <EricDalquist> I bet it got run through the portlet deployer twice
[16:56:35 CDT(-0500)] <EricDalquist> and there are dupe entries in the portlet's web.xml
[16:56:55 CDT(-0500)] <rickardatwork> Hmm
[16:57:13 CDT(-0500)] <athena> yes, i think all the portlets out of ANU have been pre-plutofied
[16:57:31 CDT(-0500)] <athena> would love to see them in jasig svn so we can clean up a few details like that
[16:57:33 CDT(-0500)] <rickardatwork> In other words, I should use ant deployPortletApp?
[16:57:49 CDT(-0500)] <athena> you should, but you'll also need to pull out the pre-plutofication in the app's web.xml
[16:57:58 CDT(-0500)] <rickardatwork> Aha
[16:59:53 CDT(-0500)] <rickard> http://pastebin.com/vuS9mFas
[16:59:56 CDT(-0500)] <rickard> Which parts would that be?
[17:00:16 CDT(-0500)] <rickard> Everything except display-name?
[17:15:01 CDT(-0500)] <athena> the servlet and servlet-mapping
[17:15:04 CDT(-0500)] <athena> sorry, was in a meeting
[17:15:47 CDT(-0500)] <rickard> No problem. Thanks.
[17:16:56 CDT(-0500)] <athena> yep!
[17:20:37 CDT(-0500)] <rickard> Now it deploys fine, but the config mode stuff never appears in portlet manager. It's as if it doesn't support config mode.
[17:21:34 CDT(-0500)] <athena> what version of uportal is this in?
[17:22:07 CDT(-0500)] <rickard> 3.2.4
[17:22:22 CDT(-0500)] <athena> does the portlet.xml file have config mode listed as a supported mode?
[17:22:27 CDT(-0500)] <rickard> Yup
[17:22:34 CDT(-0500)] <athena> not sure then
[17:22:41 CDT(-0500)] <rickard> Ok
[17:23:22 CDT(-0500)] <rickard> "No configuration is required. Simply drop the WAR into Tomcat and register it via the Portlet Manager. The WAR is preconfigured with the Pluto invoker, you can just drop it in and go."
[17:23:48 CDT(-0500)] <rickard> Oh well. I'll e-mail the author and see what he has to say.
[17:24:51 CDT(-0500)] <athena> sounds like a plan
[17:25:15 CDT(-0500)] <athena> we actually don't recommend that portlets be preconfigured w/ the pluto invokers, since that means they're tied to a specfic portal implementation / version of uportal
[17:28:16 CDT(-0500)] <holdorph> you're not the first person to mention that, btw
[17:28:28 CDT(-0500)] <holdorph> laura was complaining about the basic lti portlet on the email list of the same problem
[17:28:34 CDT(-0500)] <holdorph> can't get to configure mode
[17:32:11 CDT(-0500)] <rickard> That's the same guy who wrote the rss portlet.
[17:32:24 CDT(-0500)] <rickard> Who did the basic lti portlet, that is.
[17:32:51 CDT(-0500)] <athena> yep
[17:33:07 CDT(-0500)] <rickard> I've sent him an e-mail. Lets see what happens.
[17:33:09 CDT(-0500)] <athena> just so you're aware, there's actually a different RSS portlet that's being distributed w/ uportal 4
[17:35:32 CDT(-0500)] <holdorph> i wonder what has more tools for accessing it, RSS or Twitter.
[17:35:44 CDT(-0500)] <holdorph> seems like there are dozens for both
[17:40:28 CDT(-0500)] <athena> indeed
[17:41:10 CDT(-0500)] <rickard> athena: I didn't know that. uportal 4? Isn't 3.3 the next version?
[17:41:36 CDT(-0500)] <holdorph> thankfully jasig's admitted the next version will be 4, not 3.3
[17:41:45 CDT(-0500)] <holdorph> it's the same code, just called something different
[17:42:22 CDT(-0500)] <athena> indeed
[17:42:47 CDT(-0500)] <athena> the 3.3 release has been renamed 4 in recognition of the fact that JSR-286 + the dropping of channel support is a big update
[17:43:56 CDT(-0500)] <rickard> Aha
[17:44:03 CDT(-0500)] <rickard> Makes sense.
[17:44:24 CDT(-0500)] <rickard> Is there an expected release date?
[17:44:41 CDT(-0500)] <holdorph> the future?
[17:44:46 CDT(-0500)] <holdorph>
[17:47:04 CDT(-0500)] <rickard>
[17:47:42 CDT(-0500)] <rickard> By the way, registering the RSS portlet as a portlet type instead of the custom RSS type works. Then the config mode stuff appears.
[17:48:22 CDT(-0500)] <holdorph> that was also mentioned by laura on the portlet-user mailing list, sorry didn't mention that earlier.
[17:49:00 CDT(-0500)] <rickard> No problem. I dug up her post when you mentioned it.
[17:49:10 CDT(-0500)] <athena> rickard - if you're looking for something that will be compatible w/ the up4 release you might thinka bout whether you want the simple rss portlet or the bundled-in-up4 news reader portlet
[17:49:31 CDT(-0500)] <rickard> athena: I hear ya.
[17:49:51 CDT(-0500)] <rickard> I just wanted the simplest possible portlet that displays an RSS feed.
[17:49:55 CDT(-0500)] * athena nods
[17:50:14 CDT(-0500)] <holdorph> it's not like steve's won't work in uPortal 4, though
[17:50:20 CDT(-0500)] <athena> the news reader one actually includes a single-feed view that's pretty simple
[17:50:41 CDT(-0500)] <holdorph> so both are compatible to the upgrade
[17:50:44 CDT(-0500)] <athena> would love to see if there are opportunities to combine any improvements the new rss portlet has into the bundled project
[17:50:52 CDT(-0500)] <athena> true, it'll still work
[17:51:10 CDT(-0500)] <rickard> uPortal 4 feature request: Being able to push different tabs and "channels" depending on locale. Right now, for example, I need to display the english feed for international students and the swedish feed for swedish students.
[17:51:26 CDT(-0500)] <holdorph> "(03:49:16 PM) athena: rickard - if you're looking for something that will be compatible w/ the up4 release..." i think makes it sound like steve's won't though.
[17:52:23 CDT(-0500)] <rickard> As far as I know, that just isn't possible in 3.2.
[17:52:25 CDT(-0500)] <athena> sorry.
[17:52:40 CDT(-0500)] <athena> hmm
[17:52:52 CDT(-0500)] <athena> i think you might be able to do it rickard if you can expose the locale as a user attribute
[17:53:06 CDT(-0500)] <athena> would have to look at the DLM evaluators API
[17:53:25 CDT(-0500)] <athena> if your user accounts happen to indicate which users are which, it'd be really easy
[17:53:34 CDT(-0500)] <athena> otherwise might take a bit of custom code
[17:53:41 CDT(-0500)] <rickard> Unfortunately, they don't.
[17:53:57 CDT(-0500)] <athena> ahhh
[17:54:20 CDT(-0500)] <holdorph> what locale are you going to use then, just the browser locale?
[17:54:25 CDT(-0500)] <athena> looks like it should be really straightforward to write one rickard
[17:54:31 CDT(-0500)] <athena> take a look at the Evaluator API
[17:54:43 CDT(-0500)] <athena> that determines if a fragment should be included for a particular IPerson
[17:54:43 CDT(-0500)] <rickard> holdorph: No, the one they pick using the user-locale-selector
[17:54:47 CDT(-0500)] <athena> then look at LocaleManager.java
[17:55:03 CDT(-0500)] <athena> that'll give you the locale for a particular IPerson object
[17:55:11 CDT(-0500)] <athena> so should be able to create a new LocaleEvaluator
[17:55:24 CDT(-0500)] <athena> if you do end up writing that, i think we'd love to distribute that w/ uportal
[17:56:33 CDT(-0500)] <rickard> In other words, I would create a new Evaluator that I can use in dlm.xml to push fragments to users with a particular locales?
[17:56:36 CDT(-0500)] <rickard> -s
[17:57:13 CDT(-0500)] <rickard> BRB
[17:58:50 CDT(-0500)] <athena> yep
[18:01:32 CDT(-0500)] <rickard> Ok. Makes sense. The only issue it that they want to go live tomorrow
[18:01:57 CDT(-0500)] <rickard> They'll have to wait.
[18:02:15 CDT(-0500)] <athena> that i'm afraid i can't help with
[18:02:23 CDT(-0500)] <athena> though hopefully it should be a pretty straightforward update
[18:02:23 CDT(-0500)] <rickard>
[18:02:31 CDT(-0500)] <rickard> Yup
[18:16:25 CDT(-0500)] <holdorph> rickard: it might help if you reply to that thread, so steve knows laura isn't the only one experiencing the problem
[18:20:48 CDT(-0500)] <steveswinsburg> hello
[18:30:22 CDT(-0500)] <holdorph> hey steve
[18:30:29 CDT(-0500)] <steveswinsburg> hey cris
[18:33:13 CDT(-0500)] <holdorph> that was quick