cancel
Showing results for 
Search instead for 
Did you mean: 

Navigation Rules for Login Page

marctsg
Champ in-the-making
Champ in-the-making
I am trying to replace the default Alfresco login page with a customized one.  I have added a web-client-config-custom.xml to my extension folder and managed to override the page that is first displayed.

However, the login/logout buttons on the titlebar still point to the original Alfresco login page.  I have tried to override the navigation rules by modifying the faces-config-custom.xml located in WEB-INF with the rest of the faces configs.  These are its contents:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
                              "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>

   <!– *************************************************************** –>
   <!– Empty JSF config file to prevent errors being thrown during JSF –>
   <!– initialisation. Overwrite this file with your custom version.   –>
   <!– *************************************************************** –>
      <!– override rule to get back to the login page from anywhere –>
   <navigation-rule>
      <from-view-id>/jsp/*</from-view-id>
      <navigation-case>
         <from-outcome>logout</from-outcome>
         <to-view-id>/jsp/connectsite/login.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
         <from-outcome>relogin</from-outcome>
         <to-view-id>/jsp/relogin.jsp</to-view-id>
      </navigation-case>
   </navigation-rule>

      <navigation-rule>
      <from-view-id>/jsp/connectsite/login.jsp</from-view-id>
      <navigation-case>
         <from-outcome>success</from-outcome>
         <to-view-id>/jsp/browse/browse.jsp</to-view-id>
      </navigation-case>
   </navigation-rule>
  
</faces-config>

I have researched the forums and the WIKI and can't seem to get a definitive answer on whether this is the right way or not.  Some sources claim that it is necessary to override this in web-client-config-custom.xml, but I can't find any source defining the namespaces used in sample portions of web-client-config-custom.xml.

Can someone please point me in the right direction?  Thanks!
2 REPLIES 2

gavinc
Champ in-the-making
Champ in-the-making
JSF has different rules for overriding depending on what it is you are overridding!

For navigation rules you have to define your overridden ones before ours, to do this you need to place the config in a faces-config.xml file in a META-INF folder inside a JAR file. See this wiki page for details: http://wiki.alfresco.com/wiki/Packaging_And_Deploying_Extensions

marctsg
Champ in-the-making
Champ in-the-making
Thank you, this resolved the problem perfectly.  I re-named my faces-config-custom.xml to faces-config.xml and packaged it in the META-INF folder of my jar file, dropped it in and it worked!  A very annoying aspect of JSF, I should say!   Smiley Tongue