cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco 3.4b + Liferay 5.2.3 Integration Problem

cbaus_8800
Champ in-the-making
Champ in-the-making
Hallo,

da dies mein erster Post hier im Forum ist, hoffe ich mal ich bin an der richtigen Stelle gelandet 🙂

Vielleicht etwas zur Vorgeschichte, ich bin Informatik-Student und möchte meine Bachelor-Thesis gerne über Content-Management schreiben.

Im meinem beruflichen Werdegang habe ich mich schon etwas in Alfresco eingearbeitet. LDAP Anbindung, Transforms für OCR, Workflow's und ähnliches…


Für meine Thesis möchte ich eine Integration von einem Portal-System mit einem CMS implementieren. Hier ist meine Wahl auf Alfresco und Liferay gefallen. Meine Recherchen haben ergeben, dass Liferay 6 aktuell (noch) nicht unterstützt wird, deshalb hab ich erstmal ein Liferay 5.2.3 rangezogen.

Grundsystem ist ein Ubuntu 10.04 mit MySQL 5 und aktuellem Java6.

Nach der Grundinstallation mit dem Alfresco 3.4.b Installer habe ich also Liferay entpackt und installiert. In beiden System besteht ein Benutzer mit gleichem Benutzernamen, Email, Passwort.

Alfresco habe ich gemäß folgenden Howto's konfiguriert.
- http://wiki.alfresco.com/wiki/Install_Tomcat6 (Vorbereitung wegen Tomcat6)
- http://wiki.alfresco.com/wiki/Doclib_Portlet (Hier sind alle Einstellungen korrekt gesetzt!!)

Nach dem kopieren der share.war in das Liferay deploy dir, hab ich beide Systeme gestartet. Starten verläuft auch problemlos ohne Fehlermeldungen.

Binde ich jetzt über das Liferay Portal die Alfresco Portlets ein kommt im Liferay Frontend folgende Fehlermeldung:

Portlet is temporarily unavailable.


Im Liferay Error-Log kommt folgendes:


20:35:51,514  ERROR [[localhost].[/share].[Spring Surf Dispatcher Servlet]] Servlet.service() for servlet Spring Surf Dispatcher Servlet threw exception
org.springframework.extensions.surf.exception.UserFactoryException: Unable to create user - failed to retrieve user metadata:
   at org.springframework.extensions.surf.support.AlfrescoUserFactory.loadUser(AlfrescoUserFactory.java:168)
   at org.springframework.extensions.surf.support.AbstractUserFactory.initialiseUser(AbstractUserFactory.java:176)
   at org.springframework.extensions.surf.support.AbstractUserFactory.initialiseUser(AbstractUserFactory.java:99)
   at org.springframework.extensions.surf.RequestContextUtil.initialiseUser(RequestContextUtil.java:202)
   at org.springframework.extensions.surf.RequestContextUtil.populateRequestContext(RequestContextUtil.java:175)
   at org.springframework.extensions.surf.RequestContextUtil.populateRequestContext(RequestContextUtil.java:130)
…….


Ich hoffe jemand hat einen Tip für mich was ich noch probieren kann…


Vielen Dank schonmal für eure Antworten!


lg
Chris
6 REPLIES 6

bwerner
Champ in-the-making
Champ in-the-making
Hi Chris,

Das kann an der <external-auth> liegen.
In der Authentication chain hast Du es ja eingetragen, soweit ich es Deinen Angaben entnehmen kann.
Hast Du <external-auth> im alfresco endpoint in der share-config-custom.xml auf true gesetzt, bzw. die Kommentierung der Sektion aufgehoben?

Viele Grüße,
Bernhard

cbaus_8800
Champ in-the-making
Champ in-the-making
Hallo Bernhard,

hier mal der Inhalt meiner share-custom-config.xml

