<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Iterate assocs in javascript to remove them in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222822#M175952</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It doesn't work, have created this test code&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;var namesuffix = userhome.children.length; //to make file name unique&lt;BR /&gt;&lt;BR /&gt;var sourceNode = userhome.createNode("testassocsfile"+namesuffix +".txt", "cm:content");&lt;BR /&gt;sourceNode.content = "the original text";&lt;BR /&gt;sourceNode.addAspect("cm:attachable");&lt;BR /&gt;logger.log("LX Created source node");&lt;BR /&gt;&lt;BR /&gt;var destNode = userhome.createNode("attached1-"+namesuffix +".txt", "cm:content");&lt;BR /&gt;destNode.content = "Text in attached document";&lt;BR /&gt;logger.log("LX Created dest node 1");&lt;BR /&gt;sourceNode.createAssociation(destNode, "cm:attachments");&lt;BR /&gt;logger.log("LX Created assoc destNode to sourceNode");&lt;BR /&gt;&lt;BR /&gt;var destNode2 = userhome.createNode("attached2-"+namesuffix +".txt", "cm:content");&lt;BR /&gt;destNode2.content = "Text in attached document2";&lt;BR /&gt;logger.log("LX Created dest node 2");&lt;BR /&gt;sourceNode.createAssociation(destNode2, "cm:attachments");&lt;BR /&gt;logger.log("LX Created assoc destNode2 to sourceNode");&lt;BR /&gt;&lt;BR /&gt;sourceNode.save();&lt;BR /&gt;&lt;BR /&gt;for (var targetNode in sourceNode.assocs["cm:attachments"])&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.log("LX Removing " + targetNode) //targetNode returns integer here&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.log("LX Removing name " + targetNode.name) //returns undefined&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceNode.removeAssociation(targetNode, "cm:attachments"); &lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;When this code is run, it throws error (partial)&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;Caused by: org.alfresco.error.AlfrescoRuntimeException: 08210080 Can't find method org.alfresco.repo.jscript.ScriptNode.removeAssociation(string,string). (file:/opt/alfresco/xelerated/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/test/lxtest.get.js#30)&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;As you can see in my test code, the logging of targetNode in the iteration returns an integer, starting at 0 (and why I tried to use it the way I did, I think…).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried to change to sourceNode.removeAssociation(targetNode.child, "cm:attachments"); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but that didn't work either.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Running this code on 3.3g&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 Sep 2010 06:24:51 GMT</pubDate>
    <dc:creator>loftux</dc:creator>
    <dc:date>2010-09-21T06:24:51Z</dc:date>
    <item>
      <title>Iterate assocs in javascript to remove them</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222820#M175950</link>
      <description>How do I iterate an associations of a specified type in javascript in order to remove them?I've tried this (and some variants), but it does not work.for (i in fileNode.assocs["xel:reviewedby"]){&amp;nbsp;&amp;nbsp;&amp;nbsp;fileNode.removeAssociation(fileNode.assocs["xel:reviewedby"][i], "xel:reviewedby"); }‍‍‍So what is the</description>
      <pubDate>Fri, 17 Sep 2010 15:07:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222820#M175950</guid>
      <dc:creator>loftux</dc:creator>
      <dc:date>2010-09-17T15:07:58Z</dc:date>
    </item>
    <item>
      <title>Re: Iterate assocs in javascript to remove them</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222821#M175951</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In your for…in loop the variable "i" is set to the value of the object within the array being iterated over, not the current index in the array. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Try this ….&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;for (var targetNode in fileNode.assocs["xel:reviewedby"])&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; fileNode.removeAssociation(targetNode, "xel:reviewedby"); &lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Sep 2010 23:56:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222821#M175951</guid>
      <dc:creator>rwetherall</dc:creator>
      <dc:date>2010-09-20T23:56:58Z</dc:date>
    </item>
    <item>
      <title>Re: Iterate assocs in javascript to remove them</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222822#M175952</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It doesn't work, have created this test code&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;var namesuffix = userhome.children.length; //to make file name unique&lt;BR /&gt;&lt;BR /&gt;var sourceNode = userhome.createNode("testassocsfile"+namesuffix +".txt", "cm:content");&lt;BR /&gt;sourceNode.content = "the original text";&lt;BR /&gt;sourceNode.addAspect("cm:attachable");&lt;BR /&gt;logger.log("LX Created source node");&lt;BR /&gt;&lt;BR /&gt;var destNode = userhome.createNode("attached1-"+namesuffix +".txt", "cm:content");&lt;BR /&gt;destNode.content = "Text in attached document";&lt;BR /&gt;logger.log("LX Created dest node 1");&lt;BR /&gt;sourceNode.createAssociation(destNode, "cm:attachments");&lt;BR /&gt;logger.log("LX Created assoc destNode to sourceNode");&lt;BR /&gt;&lt;BR /&gt;var destNode2 = userhome.createNode("attached2-"+namesuffix +".txt", "cm:content");&lt;BR /&gt;destNode2.content = "Text in attached document2";&lt;BR /&gt;logger.log("LX Created dest node 2");&lt;BR /&gt;sourceNode.createAssociation(destNode2, "cm:attachments");&lt;BR /&gt;logger.log("LX Created assoc destNode2 to sourceNode");&lt;BR /&gt;&lt;BR /&gt;sourceNode.save();&lt;BR /&gt;&lt;BR /&gt;for (var targetNode in sourceNode.assocs["cm:attachments"])&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.log("LX Removing " + targetNode) //targetNode returns integer here&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.log("LX Removing name " + targetNode.name) //returns undefined&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceNode.removeAssociation(targetNode, "cm:attachments"); &lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;When this code is run, it throws error (partial)&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;Caused by: org.alfresco.error.AlfrescoRuntimeException: 08210080 Can't find method org.alfresco.repo.jscript.ScriptNode.removeAssociation(string,string). (file:/opt/alfresco/xelerated/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/test/lxtest.get.js#30)&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;As you can see in my test code, the logging of targetNode in the iteration returns an integer, starting at 0 (and why I tried to use it the way I did, I think…).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried to change to sourceNode.removeAssociation(targetNode.child, "cm:attachments"); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but that didn't work either.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Running this code on 3.3g&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Sep 2010 06:24:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222822#M175952</guid>
      <dc:creator>loftux</dc:creator>
      <dc:date>2010-09-21T06:24:51Z</dc:date>
    </item>
    <item>
      <title>Re: Iterate assocs in javascript to remove them</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222823#M175953</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, my bad.&amp;nbsp; The form you where using does indeed return the index of the array being iterated over …&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;// example iterating array indexes using 'for .. in'&lt;BR /&gt;var out1 = "";&lt;BR /&gt;for (i in userhome.children)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; out1 += userhome.children[i].name + "&amp;lt;br&amp;gt;";&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;// example iterating array values using 'for each .. in'&lt;BR /&gt;var out2 = "";&lt;BR /&gt;for each (n in userhome.children)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; out2 += n.name + "&amp;lt;br&amp;gt;";&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;I need to go back to JavaScript school!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Roy&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Sep 2010 06:43:49 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222823#M175953</guid>
      <dc:creator>rwetherall</dc:creator>
      <dc:date>2010-09-21T06:43:49Z</dc:date>
    </item>
    <item>
      <title>Re: Iterate assocs in javascript to remove them</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222824#M175954</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;OK,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this is how you do it for my example code&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;for each (targetNode in sourceNode.assocs["cm:attachments"])&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceNode.removeAssociation(targetNode, "cm:attachments"); &lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Your javascript skills clearly exceed mine, and I'll give you your second rating point &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://connect.hyland.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Sep 2010 06:56:49 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/iterate-assocs-in-javascript-to-remove-them/m-p/222824#M175954</guid>
      <dc:creator>loftux</dc:creator>
      <dc:date>2010-09-21T06:56:49Z</dc:date>
    </item>
  </channel>
</rss>

