cancel
Showing results for 
Search instead for 
Did you mean: 

portlet alfresco2.0

vincent
Champ in-the-making
Champ in-the-making
Hello,

I would like to know if a portlet version of alfresco 2.0 for Liferay will be proposed soon ?

Thank you,
Vincent
20 REPLIES 20

joserra
Champ in-the-making
Champ in-the-making
yes, it is for Alfresco 2.0. So you can take the Alfresco 1.4 xml file to use them with 2.0.. it works fine.

Good luck.

I have copied portlet.xml, liferay-display.xml and liferay-portlet.xml but the error is:

11:22:41,312 INFO  [HotDeployPortletListener:129] Registering portlets for alfre
sco
11:22:41,375 ERROR [HotDeployUtil:52] com.liferay.portal.kernel.deploy.HotDeploy
Exception: Error registering portlets for alfresco
        at com.liferay.portal.deploy.HotDeployPortletListener.invokeDeploy(HotDe
ployPortletListener.java:348)
        at com.liferay.portal.kernel.deploy.HotDeployUtil._fireDeployEvent(HotDe
ployUtil.java:86)
        at com.liferay.portal.kernel.deploy.HotDeployUtil.fireDeployEvent(HotDep
loyUtil.java:43)
        at com.liferay.portal.kernel.servlet.PortletContextListener.contextIniti
alized(PortletContextListener.java:41)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
t.java:3729)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
187)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:759)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73
9)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)

        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
a:904)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:867)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:310)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)

        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442
)
        at org.apache.catalina.core.StandardService.start(StandardService.java:4
50)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:709
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: java.lang.ClassCastException: org.alfresco.web.app.portlet.AlfrescoFa
cesPortlet
        at com.liferay.portal.deploy.HotDeployPortletListener.invokeDeploy(HotDe
ployPortletListener.java:154)
        … 27 more‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Not very descriptive… Smiley Sad

sebastien_marin
Champ in-the-making
Champ in-the-making
Hi, remove portlet-api.jar from your tomcat lib and it will be fine.

joserra
Champ in-the-making
Champ in-the-making
Thanks Sebastien! now the portlets are registered!

But another error i´m working on now:

Caused by: org.springframework.dao.DataIntegrityViolationException: Hibernate op
eration: could not insert: [org.alfresco.repo.domain.hibernate.ChildAssocImpl];
SQL [insert into alf_child_assoc (parent_node_id, child_node_id, type_qname, qna
me, child_node_name, child_node_name_crc, is_primary, assoc_index) values (?, ?,
?, ?, ?, ?, ?, ?)]; Data too long for column 'is_primary' at row 1; nested exce
ption is java.sql.SQLException: Data too long for column 'is_primary' at row 1
        at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.trans
late(SQLStateSQLExceptionTranslator.java:91)
        at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.t
ranslate(SQLErrorCodeSQLExceptionTranslator.java:257)‍‍‍‍‍‍‍‍‍‍

I´ll take a look and post solution here, I hope…

joserra
Champ in-the-making
Champ in-the-making
This exception happens in Windows, but now we have deployed on Linux and everything is fine!
At the end, we have Liferay and alfresco 2.0 portlets. Now we will try single sign-on. Can someone give me some guidelines or links? Thanks!

arnaud_artaz
Champ in-the-making
Champ in-the-making
Now we will try single sign-on. Can someone give me some guidelines or links? Thanks!

I'm very interested too, but it seems to be a hard job.
Have a look to :
http://wiki.liferay.com/index.php/Single_SignOn_-_Integrating_Liferay_With_CAS_Server

Maybe it can help you…

Regards,
Arnaud

sebastien_marin
Champ in-the-making
Champ in-the-making
Hi, it looks like very hard…

So, integrate CAS filter with Liferay is fine but the auto login in SSO with Alfresco portlet is hard.

You have to read the authentication protocol in CAS and you will be afraid of the implementation of the filters. I explain. the filter are called when a login url is called for exemple…ok… the filter CAS ask to the CAS api if there is a ticket for that webapp and for that httpsession. So CAS server say no and redirect the user to the cas login page…. al is fine.
You write login/password on the login form, CAS server make a ticker for Liferay (or Alfresco) webapp and redirect the user to the CAS filter. The cas filter is just looking for a "CAS user name" in the httpsession.

So, it should get the ticket number in the httprequest and validate it with the cas server… this is not done in the CAS filter.

So ther is a lot of work to perform a good CAS implementation , an Alfresco autologin and a CAS filter for alfresco portlet…

I am working on…

Good luck.

joserra
Champ in-the-making
Champ in-the-making
Hi Sebastien,

  yes, it looks difficult, is there another way to enable SSO without CAS? another way we could investigate at the same time and share experience about both methods in the forum.

  I mean, maybe it´s possible to create an alfresco URL to login and do in some hidden way to user…

  Thanks!

sebastien_marin
Champ in-the-making
Champ in-the-making
Hi, for the moment, i am trying to integrate autologin and sso in alfresco webapp in a metalink portlet and not with the alfresco portlet. The problem with the alfresco problem is that we use the facesrender that login guest user… and later in the authenticationfilter. So, in the alfrescofacesportlet, we do not have acces to the method with the httprequest… and there are too much classes to modify… With the integartion in a metalink portlet (web clipping), we acces directly in the authenticationfilter. So, you can add a CAS Filter, based on the NovellIChainFilter… It works fine. To transmit and ask a ticket for the alfresco webapp, you have to modify the metalink portlet.

I work a couple of week to find how to implement the CAS with the alfresco portlet but it looks very difficult without override a lot of api classes. So i hope Alfresco team will work on that for the next release.

The CAS is an implementation of the SSO concept. So you can use other SSO.

annasml
Champ in-the-making
Champ in-the-making
I deployed the alfresco 2.0 portlet to liferay and it works fine, but
I cannot see any of the content that I created.
When i click on the search button in afresco content i get the message

No Alfresco content was found
and  in the log file I get:

java.lang.IllegalArgumentException: A uuid or a path must be supplied to resolve to a NodeRef
   at org.alfresco.repo.webservice.Utils.resolveToNodeRef(Utils.java:406)
   at org.alfresco.repo.webservice.Utils.convertToNodeRef(Utils.java:290)
   at org.alfresco.repo.webservice.repository.ChildrenQuerySession.getNextResultsBatch(ChildrenQuerySession.java:85)
   at org.alfresco.repo.webservice.repository.RepositoryWebService.queryChildren(RepositoryWebService.java:253)
   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.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
   at java.lang.Thread.run(Thread.java:595)
12:44:56,533 ERROR [alfresco_content.edit_configuration.jsp]

Environment :
Tomcat 5.5.20 + Liferay Portal 4.2.1 (MySQL) + Alfresco Portlet 2.0 (MySQL)

altus34
Champ in-the-making
Champ in-the-making
Hi Smiley Wink

I play with Alfresco 2 and Liferay integration. after read this post my portlet it succesfully registred in liferay.

But when i tried to add Alfresco Web client portlet in my page the portlet display : "The requested resource (/alfresco/alfresco_client/invoke) is not available"

There is no more information in my log file !!!!

Some ideas ?

Thank's guys.