You are here

Creating a new Luminus window at runtime

Submitted by dmathison2 on Thu, 04/29/2010 - 13:10

I didn't see anything addressing this so I decided to make a new topic.

I have a channel that contains links. When the link is clicked, a new page is supposed to open that can have sections of the page be moved around like channels on luminus.

My questions are: Is there someway that luminus can do this? and If not, what could I use?



Luminis Version:

Could you explain it further? Are you asking if you can create a link that pops up an area of a Luminis session? target=_blank? Or are you asking about the content/layout area of Luminis and whether that can be popped up to move channels?

We have done two things that may be the same.

1) when the link is clicked, it uses javascript to open a window and displays a Luminis channel in focussed mode (same as when you press the maximise square in the channel icons) - we would use this for a feedback channel where the questions ask for a user to navigate to search for something in the portal. If you use the same window then you lose the feedback when you navigate. Also, when we do this we put an <a name="topOfFeedback">&nbsp;</a> in the channel content so that we can scroll past the Portal top banner.
(that might not have made sense, it must be Friday)

2) when the link is clicked, it uses target="_blank" and launches a jsp served by luminis. The jsp has access to the session, so it can populate things using java objects (normally this is for roles, username etc) - we use this for a direct link to our payment system, auto-posting form data including the student number and username.

We have tried a third variant, using the detatched mode - but cannot find a way of getting the url correctly formed. Not sure whether the detatched mode is now a luminis / uPortal myth.

University of Leeds, UK

After a night to think about it. Here is the situation:

I am moving pieces of a legacy system to Luminis. There was some prior work for the HR department the client fell in love with it. It uses an entire tab with multiple channels to display all of the information. This client has expressed a strong desire to use this format as the standard for all departments moving from legacy to Luminis. Here's the catch, the client does not want a lot of tabs. They want a channel of links to different departments but when the link is clicked, the information for that department will display in the same way as the prior work on the HR department, with multiple channels, and will go away when the user doesn't want it anymore.

I hope that clears it up some. Please post any more questions if you have them.

So, you want to have a link that will launch a luminis tab - but you do not want to have the tab visible to users when they are not using that tab?

Or you want to open a focussed channel that IFrames the original HR department website?

It is probably possible to do either of those.

University of Leeds, UK

What about creating all the tabs as subscribable fragments? Then when a link is clicked, it would run some code to subscribe the user, and pop it up. Then js unbeforeunload that popup would unsubscribe the tab.

Seems like a lot of work for the effect though. It would be kinda sluggish for users too.

If I had to do it, I'd probably make a bunch of iframe channels, one for each department, and implement the "channel list" channel and use the preview functionality as my set of links. You could make the iframe content look like channels just by formatting html/css if you want I guess. If this content needs to be edited by users, it might get trickier though.

It has been a while since I played with it, but the "channel list" channel (but , when you click a link to a channel, will open the channel in focused mode. That would simulate opening a tab for a department: click the link to channel "HR", and it would open an iframe of HR stuff in focused mode.

Could there be a way to have a tab list instead of a channel list? The format they want has multiple channels within one tab. They want a tab per department but don't want to see them all the time. I have tried IFrames but IE8 doesn't like them. Maybe its my system but it doesn't want to support them.

This should fix your ie8 iframe issues if you want to go the Iframe route.

If simulating the look of channels in a focused Iframe isn't enough for your users, then you'd have to use fragments I think.

The only way to temporarily open a tab without it being part of your regular layout, is by using subscribable fragments. (that I know of)

You'd have to make a js link to open say, HR, like this:
a href="openFragment(HR);">HR

Then that function openFragment would have to open a popup, do ajax calls from the popup to 'content/layout', possibly to the 'fragment' button on the content layout page, and then call the subscribe link, and lastly http get the HR fragment URL into the popup.

This would be a similar sequence to what the drag and drop themes on this site do for channels. Ajax calls to content/layout, ajax calls to the 'add channel' button, etc..

Whole lot of work to try to turn the portal into essentially an intranet site if you ask me. It really isn't designed to have 50 tabs simulating department pages. I don't envy you:)

let me give you an update of the situation. I have successfully been able to do most items but one item, render a Targeted Content Channel has been elusive. I am getting an error every time I try to render :
file:/opt/luminus/webapps/luminis/WEB-INF/uPortal/org/jasig/portal/layout/tab-column/nested-tables/$skin/custom.xsl; Line #0; Column #0; java.lang.NullPointerException

Does anyone know what that means?