Drew,
Very nice. I know this feature has been asked for more than a few times.
+1 for inclusion of the link-to-tab feature in uPortal 2-6-patches
towards 2.6.2 and in uP3.
Please also update the uPortal Manual wiki space to document the feature
when you add it.
I'd also love to see that pretty-URL-to-tab-linking-URL filter included
in the core codebase.
Andrew
Drew Wills wrote:
Hey folks,
I've been asked by JHU to implement a "deep-linking" feature for their
portal: essentially, they want to be able to link directly to a
specific tab from another web application.
I have the sense that a lot of folks would be interested in this
feature. I know I've been asked about it several times. University
of Colorado System, for one, would like it very much.
I also learned that Pearson Education needs this feature -- in fact,
they implemented it. It's currently used in their production portal
that services large numbers of users.
What's more, I learned from a coworker at UNICON that Pearson had
already agreed to contribute this feature -- they were only waiting on
available bandwidth to get it done.
Rather than recreate this feature from scratch, I volunteered to be
the one to get it in. I've created a JIRA, with a patch attached:
- http://www.ja-sig.org/issues/browse/UP-1936
I've applied this patch to a local copy of rel-2-6-patches and
verified that it functions as expected.
When I first considered the issue I was worried that this enhancement
would be pretty invasive; it's actually very low-impact, as it turns
out.
Here are all the files (5 total) affected by the patch:
-properties\db\data.xml
-webpages\stylesheets\org\jasig\portal\channels\DLMUserPreferences\tab-column\default.properties
-webpages\stylesheets\org\jasig\portal\channels\DLMUserPreferences\tab-column\default.xsl
-webpages\stylesheets\org\jasig\portal\layout\DLM-tab-column\tab-column.xsl
-source\org\jasig\portal\channels\DLMUserPreferences\TabColumnPrefsState.java
In a nutshell, you enhance the DLMUserPreferences channel to support
CRUD operations on a specific folder attribute (stored ultimately in
UP_SS_USER_ATTS): "externalId"
Then, you enhance the DLM structure transformation to consume it where
appropriate (takes like 3 lines of XSL).
Lastly, you have to register the name "externalId" as a valid folder
attribute. This is the change to data.xml: it's one additional row
in the DB.
URLs that target specific tabs would look like this:
-http[s]://my-portal/render.userLayoutRootNode.uP?uP_sparam=activeTab&activeTab={externalId}
I think this is a compelling feature, and I'd very much like to get it
into the product.
Thoughts? Anyone else interested in this enhancement?
drew wills
PS: JHU also has a great idea for writing a ServletFilter that could
map to URLs like this one:
- http[s]://my-portal/{externalId}
and translate them to the format shown above. I'm sure they'll be
happy to contribute that as well.
--
You are currently subscribed to [email protected] as: [EMAIL
PROTECTED]
To unsubscribe, change settings or access archives, see
http://www.ja-sig.org/wiki/display/JSG/uportal-dev