March 28, 2011

Use Alfresco's Web Editor with Different HTTP Port Number

Alfresco's Web Editor is a Spring Surf application that can deployed next to an Java application that uses Alfresco's Web Quick Start. The Java application must be configured correctly to allow inline editing of content with the Web Editor. But also the Web Editor application must be configured to make it all work.

A common exception when logging in via the Web Editor Javascript login dialog is:

ERROR [/awe].[Spring Surf Dispatcher Servlet]  - Servlet.service() for servlet Spring Surf Dispatcher Servlet threw exception
     at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
     at org.springframework.extensions.surf.cache.ModelObjectCache.get(ModelObjectCache.java:82)
     at org.springframework.extensions.surf.cache.ModelObjectCache.get(ModelObjectCache.java:41)

If we have installed Alfresco and set the HTTP port for Alfresco to something else than port 8080, then we must also change the configuration for the Web Editor application. We can find the configuration in the following file: $ALFRESCO_HOME/tomcat/shared/classes/alfresco/web-extension/awe-config-custom.xml. We must open this file and add the following to the alfresco-config root element:

<config evaluator="string-compare" condition="Remote">
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require user authentication</description>

We must set a correct value for the endpoint-url element to reflect the servername and port number of our Alfresco installation. Once we have changed the file and saved our modifications we can restart the application server and we should be able to login in to Alfresco and use the Web Editor in our Java application.