Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Multiples O3 Web con distinto L&F

Objetivo

En algunas circunstancias, es necesario poder ofrecer 2 o más entornos O3 Web, con Look & Feel totalmente diferentes para los distintos usuarios.

...

Esto se aplica a los Clientes Web de O3. En el caso de estar utilizando O3 Enterprise Portal, es posible crear distintos Portales utilizando los propios mecanismos de O3 Enterprise Portal.

Características del modelo propuesto

La forma de resolver el problema tiene las siguientes caracaterísticas:

  • El que ambos sitios (o entornos Web) comparten las mismas licencias, por lo cual los ususarios son el total de usarios del sistema.
  • Los 2 entornos comparten los cubos, pero es posible realizar una configuración alternativa, como se presenta más adelante en este mismo wiki.

Configuración

La solución consiste en hacer un deploy de un o3portal.war adicional (el nombre o3portal.war no debe confundirse con el componente O3 Enterprise Portal).

Cada war podrá ser configurado con su propio L&F y también acceder a modelos multidimensionales diferentes.

Procedimiento

Para lograr el objetivo debemos relalizas los siguiente pasos.

  1. Bajar el jboss
  2. Pararnos en <o3>/jboss/server/default/deploy/gserver/0o3.ear
  3. Copiar la carpeta o3portal.war en el mismo directorio con otro nombre ej:o3portal_2.war
  4. Copiar la carpeta o3cas.war en el mismo directorio con otro nombre ej:o3cas_2.war
  5. editar el archivo <o3>/jboss/server/default/deploy/gserver/0o3.ear/META-INF/application.xml.//
    Buscar
    Code Block
      <module>
        <web>
          <web-uri>o3portal.war</web-uri>
          <context-root>/o3portal</context-root>
        </web>
      </module>
    
    y agegar de modo que quede así
    Code Block
      <module>
        <web>
          <web-uri>o3portal.war</web-uri>
          <context-root>/o3portal</context-root>
        </web>
      </module>
      <module>
        <web>
          <web-uri>o3portal_2.war</web-uri>
          <context-root>/o3portal_2</context-root>
        </web>
      </module>
    
    Buscar
    Code Block
      <module>
        <web>
          <web-uri>o3cas.war</web-uri>
          <context-root>/cas</context-root>
        </web>
      </module>
    
    y agegar para que quede así
    Code Block
      <module>
        <web>
          <web-uri>o3cas.war</web-uri>
          <context-root>/cas</context-root>
        </web>
      </module>
      <module>
        <web>
          <web-uri>o3cas_2.war</web-uri>
          <context-root>/cas2</context-root>
        </web>
      </module>
    
  6. editar el archivo <o3>/jboss/server/default/deploy/gserver/0o3.ear/o3portal_2.war/WEB-INF/web.xml
    Buscar el filtro
    Code Block
    <filter>
    		<filter-name>checkLoginFilter</filter-name>
    		<filter-class>com.ideasoft.cs.ejb.cas.filter.CASFilter</filter-class>
    		<init-param>
    			<param-name>logout_url</param-name>
    			<param-value>/cas/logout</param-value>
    		</init-param>
    		<init-param>
    			<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
    			<param-value>${request.prefix}/cas/login</param-value>
    		</init-param>
    		<init-param>
    			<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
    			<param-value>${request.prefix}/cas/proxyValidate</param-value>
    		</init-param>
    		<init-param>
    			<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
    			<param-value>${request.serverName}</param-value>
    		</init-param>
    	</filter>
    
    cambiar por
    Code Block
    	<filter>
    		<filter-name>checkLoginFilter</filter-name>
    		<filter-class>com.ideasoft.cs.ejb.cas.filter.CASFilter</filter-class>
    		<init-param>
    			<param-name>logout_url</param-name>
    			<param-value>/cas2/logout</param-value>
    		</init-param>
    		<init-param>
    			<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
    			<param-value>${request.prefix}/cas2/login</param-value>
    		</init-param>
    		<init-param>
    			<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
    			<param-value>${request.prefix}/cas2/proxyValidate</param-value>
    		</init-param>
    		<init-param>
    			<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
    			<param-value>${request.serverName}</param-value>
    		</init-param>
    	</filter>
    
  7. editar el archivo <o3>/jboss/server/default/deploy/gserver/0o3.ear/o3portal_2.war/o3portal_2.war/logout.jsp
    Buscar
    Code Block
    
       if (isSSO) {
                      response.sendRedirect("/cas/logout?service=" + request.getContextPath());
              } else {
                      response.sendRedirect(request.getContextPath() + "/");
              }
    
    y cambiar por
    Code Block
    
       if (isSSO) {
                      response.sendRedirect("/cas2/logout?service=" + request.getContextPath());
              } else {
                      response.sendRedirect(request.getContextPath() + "/");
              } 
    
  8. reiniciar el jboss

Haciendo que los usuarios solo entren y vean en el portal correcto

Para lograr que un usario que solo debería ver los cubos de o3portal y no los de o3portal_2
procedemos a:

...