Hi all,
How would I create a new node with d:content property via REST API?
I created a custom type containing a property of type d:content:
<type name="thy:daniilFolder">
<title>Daniil Folder</title>
<parent>cm:folder</parent>
<properties>
<property name="thy:folderProp">
<type>d:text</type>
</property>
<property name="thy:folderDoc">
<type>d:content</type>
<mandatory>false</mandatory>
<index enabled="true">
<atomic>false</atomic>
<stored>false</stored>
<tokenised>true</tokenised>
</index>
</property>
</properties>
</type>
I'm trying to create a new node of this type using nodes/{nodeId}/children REST API like so:
{
"name":"Daniil Folder 2019",
"nodeType":"thy:daniilFolder",
"properties": {
"thy:folderProp": "Some prop",
"thy:folderDoc": "...base64-encoded representation of a PDF file..."
}
}
thy:folderProp gets set correctly, however thy:folderDoc is being set to an empty file:
"thy:folderDoc": {
"size": 0,
"locale": "en_US",
"id": 392,
"infoUrl": "contentUrl=|mimetype=|size=0|encoding=|locale=en_US_"
}
Solved! Go to Solution.
As far as I can see from both the API Explorer and the low-level code, the public V1 REST API does not support dealing with any custom d:content properties. Only cm:content is supported (actually hard-coded).
As far as I can see from both the API Explorer and the low-level code, the public V1 REST API does not support dealing with any custom d:content properties. Only cm:content is supported (actually hard-coded).
Thanks for the info, Axel!
Looks like I'll have to store base64 representation of a file and mimetype inside a d:any field.
Or you could just use an API that is a bit more suited to the use case, e.g. CMIS via Browser binding, instead of completely messing up the data storage. Any Base64 data in a d:any will be stored as a blob in the database instead of content on disk, and will seriously impact the performance of the DB the more data is being stored in that way.
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.