Giving Up on Alfresco Portlet LDAP Integration..

1146533, modified 17 Years ago. New Member Posts: 3 Join Date: 8/5/08 Recent Posts
Hi all,

I've been working on this for almost 3 weeks and failed emoticon
My objective is to do full integration using CAS, ApacheDS, Liferay 5.0.1 and Alfresco Portlet (I've downloaded alfresco-portlet-5.0.0.1.war). I've posted at Installation/Setup Thread but no one had replied emoticon

1. Success LDAP integration on Alfresco Standalone
==================================================
I've downloaded alfresco-community-tomcat-3.0.0dev. Configured ldap-authentication.properties and ldap-authentication-context.xml with simple configuration.

2. Failed LDAP integration on Alfresco Portlet as plugin to Liferay
===================================================================
I copied the working files (ldap-authentication.properties and ldap-authentication-context.xml). StartUp tomcat and got errors related to repository and jlan. I copied alfresco-repository.jar and alfresco-jlan-embed.jar. Now I got below errors:

--------------------------------------------------------------------------------------
2008-08-13 09:40:47,546 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/alfresco]] - Exception sending context initialized event to listener instance of class org.alfresco.web.app.ContextListener
java.lang.VerifyError: class org.alfresco.filesys.smb.server.repo.ContentDiskDriver overrides final method .
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1853)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:875)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1330)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:108)
at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:65)
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:426)
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:392)
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitions(DefaultXmlBeanDefinitionParser.java:307)
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:191)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:295)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:223)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.importBeanDefinitionResource(DefaultXmlBeanDefinitionParser.java:325)
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitions(DefaultXmlBeanDefinitionParser.java:298)
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:191)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:295)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:223)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:126)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:89)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:269)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2008-08-13 09:40:50,734 INFO [com.liferay.portal.deploy.hot.PortletHotDeployListener] - Registering portlets for alfresco
2008-08-13 09:40:50,765 INFO [com.liferay.portal.deploy.hot.PortletHotDeployListener] - 1 portlets for alfresco are ready for registration
2008-08-13 09:40:51,000 INFO [com.liferay.portal.deploy.hot.PortletHotDeployListener] - 1 portlets for alfresco registered successfully
2008-08-13 09:41:03,296 WARN [com.liferay.portal.plugin.PluginPackageUtil] - Unable to reindex unistalled package alfresco: Unable to communicate with repository http://plugins.liferay.com/community
2008-08-13 09:41:03,296 INFO [com.liferay.portal.deploy.hot.PortletHotDeployListener] - Unregistering portlets for alfresco
2008-08-13 09:41:03,296 INFO [com.liferay.portal.deploy.hot.PortletHotDeployListener] - 1 portlets for alfresco unregistered successfully
2008-08-13 09:41:08,921 INFO [com.liferay.portal.deploy.hot.ThemeHotDeployListener] - Registering themes for liferay-jedi-theme
2008-08-13 09:41:08,921 INFO [com.liferay.portal.deploy.hot.ThemeHotDeployListener] - Themes for liferay-jedi-theme registered successfully
2008-08-13 09:42:53,078 INFO [com.liferay.portal.plugin.PluginPackageUtil] - Reloading repositories
2008-08-13 09:42:53,093 ERROR [com.liferay.portal.job.JobWrapper] - com.liferay.portal.kernel.job.JobExecutionException: java.lang.NullPointerException
com.liferay.portal.kernel.job.JobExecutionException: java.lang.NullPointerException
at com.liferay.portlet.admin.job.CheckRemoteRepositoriesJob.execute(CheckRemoteRepositoriesJob.java:46)
at com.liferay.portal.job.JobWrapper.execute(JobWrapper.java:62)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
Caused by: java.lang.NullPointerException
at org.apache.log4j.Category.log(Category.java:852)
at org.apache.commons.logging.impl.Log4JLogger.trace(Log4JLogger.java:152)
at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:90)
at com.liferay.portal.plugin.PluginPackageUtil._loadRepository(PluginPackageUtil.java:639)
at com.liferay.portal.plugin.PluginPackageUtil._reloadRepositories(PluginPackageUtil.java:1151)
at com.liferay.portal.plugin.PluginPackageUtil.reloadRepositories(PluginPackageUtil.java:222)
at com.liferay.portlet.admin.job.CheckRemoteRepositoriesJob.execute(CheckRemoteRepositoriesJob.java:43)
... 3 more
--------------------------------------------------------------------------------------

I really hope someone out there can help me out on this.. Else I'll just give up.. emoticon
Is't really impossible to do so? I've been reading few tips/How To. They sound simple and strait forward.. I've tried but still failed...

-akuamie-
1268980, modified 17 Years ago. New Member Posts: 7 Join Date: 9/4/08 Recent Posts
is CAS a neccesity in Liferay/Alfresco/AD integration?
thumbnail
34891, modified 17 Years ago. Regular Member Posts: 117 Join Date: 8/23/07 Recent Posts
Have you looked at the CIgnex solution?
thumbnail
25246, modified 17 Years ago. Liferay Legend Posts: 1519 Join Date: 8/7/06 Recent Posts
My advice is to forget about alfresco. It really doesn't deliver on its promise. Depending on what you really need just plain Liferay could be enough.

We've used Alfresco for little over a year and now we are getting rid of it due to scalability issues and poor response times. My issues are specifically related to Alfresco's JCR API and it's rather poor implementation. I've also hear from others using Alfresco that it has issues with clustering.

I've been really disappointed with Alfresco and it's so called open source model where they only give you access to their trunk.
thumbnail
34891, modified 17 Years ago. Regular Member Posts: 117 Join Date: 8/23/07 Recent Posts
Mika Koivisto:
My advice is to forget about alfresco. It really doesn't deliver on its promise. Depending on what you really need just plain Liferay could be enough.

We've used Alfresco for little over a year and now we are getting rid of it due to scalability issues and poor response times. My issues are specifically related to Alfresco's JCR API and it's rather poor implementation.


Hi Mika,

Yes, Alfresco definitely has issues, especially regarding JCR: it just plain isn't JCR compliant, and cannot be without serious rework. I'd point you to their JIRA issue 706 (they've since renamed them) wherein they describe dropping JCR compliance due to issues with their own ThreadLocal use and their use of Acegi, which also works via ThreadLocals, and how they cannot service more than a single concurrent request from a user due to these issues. This is obviously a problem in a web environment where browsers other than IE commonly use 4 or more concurrent threads to request content for a page.

Regarding Liferay's Journal CMS: You cannot reliably utilize the import/export features for content. That's a pretty big problem for me. We're working on this issue.