Hi
Greetings of the day!
Currently, I have facing one issue regarding tagging.
while tagging the documnet with string as [0001213, 8574,01,ID0123] getting tags in alfresco as 1213 8574 1 ID0123
tags with leading 0's are discarded.
Here is part my code to add tags :
HttpPost httpPost = new HttpPost(url);
StringEntity stringEntity = new StringEntity("[0001213, 8574,01, ID0123]", ContentType.APPLICATION_JSON);
httpPost.setEntity(stringEntity);
HttpResponse httpResponse = closeableHttpClient.execute(httpPost);
Except leading 0's it's working fine, So someone please help on this issue, or Explain to me how tag store in alfresco.
Thanks in advance
Which api are you using ,I'm using https://api-explorer.alfresco.com/api-explorer/#!/tags/createTagForNode
It works fine for me. And by the way my alfresco version is 6.2.0
The json array you are passing seems like integer array. Since the values are recognized as integer, the preceding 0s are getting stripped. Try passing the string representation of the json array with tag values and see if it works for you.
Thanks for your quick responce Abhinav!
Hi kaynezhang,
The api address which I'm using is working fine with 6.0.2V, but when I'm giving tags with leading 0's, in alfresco site those leading 0's are discarded for the tags(Eg: 009TG as 9TG) and functionality is working fine with tags which are not starting with 0's.
Here is my sample Json for tags in request :: {"tags" :["ID001","ID-Proof","00112"]}
Here is my sample code
ArrayList<String> tagsList= objModel.getTagsList();
HttpPost httpPost = new HttpPost(url);
StringEntity stringEntity = new StringEntity(tagsList.toString(), ContentType.APPLICATION_JSON);
httpPost.setEntity(stringEntity);
HttpResponse httpResponse = closeableHttpClient.execute(httpPost);
sample url is : http://localhost:8090/alfresco/service/api/node/{nodeRef}/tags
If possible, can you please suggest other alternative for tagging a document in alfresco.
Thanks in Advance!
It is strage. The API you are using is this one:
It is working as expected when i pass string representation of tags. See the sample code below:
import java.io.IOException; import java.nio.charset.StandardCharsets; import org.apache.commons.io.IOUtils; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; public class CreateTags { public static void main(String[] args) throws ClientProtocolException, IOException { final String tagURL = "http://127.0.0.1:8080/alfresco/service/api/node/workspace/SpacesStore/da36bb7e-5202-4dd4-a19b-3caf96d6fdb7/tags?alf_ticket=TICKET_ddd66235f30c68fcf1ec10ee2dbfd82ce18e0ef2";
try (final CloseableHttpResponse httpResp = httpPost(tagURL, "[\"ID001\",\"ID-Proof\",\"00112\",\"0ID001\",\"00ID-Proof\",\"0001120\"]")) { final StatusLine status = httpResp.getStatusLine(); final int statusCode = status.getStatusCode(); if (statusCode == 200) { final String resonseStr = IOUtils.toString(httpResp.getEntity().getContent(), StandardCharsets.UTF_8); System.out.println(resonseStr); } } } public static CloseableHttpResponse httpPost(final String url, final String jsonReqData) throws ClientProtocolException, IOException { final CloseableHttpClient httpclient = HttpClientBuilder.create().build(); final HttpPost httpPost = new HttpPost(url); final StringEntity httpEntity = new StringEntity(jsonReqData); httpEntity.setContentType("application/json"); httpPost.setEntity(httpEntity); return httpclient.execute(httpPost); } }
Response from API:
[ "id001", "id-proof", "00112", "0id001", "00id-proof", "0001120" ]
V1 Api works fine as well: https://docs.alfresco.com/6.2/concepts/dev-api-by-language-alf-rest-add-remove-tags-on-node.html
POST: http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/2245c97b-1da4-41c9-8275-f1d87140585f/tags
[ { "tag": "ID001" }, { "tag": "ID-Proof" }, { "tag": "00112" }, { "tag": "00ID-Proof" } ]
Response:
{ "list": { "pagination": { "count": 4, "hasMoreItems": false, "totalItems": 4, "skipCount": 0, "maxItems": 100 }, "entries": [ { "entry": { "tag": "ID001", "id": "4682305c-71c2-4db8-bc04-0e6baffdbc75" } }, { "entry": { "tag": "ID-Proof", "id": "fb2ff153-3420-4ff3-a206-425142958314" } }, { "entry": { "tag": "00112", "id": "18e43c99-bdd6-4551-8448-8f6b1d1460f0" } }, { "entry": { "tag": "00ID-Proof", "id": "d2c09f86-6c5a-46db-8946-959d47a21a32" } } ] } }
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.