<?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: Custom action on deleted Noderef in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268249#M221379</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Good idea.&amp;nbsp; However I can't seem to get the node from the ArchiveService.&amp;nbsp; in my executeImpl&amp;nbsp; () method i have this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("AtionedUponNodeRef Node:"+actionedUponNodeRef.getId()+actionedUponNodeRef.getStoreRef().getIdentifier());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NodeRef origNodeRef = archiveService.getArchivedNode(actionedUponNodeRef);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("Original Node:"+origNodeRef.getId()+origNodeRef.getStoreRef().getIdentifier());&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;with the output being:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;AtionedUponNodeRef Node:7adb1a27-6fcf-4321-8807-448bb9edf928SpacesStore&lt;BR /&gt;Original Node:7adb1a27-6fcf-4321-8807-448bb9edf928SpacesStore&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;They are the same node. &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://connect.hyland.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How do I get the archived node?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 16 Oct 2012 18:45:56 GMT</pubDate>
    <dc:creator>mangar</dc:creator>
    <dc:date>2012-10-16T18:45:56Z</dc:date>
    <item>
      <title>Custom action on deleted Noderef</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268245#M221375</link>
      <description>I have an action that needs to be triggered on a delete action.&amp;nbsp; I write my action and hook it to a space rule. The action triggers fine.However, I get an error&lt;IMG id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://migration33.stage.lithium.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt;rg.alfresco.service.cmr.repository.InvalidNodeRefException: Node does not exist:‍ at this line of code&lt;IMG id="smileyfrustrated" class="emoticon emoticon-smileyfrustrated" src="https://migration33.stage.lithium.com/i/smilies/16x16_smiley-frustrated.png" alt="Smiley Frustrated" title="Smiley Frustrated" /&gt;tring fileName = (String) nodeServ</description>
      <pubDate>Fri, 05 Oct 2012 01:53:20 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268245#M221375</guid>
      <dc:creator>mangar</dc:creator>
      <dc:date>2012-10-05T01:53:20Z</dc:date>
    </item>
    <item>
      <title>Re: Custom action on deleted Noderef</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268246#M221376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You need to use the "before delete" event if you want to read any of the node's properties.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Oct 2012 07:39:57 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268246#M221376</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2012-10-05T07:39:57Z</dc:date>
    </item>
    <item>
      <title>Re: Custom action on deleted Noderef</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268247#M221377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;After some research, I see that I need to implement a policyComponent and override beforeDeleteNode().&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It also looks like that this action would be called for every piece of content.&amp;nbsp; Is there a way to make this only happen in a certan folder, or for a certain kind of content?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have gotten pretty good at writing actions, but this is lost on me. Do you have any examples?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Oct 2012 15:35:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268247#M221377</guid>
      <dc:creator>mangar</dc:creator>
      <dc:date>2012-10-05T15:35:45Z</dc:date>
    </item>
    <item>
      <title>Re: Custom action on deleted Noderef</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268248#M221378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Another option is to find the node in the archives store, and get the properties from there.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Oct 2012 12:18:33 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268248#M221378</guid>
      <dc:creator>lista</dc:creator>
      <dc:date>2012-10-10T12:18:33Z</dc:date>
    </item>
    <item>
      <title>Re: Custom action on deleted Noderef</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268249#M221379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Good idea.&amp;nbsp; However I can't seem to get the node from the ArchiveService.&amp;nbsp; in my executeImpl&amp;nbsp; () method i have this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("AtionedUponNodeRef Node:"+actionedUponNodeRef.getId()+actionedUponNodeRef.getStoreRef().getIdentifier());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NodeRef origNodeRef = archiveService.getArchivedNode(actionedUponNodeRef);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("Original Node:"+origNodeRef.getId()+origNodeRef.getStoreRef().getIdentifier());&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;with the output being:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;AtionedUponNodeRef Node:7adb1a27-6fcf-4321-8807-448bb9edf928SpacesStore&lt;BR /&gt;Original Node:7adb1a27-6fcf-4321-8807-448bb9edf928SpacesStore&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;They are the same node. &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://connect.hyland.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How do I get the archived node?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2012 18:45:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268249#M221379</guid>
      <dc:creator>mangar</dc:creator>
      <dc:date>2012-10-16T18:45:56Z</dc:date>
    </item>
    <item>
      <title>Re: Custom action on deleted Noderef</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268250#M221380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The solution is a custom policy using the before delete node.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is an excellent tutorial by Jeff Potts on behaviours: &lt;/SPAN&gt;&lt;A href="http://ecmarchitect.com/images/articles/alfresco-behavior/behavior-article.pdf" rel="nofollow noopener noreferrer"&gt;http://ecmarchitect.com/images/articles/alfresco-behavior/behavior-article.pdf&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;here is my code snippet:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;public class DeleteAsset implements NodeServicePolicies.BeforeDeleteNodePolicy&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private PolicyComponent policyComponent;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private Behaviour beforeDeleteNode;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void init() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.beforeDeleteNode = new JavaBehaviour(this,"beforeDeleteNode",NotificationFrequency.EVERY_EVENT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.policyComponent.bindClassBehaviour(QName.createQName(NamespaceService.ALFRESCO_URI,"beforeDeleteNode"), &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;QName.createQName(MyModel.NAMESPACE,MyModel.ASSET_CONTENT_TYPE), this.beforeDeleteNode);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void beforeDeleteNode(NodeRef node) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("beforeDeleteNode!");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;your code here&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch(Exception e) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Just add this just like any other spring bean (See tutorial) and away you go.&amp;nbsp; One key is the NotificationFrequency must be EVERY_EVENT so you can use your NodeService (or whatever) before the node is deleted!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps someone. &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Nov 2012 01:41:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-action-on-deleted-noderef/m-p/268250#M221380</guid>
      <dc:creator>mangar</dc:creator>
      <dc:date>2012-11-08T01:41:54Z</dc:date>
    </item>
  </channel>
</rss>

