uPortal IRC Logs-2010-07-01
[08:13:24 CDT(-0500)] * michelled (~michelled@CPE001310472ade-CM0011aefd3ca8.cpe.net.cable.rogers.com) has joined ##uportal
[09:23:16 CDT(-0500)] * EricDalquist (~dalquist@2607:f388:e:0:221:9bff:fe37:e768) has joined ##uportal
[09:32:51 CDT(-0500)] * EricDalquist (~dalquist@2607:f388:e:0:221:9bff:fe37:e768) has joined ##uportal
[09:39:10 CDT(-0500)] * JoeMoore (89d88117@gateway/web/freenode/ip.137.216.129.23) has joined ##uportal
[09:41:20 CDT(-0500)] * holdorph (~holdorph@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[10:04:31 CDT(-0500)] * bsparks (~bsparks@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[10:12:01 CDT(-0500)] * lfuller (~sparhk@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[10:29:28 CDT(-0500)] * awills (~awills@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[11:15:41 CDT(-0500)] <EricDalquist> arg why oh why is XPathFactory and XPath not implemented in a thread-safe manner
[11:15:46 CDT(-0500)] <EricDalquist> they are rather expensive to create
[12:09:58 CDT(-0500)] * bsparks (~bsparks@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[13:37:43 CDT(-0500)] * bsparks (~bsparks@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[13:43:10 CDT(-0500)] * eronel (~lenoreram@cambozola.admin.duke.edu) has joined ##uportal
[14:03:57 CDT(-0500)] * bsparks (~bsparks@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[14:33:23 CDT(-0500)] <athena> EricDalquist: using quick search in jira gives this error:
[14:33:24 CDT(-0500)] <athena> javax.servlet.ServletException: No group 'uportal-doc-leads' found.
[14:33:30 CDT(-0500)] <EricDalquist> uhg
[14:33:32 CDT(-0500)] <EricDalquist> yeah
[14:33:37 CDT(-0500)] <athena>
[14:33:43 CDT(-0500)] <EricDalquist> I broke something doing groups cleanup
[14:33:49 CDT(-0500)] <EricDalquist> hopefully it will be fixed early next week
[14:34:36 CDT(-0500)] * jsumners (~jsumners@168.28.245.176) has joined ##uportal
[14:34:47 CDT(-0500)] <jsumners> hello again folks
[14:34:53 CDT(-0500)] <EricDalquist> hello
[14:34:59 CDT(-0500)] <jsumners> i have more questions
[14:35:05 CDT(-0500)] <EricDalquist> ok )
[14:35:10 CDT(-0500)] <EricDalquist> we'll see if we have more answers
[14:35:15 CDT(-0500)] <holdorph> 42
[14:36:58 CDT(-0500)] <jsumners> so the product i currently use is based on uPortal 2.5.3. it stores most of its information in LDAP, some of it in a database and some of it on the file system (e.g. channel contents). it's a real mess. what does uPortal do?
[14:37:53 CDT(-0500)] <EricDalquist> the portal framework and all the bundled portlet's store data in the database
[14:38:07 CDT(-0500)] <jsumners> excellent
[14:38:08 CDT(-0500)] <EricDalquist> it can pull in data from ldap, databases or other sources
[14:38:26 CDT(-0500)] <EricDalquist> what 3rd party portlets do is completely up to the portlet though
[14:38:35 CDT(-0500)] <jsumners> understood
[14:39:45 CDT(-0500)] <jsumners> are there documents describing the base uPortal database? e.g. diagrams and table descriptions?
[14:40:10 CDT(-0500)] <EricDalquist> unfortunately not really
[14:40:16 CDT(-0500)] <EricDalquist> and about 1/2 the tables are managed by hibernate
[14:40:26 CDT(-0500)] <EricDalquist> 1/2 are still done via low level JDBC code
[14:40:33 CDT(-0500)] <EricDalquist> that's one of the on-going projects
[14:40:37 CDT(-0500)] <EricDalquist> to slowly switch over to hibernate
[14:40:50 CDT(-0500)] <EricDalquist> what there is for 3.x are entity files
[14:40:58 CDT(-0500)] <EricDalquist> which are domain specific XML documetns
[14:41:07 CDT(-0500)] <EricDalquist> that contain almost all of the default data
[14:41:20 CDT(-0500)] <EricDalquist> and there are tools included with uPortal to import and export these documents
[14:41:40 CDT(-0500)] <EricDalquist> so the hope is you don't really ever need to look at the DB directly
[14:41:47 CDT(-0500)] <jsumners> my immediate concern is initially importing, and continuing to import, users and their roles
[14:42:29 CDT(-0500)] <holdorph> you can manage that with domain specific entity (XML) files
[14:42:52 CDT(-0500)] <jsumners> where can i read about that?
[14:44:50 CDT(-0500)] <EricDalquist> awills: do you have any links handy for that?
[14:45:29 CDT(-0500)] <holdorph> i can't find the same pages in the 3.2 manual
[14:45:37 CDT(-0500)] <holdorph> but in the 3.1 manual, these pages exist
[14:45:39 CDT(-0500)] <EricDalquist> yeah
[14:45:42 CDT(-0500)] <holdorph> https://wiki.jasig.org/display/UPM31/Exporting
[14:45:43 CDT(-0500)] <EricDalquist> that's the best for now
[14:45:49 CDT(-0500)] <holdorph> https://wiki.jasig.org/display/UPM31/Importing
[14:45:50 CDT(-0500)] <EricDalquist> the 3.2 manual is undergoing a re-build right now
[14:45:52 CDT(-0500)] <jsumners> i have noticed that with many pages in the 3.2 manual
[14:47:44 CDT(-0500)] <jsumners> hmmm, that document looks to be about exporting users and such from an existing uPortal instance. i want to bring users and roles in from our instance of Banner
[14:48:04 CDT(-0500)] <EricDalquist> so do you want to do manual population?
[14:48:11 CDT(-0500)] <EricDalquist> or have users provisioned upon login
[14:48:12 CDT(-0500)] <jsumners> yeah
[14:48:22 CDT(-0500)] <jsumners> manual populatin
[14:48:43 CDT(-0500)] <jsumners> which is why i would rather avoid XML
[14:49:04 CDT(-0500)] <holdorph> you create xml documents for the people you want to manually populate
[14:49:11 CDT(-0500)] <athena> we've talked about creating some useful REST services in the future, but it's not there yet
[14:49:11 CDT(-0500)] <holdorph> and then import those documents (people)
[14:49:14 CDT(-0500)] <EricDalquist> https://source.jasig.org/uPortal/tags/rel-3-2-1-GA/uportal-impl/src/main/resources/properties/db/entities/user/
[14:49:14 CDT(-0500)] <EricDalquist> https://source.jasig.org/uPortal/tags/rel-3-2-1-GA/uportal-impl/src/main/resources/properties/db/entities/group_membership/
[14:49:27 CDT(-0500)] <holdorph> there is no other supported way at the moment
[14:49:29 CDT(-0500)] <EricDalquist> those links have examples of user and group docs
[14:49:43 CDT(-0500)] <athena> you could always write something to automatically create XML files or even a big XML batch file based on your banner data though
[14:49:52 CDT(-0500)] <jsumners> i see. thank you
[14:50:04 CDT(-0500)] <athena> the alternative, though, would be that you could even configure uportal to get user and role data directly from banner in realtime
[14:50:17 CDT(-0500)] <jsumners> how?
[14:50:21 CDT(-0500)] <athena> most campus portals don't actually store user data in the portal itself - they get it from LDAP or some other user/group data source
[14:50:44 CDT(-0500)] <athena> in addition to configuring authentication/sso, uportal can be configured to collect user attributes and group information from remote sources
[14:50:57 CDT(-0500)] <athena> through the person directory API, for user attributes
[14:51:03 CDT(-0500)] <athena> and via the groups api
[14:51:32 CDT(-0500)] <athena> the LDAP implementations of those of those are probably the most commonly used, but if banner exposes data through an API, maybe you could write something against that?
[14:51:44 CDT(-0500)] <EricDalquist> https://mywebspace.wisc.edu/dalquist/web/JA-SIG/UWExamples/
[14:51:59 CDT(-0500)] <athena> yale's pulled fragment patch is in
[14:52:03 CDT(-0500)] <EricDalquist> so the personDirectoryContext.xml file is where uPortal is configured to load user attributes
[14:52:05 CDT(-0500)] <athena> now to write a patch for 3.2
[14:52:05 CDT(-0500)] <awills> This presentation has some additional notes on import/export: https://wiki.jasig.org/download/attachments/28574591/migrating-uP3.pdf?version=1&modificationDate=1277110532724
[14:52:22 CDT(-0500)] <EricDalquist> the example in that directory is very complex but it is what we're using here at madison
[14:52:35 CDT(-0500)] <EricDalquist> we pull data in from a main LDAP server, as well as several databases and a web service
[14:52:53 CDT(-0500)] <EricDalquist> all of which gets used when calculating group memberships and layouts
[14:54:30 CDT(-0500)] <jsumners> i see
[14:55:06 CDT(-0500)] <EricDalquist> so I'm not sure any of us have much Banner experience, but if you can figure out SQL to get user and group info out of banner
[14:55:11 CDT(-0500)] <EricDalquist> uPortal can consume that in real time
[14:57:29 CDT(-0500)] * EricDalquist wishes for time to revisit person directory and create a v2.0
[14:57:41 CDT(-0500)] <EricDalquist> that code could use some serious refactoring for simplifying configuration
[14:59:51 CDT(-0500)] <jsumners> so once i configure uPortal to pull user information from external sources, does it cache that information? or does it pull from the external sources every time a user logs in?
[15:00:15 CDT(-0500)] <EricDalquist> by default on every login
[15:00:21 CDT(-0500)] <EricDalquist> you would have to do some extra work to get longer term caching
[15:00:33 CDT(-0500)] <EricDalquist> generally the grouping/attributes are cached for the duration of a user's session though
[15:00:48 CDT(-0500)] <athena> w/ that you get good performance, but still make sure you get any updates to user accounts
[15:01:53 CDT(-0500)] <EricDalquist> all uPortal stores for a users generally is their username which is paired with a synthetic key
[15:02:09 CDT(-0500)] <EricDalquist> and then everything else (layouts, portlet preferences) is keyed off that synthetic id
[15:02:46 CDT(-0500)] <jsumners> that's good
[15:03:25 CDT(-0500)] <EricDalquist> yeah, it makes our lives easier when people's usernames change
[16:06:45 CDT(-0500)] <athena> we're not using annotations for bean wiring in 3.2 are we?
[16:09:17 CDT(-0500)] <EricDalquist> I don't think so
[16:09:58 CDT(-0500)] <athena> ok
[16:10:01 CDT(-0500)] <athena> that's what i thought
[16:40:29 CDT(-0500)] <athena> wow, this actually transferred over to 3.2 surprisingly well!
[16:40:44 CDT(-0500)] <athena> pulled fragment stuff works like magically on the first try
[16:40:49 CDT(-0500)] <EricDalquist> neat
[16:40:56 CDT(-0500)] <athena> yeah!
[16:41:03 CDT(-0500)] <EricDalquist> I'm getting closer to having this shib delegated auth stuff buttoned up too
[16:41:08 CDT(-0500)] <athena> great!
[16:41:09 CDT(-0500)] <EricDalquist> should be to the point of updating the docs tomorrow
[16:41:15 CDT(-0500)] <athena> awesome
[16:41:21 CDT(-0500)] <EricDalquist> and there will be a new release of the web proxy portlet to go along with it
[16:41:22 CDT(-0500)] <athena> was just about to talk about doc plans for this feature too
[16:41:25 CDT(-0500)] <athena> oh nice
[16:41:39 CDT(-0500)] <athena> i'm thinking maybe i add an entry to the uportal wiki
[16:41:45 CDT(-0500)] <EricDalquist> the only catchso far is requiring JDK6
[16:41:46 CDT(-0500)] <athena> and then we can re-use that content in the 3.3 manual?
[16:41:52 CDT(-0500)] <EricDalquist> for the new SOAP apis
[16:41:54 CDT(-0500)] <EricDalquist> yeah
[16:41:55 CDT(-0500)] <holdorph> any chance the new release of web proxy portlet will include relicensing and/or repackaging?
[16:42:08 CDT(-0500)] <EricDalquist> ah yeah I can probably do the license update
[16:42:27 CDT(-0500)] <EricDalquist> someone needs to write a tool for generating NOTICE files
[16:42:50 CDT(-0500)] <holdorph> touch ?
[16:42:58 CDT(-0500)] <holdorph>
[16:43:41 CDT(-0500)] <athena> they're such a horrific pain
[16:43:45 CDT(-0500)] <athena> i still haven't finished the uportal ones
[16:43:57 CDT(-0500)] <athena> i don't know what the hell license any of the sun stuff is under
[16:44:18 CDT(-0500)] <EricDalquist> yeah
[16:44:25 CDT(-0500)] <EricDalquist> the maven site gives you most of it actually
[16:44:39 CDT(-0500)] <EricDalquist> and if all maven libs declared licenses correctly a maven plugin could be written to do it
[16:45:01 CDT(-0500)] <athena> yeah
[16:45:06 CDT(-0500)] <athena> the problem of course is that they don't
[16:45:13 CDT(-0500)] <EricDalquist> yeah
[18:16:15 CDT(-0500)] * awills1 (~awills@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[18:16:42 CDT(-0500)] * bsparks (~bsparks@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[18:16:58 CDT(-0500)] * holdorph (~holdorph@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[18:21:36 CDT(-0500)] * bsparks (~bsparks@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[18:28:53 CDT(-0500)] * bsparks (~bsparks@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[19:04:02 CDT(-0500)] * Sememmon (~Sememmon@unaffiliated/sememmon) has joined ##uportal