Recent uPortal Contributions from Johns Hopkins
Over the past few months, I've had the pleasure, once again, of working with Johns Hopkins University on their uPortal system. This effort reinforced my earlier conclusions about the folks at JHU: talented people with great attitudes.
One of the things I appreciate so much about their attitude is their eagerness to contribute their innovations back to open source. We did a lot of good work together, and I'm excited to see the portal framework enhancements we developed make their way back to the community. Here is a quick look at the specific contributions, listed by JA-SIG JIRA ticket number, arising from this work.
UP-2085 (A Fix for Importing Entity Types)
In the Import/Export tool, Entity Type records were correctly created in the database, but their corresponding Java objects did not exist in memory; this situation lead to problems wherever Import/Export relied (based on configuration choices) on technologies that, in turn, relied on Entity Types. We improved this tool by having it create Entity Type objects in memory as well as database records.
UP-2097 (An Enhancement to Importing Channel Types)
For uPortal 3.0, the portlet-channel adaptor class changed. Portlet-based channel types exported from earlier versions of uPortal, however, were (correctly) referencing the old adaptor class. We enhanced this tool to detect the old adaptor class and update it, automatically, to the new one.
UP-2117 (An Enhancement to DLM)
For years, uPortal adopters have praised the fact that the Distributed Layout Manager (DLM) implementation gracefully removes channels that a user isn't authorized to render from fragments (tabs) the user has in his layout. This behavior saves portal administrators from having to create and maintain multiple versions of the same fragment: one for normal users, and one (or more) that contain extra, administrative tools for those who are authorized to use them. We extended this cool behavior to the Header and Footer regions of the layout.
UP-2118 (A Portlet for DLM Fragment Administration)
Editing the content that appears on a fragment (tab) managed by Distributed Layout Manager (DLM) requires you to log in to the portal as a "fragment owner" account: a special user who's layout becomes the content of a fragment. Historically, administrators had to know a set of credentials for each fragment owner, and had to enter them manually whenever they wanted to change a fragment. We created a portlet that appears in the layout of users who are authorized to edit fragments. Using the portlet, users simply select a fragment (from a list tailored to them) and press a button to "become" the fragment owner account associated with that fragment. When they're done, they simply click "exit" to become themselves again.
Looking Ahead
The four items above are things we contributed as the work at Johns Hopkins was ongoing. But there were several other items we had hoped to contribute; as so often happens, our time became very limited as the deadline approached. It's a shame when compelling new features or important bug fixes don't make it back into open source projects either because the developers don't know how to contribute them or because they can't make the time to do it. Diverse groups of people sharing their innovations is how open source succeeds, it's what JA-SIG and uPortal are all about.
Thankfully, the Unicon Cooperative Support Program is stepping up to help me make these contributions a reality. I'm working with Charise Arrowood, the Director of Cooperative Support, to secure the time and energy necessary for this effort.
Here's a quick summary of what's in store:
UP-2133 (SmartLdapGroupStore in uPortal)
This is a technology we actually developed previously at JHU. It allows uPortal to see and use groups of people that are maintained in an LDAP directory. You can read all about it on this wiki page. A number of people have contacted me about this item, and it makes sense to add it to the uPortal project formally.
WPP-11 (Use 'strip-cdata-delims')
This item is actually an enhancement to the JA-SIG WebProxy Portlet, which was developed and contributed by UW Madison, as are all the items that begin with "WPP-" below. This enhancement removes CDATA delimiters from <script> elements in proxied content, which interfere with JavaScript in the browser.
WPP-12 (Standard Maven group-id)
The WebProxy Portlet uses a non-standard <group-id> -- "org.jasig" -- and should be changed to use the <group-id> employed by other JA-SIG Portlets: "org.jasig.portlet"
WPP-13 (Dynamic Portlet Titles)
On each rendering, the WebProxy Portlet currently sets it's title to whatever was defined for it in portlet.xml, which is normally "Authenticated Web Proxy." This title is almost certainly less helpful (and desired) than the title provided by an administrator at publish time. This enhancement prevents the portlet from setting the title, allowing the published title to appear instead.
WPP-14 (Fix 'disabled' Property)
The property that disables clipping in the WebProxy Portlet is read incorrectly, with the result that "off" turns the feature on and vice versa. This enhancement corrects that behavior.
UP-2134 (Include WebProxy Portlet)
This enhancement provides that the WebProxy Portlet should be included with uPortal out-of-the-box. It also describes two Channel Publishing Documents (CPDs): one with all options available, and a second one with few options for simplicity.
GAP-34 (SmartLdapGroupStore in GaP)
UP-2133 (above) gets the SmartLdapGroupStore into uPortal, but the future of Groups & Permissions in uPortal is the stand-alone JA-SIG GaP Project. This JIRA ticket covers adding SmartLdapGroupStore to that project as well.
- Andrew Wills's blog
- Login or register to post comments