<alfresco-config>
  
   <!– Repository Library config section –>
   <config evaluator="string-compare" condition="RepositoryLibrary" replace="true">
      <!–
         Whether the link to the Repository Library appears in the header component or not.
      –>
      <visible>true</visible>
   </config>

   <config evaluator="string-compare" condition="Remote">
      <remote>
         <endpoint>
            <id>alfresco-noauth</id>
            <name>Alfresco - unauthenticated access</name>
            <description>Access to Alfresco Repository WebScripts that do not require authentication</description>
            <connector-id>alfresco</connector-id>
            <endpoint-url>http://localhost:8180/alfresco/s</endpoint-url>
            <identity>none</identity>
         </endpoint>

         <endpoint>
            <id>alfresco</id>
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require user authentication</description>
            <connector-id>alfresco</connector-id>
            <endpoint-url>http://localhost:8180/alfresco/s</endpoint-url>
            <identity>user</identity>
         </endpoint>
<!–
       <connector>
         <id>alfrescoCookie</id>
         <name>Alfresco Connector</name>
         <description>Connects to an Alfresco instance using cookie-based authentication</description <class>org.springframework.extensions.webscripts.connector.AlfrescoConnector</class>
       </connector>
–>
         <endpoint>
            <id>alfresco-feed</id>
            <name>Alfresco Feed</name>
            <description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
            <connector-id>http</connector-id>
            <endpoint-url>http://localhost:8180/alfresco/s</endpoint-url>
            <basic-auth>true</basic-auth>
            <identity>user</identity>
         </endpoint>
      </remote>
   </config>

</alfresco-config>


PS: Den connector Eintrag habe ich auskommentiert. Beim Starten des Tomcat bekam ich hier einen parse-error….

Diesen Bereich habe ich in der alfresc-global.properties ergänzt. Ich hatte den Fehler vorher schon einmal da allerdings mit LDAP Anbindung. Deshalb hab ich erstmal auf lokale Benutzer umgestellt!!


authentication.chain=alfrescoNtlm1:alfrescoNtlm,external1:external
external.authentication.proxyUserName=




/// EDIT ///

Ich hab mir jetzt mal noch ein "alfresco-community-3.3" installiert. share.war ist noch die gleiche, allerdings auch die Fehlermeldung 😉
10:26:48,409 ERROR [PortletServlet:104] javax.portlet.PortletException: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.extensions.surf.exception.UserFactoryException: Unable to retrieve user from repository


/// EDIT 2 ///

Auch mit der share.war aus dem Alfresco 3.3 kommt die gleiche Fehlermeldung…
10:30:41,225 ERROR [PortletServlet:104] javax.portlet.PortletException: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.extensions.surf.exception.UserFactoryException: Unable to retrieve user from repository


/// EDIT 3 ///

Mal so eine Frage zwischendurch Smiley Happy woher weiß den Liferay überhaupt wie es mit dem Alfresco kommunizieren soll?

Bis jetzt habe ich ja nur Sachen in Alfresco editiert und nur eine gepackte WAR nach Liferay kopiert…

Recherchen gehen weiter Smiley Happy

bwerner
Champ in-the-making
Champ in-the-making
Hallo Chris,

Bleib lieber mal bei 3.4a.
Zu deinem Edit 3:
Die Infos kommen aus der share-config-custom.xml. Hier muss Du also eintragen wo Dein Alfresco Repo läuft. Deshalb auch die Anpassungen für Tomcat 6.

Den Connector solltest Du wieder einkommentieren. Dort fehlt nur ">" nach  </desciption

Der alfresco endpoint sollte so aussehen (vorausgesetzt localhost / port etc. stimmen)
<endpoint>
            <id>alfresco</id>
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require user authentication</description>
            <connector-id>alfrescoCookie</connector-id>
            <endpoint-url>http://localhost:8180/alfresco/s</endpoint-url>
            <identity>user</identity>
            <external-auth>true</external-auth>
         </endpoint>

Viele Grüße,
Bernhard

cbaus_8800
Champ in-the-making
Champ in-the-making
Hi,

erstmal großes !!Danke!! für dein Hilfe hier.

Den Fehler in der share-custom-config.xml habe ich korrigiert, danach startet Alfresco (jetzt wieder 3.4.b) auch ohne Probleme.

Wieder das 3.4.b share.war nach Liferay/deploy geschoben und Liferay gestartet, aber noch gleicher Fehler…

Vielleicht mal noch zur Info. Ich habe ja 2 unterschiedliche Tomcat-Instanzen laufen, einmal Alfresco (Tomcat6) einmal Liferay (Tomcat5).

