Change or Die

Posted December 15th, 2006 in Commentary by jayshao

http://www.fastcompany.com/magazine/94/open_change-or-die.html

Kotter has hit on a crucial insight. “Behavior change happens mostly by speaking to people’s feelings,” he says. “This is true even in organizations that are very focused on analysis and quantitative measurement, even among people who think of themselves as smart in an MBA sense. In highly successful change efforts, people find ways to help others see the problems or solutions in ways that influence emotions, not just thought.”

Between this and reading Blink (Malcolm Gladwell) it’s been a bit of an eye-opener in terms of decision making. While I’ve known for a while that car-buying for instance ends up being a mostly emotional process, you really have to wonder if that’s in fact true of all decision making. I’m increasingly a convert to the thought that when our analytical side gets overwhelmed with choice or information, we basically make emotionally guided decisions. It may feel somewhat arbitrary, but there’s just an upper limit to the amount of analysis you can dedicate to any particular problem.

uP3 Day 6: More Layouts & GAPS

Posted December 15th, 2006 in Portals by jayshao

Published lots of portlets… edited lots of data.xml… really need a publishing tool. :) Faizan’s been struggling all day without to much traction working on getting GAPS working – looks like some kinks between the updated PersonDirectory code and changes Dan’s been making on GAPS as the API evolves. I saw he posted last night a new build that looks like it should be able to take a legacy PAGS config – may be worth giving it one more try, though I think we’re inclined to move on to other bits, and maybe do our testing without groups configured – maybe just prepopulated users in local groups.

uP3 Day 5: More Person Directory & Data.xml Channel Publishing

Posted December 15th, 2006 in Portals by jayshao

Faizan’s PersonDirectory changes didn’t seem to take on my machine — not sure why, maybe the UserAttributesPortlet got patched, and I don’t have the most current version? I think he started looking at GAPS at home, but was running into some problems.

I’m still looking at migrating our template user into the portal framework. For this testing run, I think we’ll just be entering definitions directly into data.xml, though if we had more than 2 weeks and were developing towards a pilot/real deployment I’m pretty sure it would be worth writing a portlet publishing tool. Once Eric oriented me on the portlet domain model, the db was straightforward, though the Portlet API’s support for layered, multivalued preferences make it more complicated than similar facilities in uP2.

uP3 Day 4: PersonDirectory & Portlet Publishing

Posted December 12th, 2006 in Portals by jayshao

Faizan got PersonDirectory working — after several updates and IRC exchanges with Eric. So uP3 now hits Rutgers LDAP to retrieve a mapping of our person attributes. Hard to test since the Portlet spec makes you explicitly declare the user attributes a portlet recieves. Probably privacy friendly, though writing a “show me all the attibutes” portlet is harder. Hmm… webproxy a JSP that calls the PersonDirectory service directly?

Published a couple of sample portlets (again after much wrangling with the provided UI and an interchange with Eric). The Pluto/Portlet view of the Universe makes sense in a convoluted manner, but probably needs to be hidden more closely from the user and maybe even administrator. It seems like administrator roles should be separate enough that they get a dropdown list of the deployed “portlet applications” and just deal straightaway with defining subscribe-able portlets. That and clicking on hyperlinks to do stuff/submit forms feels very odd to me and took a while to get.

Continue Reading »

uP3 Day 3: More Person Directory, Publishing, & CVS

Posted December 11th, 2006 in Portals by jayshao

Eric posted new PersonDirectory code which we updated to try to get — so we’re now running on changeset 2877, not RC1. Sometimes, CVS is just plain evil. Now performing the 3rd import. All kinds of issues with missing files due to default .cvsignore rules -I ! is your friend.

Not such a productive day, but what can you do. Tried looking at layouts in uP3. Portlet publishing & subscription have… interesting… approaches to UI (sorry Eric). I couldn’t for the life of me figure out how to publish a new portlet through the UI – though Eric walked me though to getting it work eventually (I think – got the nasty exception below afterwards, so not sure.) Think I’m going to end up just adding entries to data.xml – faking publishing by putting the records straight into the DB. Speaking of the db, something about seeing big XML documents inside database fields makes me cringe — though I guess enough mainline DBs support XML as a datatype that maybe I should get over it.

org.jasig.portal.core.exception.UndeclaredPortalException: {0}
... 43 more
Caused by: java.lang.NullPointerException

uP3 Day 2: Oracle & Users

Posted December 8th, 2006 in Portals by jayshao

