I think I have this figured out. Mentioning this in case anyone was
about to invest a bunch of effort into digging into this, so I can save
you the trouble, but I still appreciate the thought. :)
I'll have an update to the pull request and a more substantive reply to
this email in a bit.
Andrew
On 2/21/14, 5:47 AM, Andrew Petro wrote:
Anyone else implemented rendering a *fragment* "in focus mode"? Or
want to look at my implementation and show me how to make it less
painful? :)
# Background:
Favorites introduces a concept of layout folders of
@type="favorite_collection" rather than the @type="regular" that marks
plain-old-normal-layout-tabs. Such layout folders are real DLM
managed fragments, are "in the layout" of the users to whom they apply
(for whom they are activated when the relevant DLM audience evaluator
matches). But because their @type is goofy, they're not rendered as
regular-old-tabs and normally users don't see them.
Users are intended to access them via the new Favorites portlet and to
select new curated such collections for favoriting via the new
Marketplace portlet in an experience that will probably be analogous
to subscribable fragments (which subscribable fragments currently come
in as regular old tabs).
When a user clicks on the name of a favorite collection in the
Favorites portlet, the portal needs to render that fragment mostly as
if it were @type="regular", and as if it were the only tab in the
layout. We're focusing in on a fragment that the user normally
doesn't see at all.
So, I've got an implementation of this that sort of works. Pull
request here, with lovely screenshots:
https://github.com/Jasig/uPortal/pull/230
# How this solution needs to improve
As I continue to try out this solution, I'm learning that it would be
a lot better to re-purpose the folder-name in the uPortal URL for this
rather than introducing a new parameter. In the case where the folder
name matches a regular-old-tab, then the current behavior of
"activating" that tab and rendering the dashboard with that tab
selected. In the case where it matches a non-regular fragment, render
that fragment focused.
Anyone have hints on how I'd go after that approach rather than what I
did? I looked into it but got tangled up where it seems to be
translating the identifier into the index of the activated tab, which
of course doesn't quite work when the targeted folder isn't a regular
tab and so doesn't end up having an index, and that seemed to be just
enough to prevent the just-use-the-folder-name approach from getting
the id of the desired-for-focus fragment to show up as a parameter to
the structure transform where it could do some good.
Andrew
--
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