Die share-custom-config.xml besteht ja nur in Alfresco…. ich hab die jetzt mal von Alfresco nach Liferay kopiert….

cp /opt/alfresco-3.4.b/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml /opt/liferay-portal-5.2.3/tomcat-5.5.27/shared/classes/web-extension
aber auch dies beseitigt nicht den Fehler 😐


Hier noch meine Dateistruktur der beiden Anwendungen….



root@zerg:/opt# ls -l alfresco-3.4.b/
insgesamt 4612
drwxr-xr-x  6 root root    4096 2010-11-25 03:00 alf_data
-rw-r–r–  1 root root     894 2010-04-27 10:45 alfresco.ico
-rw-r–r–  1 root root  109805 2010-11-25 14:20 alfresco.log
-rw-r–r–  1 root root  150400 2010-11-24 21:33 alfresco.log.2010-11-24
-rwxr–r–  1 root root   21839 2010-11-24 20:49 alfresco.sh
drwxr-xr-x  2 root root    4096 2010-11-24 20:50 amps
drwxr-xr-x  2 root root    4096 2010-11-24 20:49 amps_share
drwxr-xr-x  2 root root    4096 2010-11-24 20:50 bin
drwxr-xr-x  7 root root    4096 2010-11-24 20:48 common
drwxr-xr-x  7 root root    4096 2010-11-24 20:48 java
drwxr-xr-x  3 root root    4096 2010-11-24 20:48 licenses
drwxr-xr-x 10 root root    4096 2010-11-24 20:52 openoffice
-rw-r–r–  1 root root     507 2010-09-08 19:52 README.txt
-rw-r–r–  1 root root    1406 2010-04-27 10:45 README_wcm.txt
drwxr-xr-x  2 root root    4096 2010-11-24 20:53 scripts
drwxr-xr-x 11 root root    4096 2010-11-24 20:49 tomcat
-rwx——  1 root root 4352814 2010-11-24 20:54 uninstall
drwxr-xr-x 15 root root    4096 2010-11-24 20:49 virtual-tomcat
drwxr-xr-x  5 root root    4096 2010-11-24 21:01 wcm
-rw-r–r–  1 root root    1608 2010-11-25 14:20 webquickstart.log
-rw-r–r–  1 root root    2010 2010-11-24 21:33 webquickstart.log.2010-11-24
drwxr-xr-x  2 root root    4096 2010-11-24 21:01 www
root@zerg:/opt# ls -l liferay-portal-5.2.3/
insgesamt 392
-rw-r–r–  1 root root 370398 2010-11-25 14:30 alfresco.log
drwxr-xr-x  5 root root   4096 2010-11-24 20:57 data
drwxr-xr-x  2 root root   4096 2010-11-25 14:13 deploy
drwxr-xr-x  2 root root   4096 2009-05-19 20:26 license
-rw-r–r–  1 root root   4601 2009-05-14 11:34 readme.html
drwxr-xr-x 12 root root   4096 2009-05-20 20:36 tomcat-5.5.27

bwerner
Champ in-the-making
Champ in-the-making
Hi Chris,

Der Zielpfad für die Config Files scheint noch nicht zu funktionieren.
Verwende bitte als Ziel folgenden Pfad
/opt/liferay-portal-5.2.3/tomcat-5.5.27/shared/classes/alfresco/web-extension

Damit sollten die Settings eigentlich gezogen werden.

Viele Grüße,
Bernhard

cbaus_8800
Champ in-the-making
Champ in-the-making
Es geht!!! Vielen vielen Dank für deine Hilfe!!!

Ich habe es jetzt mit einem Liferay 6 (unter Tomcat6) probiert!

Allerdings musste ich die share-custom-config.xml folgenden Eintrag ändern:

System ist also jetzt:

Ubuntu 10.04 64 Bit
Alfresco 3.4.b (Tomcat6)
Liferay 6.04 (Tomcat6)


         <endpoint>
            <id>alfresco</id>
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require user authentication</description>
            <connector-id>alfrescoCookie</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/wcs</endpoint-url>
            <identity>user</identity>
            <external-auth>true</external-auth>
         </endpoint>