Well, only got a couple of hours today to crack on uP3, but did manage to get it running on Oracle. After fixing the dbLoader thing, today it looks like everything is working (numerous restarts and cleans later). So, then went to add some users, which requires… manual SQL.

Adding users required inserting rows into:

UP_USER, USERS, AUTHORITIES, GAP_GROUP_MEMBER

Ended up editing data.xml and gap-init.xml to ensure my added people stay next time I blow away the database. There’s only one template user right now, configured in the uP2.xml context file — but Eric said copying permissions isn’t implemented yet. Also not sure if auto-creating users has been implemented yet. And passwords are stored in the db in the clear.

So… a few rough edges. Course once I inserted a few rows, the users went in, and it cheered my heart (in a sick way) to see that the default 4,14 groups for developers and admin are still the same. Faizan was trying to get PersonDirectory wired up — he *thinks* it may be in, but isn’t sure, and him and Scott were poring over trying to get ACEGI configured to authenticate with CAS. I think they were making progress, but got some kind of error with the securityContext — maybe a whitelist issue?

Also, PersonDirectory doesn’t yet pass attributes to portlets (next week?) — hopefully there’s enough there to get GAP up and running with PAGS groups.

I think next is continued work on PD & GAPS, trying to get some sample layouts published (hopefully not through editing data.xml) and possibly an initial port of the RU theme.

uP3 Day 1: Download & Install

Posted December 7th, 2006 in Portals by jayshao

Downloading uP3 quickstart was easy enough. Faizan exported RC1 from SVN and imported it into our CVS repository. build.properties seems not to have made it — maybe some kind of .cvsignore filter he had on Eclipse when he did the initial checkin.

Tried hooking up to Oracle, ran into problems… Spent 30 min or so until I figured out that DBLoader probably has some more string sniffing for particular DB configs — it does. /portal/properties/db/dbLoaderContext.xml

Especially seems to be a problem with Oracle cause of all the ways their dbVersion string very — not sure if Oracle does that for products, or if it’s convention for DBAs.

Eric was saying most of uP3 dev has been against HSQL, so there could be Oracle bugs. Spent like 2 hours overall looking at the DB reconfig – got the version string matched correctly, and the app starts up, but going to the uP3 rendering context still produces errors when trying to load up the ‘renderingAttributeProviders’ beans. Going to look at it with Eric tomorrow.

JA-SIG Projects in Action

Posted December 5th, 2006 in Portals by jayshao

John Lewis from Unicon talked about open-source in Universities. Higher Ed has an extremely complex, dynamic, organizational structures. uPortal has grouping and other mechanisms which are more sophisticated than other projects, battle tested for large and sophisticated higher-ed deployments. CAS was one of the first systems, has features like Proxy Auth that no one else has, and is widely adopted — integrated into commercial and other frameworks like ACEGI. Hypercontent – why another CMS? Hypercontent separates content management from presentation, CAS enabled, reuses uPortal GAP, portlet content & management tools. Continue Reading »

Cornell Notification System (KEN)

Posted December 4th, 2006 in Commentary by jayshao

Project looking to provide a super-inbox for important notifications. Using the Kuali Enterprise Notification service – again use cases look a lot like the myRutgers Alert system. Actually, sounds like the vision of our alerts combined with announcements combined with other things.

  • avoid the overloaded email box
  • integrated with workflow
  • user & group addressing
  • audit trail

I wonder – sounds like creating basically a Institution email type messaging box. Are users going to use a separate box? Staff probably, but students? The range of events sound like they could generate a high noise ratio.

Continue Reading »

OpenEAI

Posted December 4th, 2006 in Commentary by jayshao

OpenEAI is about integration, out of U. Illinois, open source. Sample enterprise (reference model) with gateways to link applications into the bus and serices provided by the bus. Some of the functions (authoritative user accounts, finding names) sound very IDM like. The sample enterprise has a quickstart-like distribution that can run all of the services & db on a laptop or box.

“OpenEAI Enterprise Self Service” application provides an example of working with multiple services through the ESB. ESB enforce security, AuthZ, filtering, ordering/authoritative sources, etc. “Talk to the bus, not point-to-point service integration.”

Account Creation – logged into uportal account which propagates changes across the bus to other applications. SelfService portal creates a user on the bus if the user doesn’t exist yet.  Sakai gateway then creates a Sakai account for the user to login once the person exists on the bus. Password synchronization passed across the bus. Authoritative sources produce sync messages to other services to notify for updates, etc. Sync messages are consumed by a routing service to broadcast messages to – routing information & rules put into the bus.