Hi Mano,
That looks like a question for Alfresco. OpenCMIS only converts the
properties; it doesn't verify or change property values.
That could be a bug in Alfresco 3.x. (Alfresco 4.x probably does it
right.)
- Florian
Am Donnerstag, den 02.02.2012, 08:46 +0100 schrieb Mano Swerts
<[email protected]>:
Hi Florian,
Thanks for the quick reply.
It is definitely not a caching issue, stopping and starting the
server is does not resolve the issue.
I was not aware of the Document.getAllVersions() method. I tried it
out, but the result was the same:
Document cmisDocument = (Document) cmisSession.getObject(new
ObjectIdImpl(documentId));
List documentVersions = cmisDocument.getAllVersions();
Document cmisDocument2 = documentVersions.get(0);
cmisDocument.getId(); //
output workspace://SpacesStore/dd3ddd5f-8205-426c-9002-9867804d3a25
cmisDocument.getVersionLabel(); // output 3.0
((GregorianCalendar)
cmisDocument.getPropertyValue("park:documentCreationDate")).getTime(); //
output 2nd of February 2012
cmisDocument2.getId(); // output
workspace://SpacesStore/dd3ddd5f-8205-426c-9002-9867804d3a25;3.0
cmisDocument2.getVersionLabel(); // output 3.0
((GregorianCalendar)
cmisDocument2.getPropertyValue("park:documentCreationDate")).getTime(); //
output 1th of February 2012
In the Workbench I can see the latest version as version 3.0 with the
value "2nd of February" as I expected. I can see that there are 3
versions for this document, but I cannot see my custom properties for
each version. I attached screenshots of the workbench.
Met vriendelijke groeten,
Kind regards,
Bien à vous,
Mano Swerts
Solution Engineer
_______________________________________________________
ACA IT-Solutions
Ilgatlaan 5C Clovislaan
82
B-3500 Hasselt B-1000 Brussel
Belgium Belgium
T: +32 (0)11 26 50 10 E: [email protected] [1]
F: +32 (0)11 26 50 11 U: www.aca-it.be [2]
M: +32 (0)484 80 81 45
______________________________________________________
On Wed, Feb 1, 2012 at 6:08 PM, Florian Müller wrote:
Hi Mano,
I can't tell you what's going wrong here. Probably a caching issue.
But before I dig deeper, two questions:
1) Does the CMIS Workbench show the correct property values?
2) Is there any reason not to use Document.getAllVersions()?
Cheers,
Florian
[1]
http://chemistry.apache.org/java/0.6.0/maven/apidocs/org/apache/chemistry/opencmis/client/api/Document.html#getAllVersions%28%29
[4]
Am Mittwoch, den 01.02.2012, 16:37 +0100 schrieb Mano Swerts :
Hi all,
I seem to have a little problem with the display of all versions of
a
particular document to users. I do not know if this is a bug in
CMIS, in
Alfresco or if this is as designed.
I fetch all versions of a particular document using the
VersioningService object.
Then I loop over these versions to get convert them to a CMIS
Document to
be able to fetch all properties. In the my custom user interface I
noticed
that the first version did not have any custom properties filled in.
Then I
also noticed that the last version in my listing (which is equal to
the
current working version in the repository and therefore also in my
app)
does not reflect the latest metadata as the current working document
does
in the rest of the application. So it seems that when I list the
metadata
of all versions, that they are 1 off. So this means metadata for
version
1.0 is not filled in (when it actually is), metadata for version 2.0
seems
to be the metadata for version 1.0, and so forth.
When I look into node browser that comes with Alfresco, I can only
see the
current version. The current version is *3.0* and contains a data
property
called park:documentCreationDate. It is set to the *2nd of
February*.
However when I list versions using the VersioningService, it shows
the same
property with a value of the *1th of February*, also version *3.0*.
I confirmed the above behavior with the following code:
String repositoryId = cmisSession.getRepositoryInfo().getId();
String documentId =
"workspace://SpacesStore/81b81e8c-ec20-4cdd-b650-552cb9eb5e5b";
List versions =
cmisSession.getBinding().getVersioningService().getAllVersions(repositoryId,
documentId, null, null, null, null);
ObjectFactoryImpl factory = new ObjectFactoryImpl();
factory.initialize(cmisSession, null);
Document cmisDocument = (Document)
factory.convertObject(versions.get(0),
cmisSession.createOperationContext());
cmisDocument.getPropertyValue("cmis:objectId"); //
output
workspace://SpacesStore/81b81e8c-ec20-4cdd-b650-552cb9eb5e5b;3.0
cmisDocument.getPropertyValue("cmis:versionLabel"); // output 3.0
cmisDocument.getPropertyValue("park:documentCreationDate"); //
output
GregorianCalendar with value of 1th of February 2012
Document cmisDocument2 = cmisSession.getObject(new
ObjectIdImpl(documentId
));
cmisDocument2.getPropertyValue("cmis:versionLabel"); // output 3.0
cmisDocument2.getPropertyValue("park:documentCreationDate"); //
output
GregorianCalendar with value of 2th of February 2012
So it seems that although they have the same version and should
point to
the same document, it seems that putting the version number in the
ID
directs to an other document. However then the second way to access
it
should return 4.0 and not 3.0. I am very confused of what is going
on here,
because I request the versions for a specific ID and they can have
different values for the same version.
Thanks.
-- Mano
Links:
------
[1] mailto:[email protected]
[2] http://www.aca-it.be/
[3] mailto:[email protected]
[4]
http://chemistry.apache.org/java/0.6.0/maven/apidocs/org/apache/chemistry/opencmis/client/api/Document.html#getAllVersions%28%29
[5] mailto:[email protected]