chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Potts (Commented) (JIRA)" <>
Subject [jira] [Commented] (CMIS-399) Empty custom CMIS properties on custom document types result in faulty XML
Date Thu, 01 Dec 2011 16:58:40 GMT


Jeff Potts commented on CMIS-399:

Also cannot recreate it using 0.4.1 against 3.4d community.

Here is a python shell showing three tests. The first test sets two custom properties. The
second test sets one custom property and the other to an empty string. The third test sets
one custom property and the other to None.

>>> repo.getRepositoryInfo()['productVersion']
u'3.4.0 (d 3370)'
>>> folder = repo.getObjectByPath('/test')
>>> folder.deleteTree()
>>> folder = root.createFolder('test')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'root' is not defined
>>> root = repo.rootFolder
>>> folder = root.createFolder('test')
>>> props = {'cmis:objectTypeId':'D:sc:whitepaper', 'sc:source':'test source', 'sc:difficulty':'test
>>> doc = folder.createDocument('test1.txt', props)
u'test source'
u'test difficulty'
>>> props['sc:difficulty'] = ''
>>> doc = folder.createDocument('test2.txt', props)
u'test source'
>>> props['sc:difficulty'] = None
>>> doc = folder.createDocument('test3.txt', props)
u'test source'

In all three cases, both properties are set successfully although in the last test, the None
is being converted to a string which I will log as a separate issue to fix.

Here is the content model snippet showing the definition of my custom type:

<type name="sc:whitepaper">
  <title>Someco Whitepaper</title>
    <property name="sc:source">
    <property name="sc:difficulty">
    <property name="sc:internalOnly">

Maybe you have one or both of your properties set to mandatory?

> Empty custom CMIS properties on custom document types result in faulty XML
> --------------------------------------------------------------------------
>                 Key: CMIS-399
>                 URL:
>             Project: Chemistry
>          Issue Type: Bug
>          Components: python-cmislib
>    Affects Versions: OpenCMIS 0.4.0
>         Environment: This behaviour has been replicated on several systems including
CentOS 5, Windows 7, Ubuntu 10.04 and Fedora 15.
> python version 2.6
> cmislib version 0.4.1
>            Reporter: Bjarki Gudlaugsson
>            Assignee: Jeff Potts
>              Labels: cmis, property, python, xml
> When calling createDocument on CmisFolder and submitting an empty property (e.g. custom:custom_property)
for a custom document type (e.g. custom:custom_document_type) the resulting xml looks like
> <cmis:propertyId propertyDefinitionId="cmis:objectTypeId">
>   <cmis:value>D:custom:custom_document_type</cmis:value>
> </cmis:propertyId>
> <cmis:propertyString propertyDefinitionId="custom:custom_property">
>   <cmis:value></cmis:value>
> </cmis:propertyString>
> It is invalid and it results in the CMIS server (Alfresco in my case) not setting any
of the submitted custom properties. It should look like this (and this is how the Java version
does it):
> <cmis:propertyId propertyDefinitionId="cmis:objectTypeId">
>   <cmis:value>D:custom:custom_document_type</cmis:value>
> </cmis:propertyId>
> <cmis:propertyString propertyDefinitionId="custom:custom_property" />

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message