Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Channel self-focusing

You can focus the channel via a request parameter: uP_root=me

When you want to "unfocus", use uP_root=root

Examples:

<a href="{$baseActionURL}?uP_root=me">Focus me</a>
<form name="Focus me" action="{$baseActionURL}">
  <input type="hidden" name="uP_root" value="root"/> 
   ... 
</form> 

Thanks to Ken Weiner for providing this information on the JASIG-PORTAL list.

Motivation

You might want to have links outside your portal link into your uPortal, through login, to a channel in focus mode.
This is how Yale University delivers its Network Registration channel.

Examples

Documentation

Implementation

This is accomplished by a modification to LoginServlet to collect the parameters:

 public void doGet (HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException {
  	if (log.isTraceEnabled()){
  		log.trace("entering doGet(" + request + "...)");
  	}
  	
  	/* Grab the target functional name, if any, off the login request.
  	 * Really we should lookup the key in a properties file.
  	 * If this parameter is set, we will pass it along after authentication.
  	 */
  	String targetFname = request.getParameter("uP_fname");
  	String targetArgs = request.getParameter("uP_args");

And then some code to put these parameters on the redirect to the uPortal session management servlet.

  // Check to see if the person has been authenticated
    if (person != null && person.getSecurityContext().isAuthenticated()) {
    	String redirectTarget = null;

			if (targetFname == null){
				redirectTarget = request.getContextPath() + "/" + redirectString;
			} else {
				redirectTarget = request.getContextPath() + "/" +
				"tag.idempotent." +  redirectString + "?uP_fname=" + targetFname;
				if (targetArgs != null) {
				redirectTarget = redirectTarget + "&uP_args=" + targetArgs;
				}
			} 
    	
			if (log.isTraceEnabled()){
				log.trace("person [" + person + "] is authenticated.  " +
                    "Redirecting to PortalSessionManager servlet at [" 
                        + redirectString + "] with a complete redirect target " +
                        "of [" + redirectTarget + "]");
			}
    	
      response.sendRedirect(redirectTarget);
    }
  • No labels