Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-37329

Cannot download a file from a CMIS repository because of calling getObject with versionSeriesId



      I have mounted a CMIS compliant repository NemakiWare(https://github.com/NemakiWare/NemakiWare), which I have developed, and tried to mount it to Liferay.
      I succeeded in mounting, traverse all the file hierarchy and maybe retrieving metadata of a document and even creating a new document file which can be downloaded in my client application. But downloading a file from within Liferay has failed.

      On my CMIS server part, getObject method is called with the vesionSeriesId of the document as the objectId argument. This of course ends up in throwing a CmisObjectNotFound exception, for in my repository versionSeriesId is always different from any objectId.

      On Liferay part, as far as I've been digging into this issue, I found the following code:

      com.liferay.portal.repository.cmis.CMISRepository LINE:1822
      String versionSeriesId = toFileEntryId(fileEntryId);

      Document document = (Document)session.getObject(versionSeriesId);

      return document;

      So the getObject method itself is called correctly from Liferay.
      Why does Liferay send versionSeriesId as objectId?
      I suupose that it's a bug in terms of CMIS specification.

      According to CMIS specification, versionSeriesId has nothing to do with objectId, though a repository is just allowed to make them the same.




            mika.koivisto Mika Koivisto (Inactive)
            linzhixing linzhixing (Inactive)
            Kiyoshi Lee Kiyoshi Lee
            0 Vote for this issue
            2 Start watching this issue


              9 years, 19 weeks, 4 days ago


                Version Package
                6.1.1 CE GA2