Foros de discusión

unable to import an existing CMIS repository

thumbnail
Darko Joseph Hojnik, modificado hace 11 años.

unable to import an existing CMIS repository

Regular Member Mensajes: 125 Fecha de incorporación: 3/08/09 Mensajes recientes
Hi there

fictional scenario, One Liferay Portal is running using a CMIS repositiroy (Nuxeo) to store almost possible documents and stuff.
Now I setup a second Liferay instance that should use the same CMIS repository. But now, all folders files or documents aren't shown inside the Documents and Media portlet.
My fail, bug or feature? I'm testing with Liferay 6.1 CE

cheers Darko
thumbnail
David H Nebinger, modificado hace 11 años.

RE: unable to import an existing CMIS repository

Liferay Legend Mensajes: 14914 Fecha de incorporación: 2/09/06 Mensajes recientes
Have you tried reindexing?
thumbnail
Darko Joseph Hojnik, modificado hace 11 años.

RE: unable to import an existing CMIS repository

Regular Member Mensajes: 125 Fecha de incorporación: 3/08/09 Mensajes recientes
Hi David emoticon

David H Nebinger:
Have you tried reindexing?


what do you mean with reindexing?

Control Panel -> Server -> Server Administration -> Reindex all search indexes.

Or something other?


cheers Darko
thumbnail
David H Nebinger, modificado hace 11 años.

RE: unable to import an existing CMIS repository

Liferay Legend Mensajes: 14914 Fecha de incorporación: 2/09/06 Mensajes recientes
Yep, I don't know if there's a specific index over the doc lib content, but if there is Liferay will often go there before hitting a repository itself...
thumbnail
Darko Joseph Hojnik, modificado hace 11 años.

RE: unable to import an existing CMIS repository

Regular Member Mensajes: 125 Fecha de incorporación: 3/08/09 Mensajes recientes
Thanks. Then it would maybe a bug. It makes CMIS absolutly danger to work with Liferay.
If someone rollback his install of liferay from a backup hen he may would lose his files from the DMS
Also if a file is added inside the DMS or with a App powered by Nuxeo Webengine they would not be available inside Liferay. I think it would make a CMIS Store in almost usecases useless.

cheers Dako
thumbnail
Mika Koivisto, modificado hace 11 años.

RE: unable to import an existing CMIS repository

Liferay Legend Mensajes: 1519 Fecha de incorporación: 7/08/06 Mensajes recientes
Are you mounting the CMIS repository as a folder in Documents and Media or are you using CMISStore? The latter one just uses CMIS as storage for the binaries but all the actual info about folders and files is stored in Liferay database so adding any documents directly to the CMIS repository would be considered the same as directly modifying the filesystem the FileSystemStore stores files and they would not appear in Liferay because Liferay does not know anything about those files.

Now if you are using CMIS Repository instead of CMIS Store then that reads all the folders and files from the CMIS Repository and all the file and folder information in that case is maintained inside the CMIS repository. That allows modifications in both Liferay and the CMIS repository.
thumbnail
Darko Joseph Hojnik, modificado hace 11 años.

RE: unable to import an existing CMIS repository

Regular Member Mensajes: 125 Fecha de incorporación: 3/08/09 Mensajes recientes
Hey Mika emoticon

Just for testing I've switched to anther configuration


dl.store.impl=com.liferay.portlet.documentlibrary.store.DBStore

# dl.store.impl=com.liferay.portlet.documentlibrary.store.CMISStore
# dl.store.cmis.credentials.username=liferay-admin
# dl.store.cmis.credentials.password=a!njdPQkje+a#
# dl.store.cmis.repository.url=http://10.0.22.3:8080/nuxeo/atom/cmis
# dl.store.cmis.system.root.dir=Liferay Home

session.store.password=true
company.security.auth.type=screenName


On Nuxeo they has allready been the folder "Liferay Home" in Top of the ROOT (/)
The Group "Liferay Staff" has the right to manage everything on this folder

My user and admin on liferay called minimike is also in nuxeo present and in the group Liferay Staff

So lets try to import the old Folder. Creating the Repository on Liferay. By the setup it's impossible to set an Repository ID. I've tried it with the correct CMIS Repository ID and with the Name of the Folder.

Trying to add an subfolder results with an permission problem


21:04:12,042 ERROR [CmisAtomPubServlet] Cannot create
org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: Cannot create
at org.nuxeo.ecm.core.opencmis.impl.server.NuxeoCmisService.createObject(NuxeoCmisService.java:527)
at org.nuxeo.ecm.core.opencmis.impl.server.NuxeoCmisService.create(NuxeoCmisService.java:646)
at org.apache.chemistry.opencmis.server.support.CmisServiceWrapper.create(CmisServiceWrapper.java:650)
at org.apache.chemistry.opencmis.server.impl.atompub.ObjectService.create(ObjectService.java:95)
at sun.reflect.GeneratedMethodAccessor1497.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.chemistry.opencmis.server.shared.Dispatcher.dispatch(Dispatcher.java:83)
at org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet.dispatch(CmisAtomPubServlet.java:218)
at org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet.service(CmisAtomPubServlet.java:167)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.wss.servlet.BaseWSSFilter.doFilter(BaseWSSFilter.java:135)
at org.nuxeo.wss.servlet.FailSafeWSSFilter.doFilter(FailSafeWSSFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:131)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.ecm.platform.wi.filter.WIRequestFilter.doFilter(WIRequestFilter.java:114)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilterInternal(NuxeoAuthenticationFilter.java:548)
at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:35)
at org.nuxeo.ecm.platform.ui.web.auth.oauth.NuxeoOAuthFilter.doFilter(NuxeoOAuthFilter.java:167)
at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:33)
at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:349)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:163)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:79)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.ecm.platform.web.common.encoding.NuxeoEncodingFilter.doFilter(NuxeoEncodingFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:905)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:592)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2036)
at java.lang.Thread.run(Thread.java:679)
Caused by: org.nuxeo.ecm.core.api.DocumentSecurityException: Privilege 'AddChildren' is not granted to 'minimike'
at org.nuxeo.ecm.core.api.AbstractSession.checkPermission(AbstractSession.java:273)
at org.nuxeo.ecm.core.api.AbstractSession.createDocument(AbstractSession.java:795)
at sun.reflect.GeneratedMethodAccessor1459.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.nuxeo.ecm.core.api.TransactionalCoreSessionWrapper.invoke(TransactionalCoreSessionWrapper.java:128)
at $Proxy417.createDocument(Unknown Source)
at org.nuxeo.ecm.core.opencmis.impl.server.NuxeoCmisService.createObject(NuxeoCmisService.java:520)
... 56 more


because by this task Liferay trys to overwrite the existing Folder. But I guess it would be the same with proper permissions inside nuxeo. After my tests i don't thing that Liferay could import existing files. So worst case you will lose everything.

cheers Darko
thumbnail
Darko Joseph Hojnik, modificado hace 11 años.

RE: unable to import an existing CMIS repository

Regular Member Mensajes: 125 Fecha de incorporación: 3/08/09 Mensajes recientes
I've to correct me. Liferay creates new folders on top. But still no import of old files possible.

cheers Darko