Drew,
I recently wrote a proof-of-concept dlm processor that will link someone
directly to a maximized version of a portlet. At the time, I was
thinking... it would be easy to do something similar to navigate folks
directly to a tab, or if you had anchors above each portlet, you could
navigate them there as well.
We are in the middle of a significant roll-out project right now, but I
would be happy to discuss this with you as time allows.
Tim
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