<?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: Rule to execute RM action 'File to' in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309323#M262453</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello Alex,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for the insight. I will certainly try using the API as suggested.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 28 Apr 2015 07:07:11 GMT</pubDate>
    <dc:creator>darkredd</dc:creator>
    <dc:date>2015-04-28T07:07:11Z</dc:date>
    <item>
      <title>Rule to execute RM action 'File to'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309319#M262449</link>
      <description>Hi all,I am looking for a way to execute an action from a rule on RM "Unfiled record" folder. Here is the scenario; I would like for every node that comes into this folder to be moved to their respective folder in the File Plan based on their origin location, which is a metadata on the document. How</description>
      <pubDate>Thu, 23 Apr 2015 08:32:35 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309319#M262449</guid>
      <dc:creator>darkredd</dc:creator>
      <dc:date>2015-04-23T08:32:35Z</dc:date>
    </item>
    <item>
      <title>Re: Rule to execute RM action 'File to'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309320#M262450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In attempts to solve my problem I tried using the remote service API, which is by default not available to the JS processor. I added it as suggested here &lt;/SPAN&gt;&lt;A href="https://forums.alfresco.com/forum/developer-discussions/web-scripts/using-remote-endpoint-repository-not-share-webscript" rel="nofollow noopener noreferrer"&gt;https://forums.alfresco.com/forum/developer-discussions/web-scripts/using-remote-endpoint-repository-not-share-webscript&lt;/A&gt;&lt;SPAN&gt; and it works only in the JS console but when I implement the same script as a rule I get "remote" is not defined.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there anywhere else that I need to change to enable remote service to be available system wide?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Below is the script I am runing: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;javascript&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var node = document;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var connector = remote.connect("alfresco");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var ticket = session.getTicket();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function main()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileRecord(node);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function FileRecord(recNode) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var apiURI = '/slingshot/doclib/action/move-to/site/rm/documentLibrary/' + sanitizePath() + '?alf_ticket=' + ticket;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apiURI = replaceAll(apiURI, " ", "%20");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var jsonString = '{"nodeRefs":["' + recNode.nodeRef + '"]}';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var result = connector.post(apiURI, jsonString, "application/json");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function sanitizePath()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var fullpath = document.properties["psa:filePath"].split("/");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var filePlan = fullpath[0];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var storeLocation = filePlan;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(var x = 1; x &amp;lt; fullpath.length; x++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(fullpath[x] != "documentLibrary")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storeLocation += "/" + fullpath[x];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;storeLocation = storeLocation.substr(0, (storeLocation.length -1));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return storeLocation;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/javascript&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the error message on the log:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;Caused by: org.alfresco.error.AlfrescoRuntimeException: 03240032 ReferenceError: "remote" is not defined. (workspace://SpacesStore/f2ca366f-6c55-4ec8-adcd-1a41525edcc3#2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:526)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:250)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 117 more&lt;BR /&gt;Caused by: org.mozilla.javascript.EcmaError: ReferenceError: "remote" is not defined. (workspace://SpacesStore/f2ca366f-6c55-4ec8-adcd-1a41525edcc3#2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3350)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3340)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3413)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1612)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c18._c0(workspace://SpacesStore/f2ca366f-6c55-4ec8-adcd-1a41525edcc3:2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c18.call(workspace://SpacesStore/f2ca366f-6c55-4ec8-adcd-1a41525edcc3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c18.call(workspace://SpacesStore/f2ca366f-6c55-4ec8-adcd-1a41525edcc3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c18.exec(workspace://SpacesStore/f2ca366f-6c55-4ec8-adcd-1a41525edcc3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:502)&lt;BR /&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;/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;BR /&gt;&lt;SPAN&gt;Thank you for the help.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Apr 2015 06:44:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309320#M262450</guid>
      <dc:creator>darkredd</dc:creator>
      <dc:date>2015-04-24T06:44:58Z</dc:date>
    </item>
    <item>
      <title>Re: Rule to execute RM action 'File to'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309321#M262451</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the reason why "remote" is not available in a rule is that the / my suggestion you used refers to "adding the remote object to the web scripts container". That means that object is specifically ONLY availabble in web script JavaScript. The JavaScript Console uses a web script to execute your script, but rules are a different matter.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In my post I also referred to practical problems adding "remote" to other contexts, like scheduled actions (and rules).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockquote&amp;gt;I don't know about scheduled actions though, as the ScriptRemote class is not a valid processor extension and can not be added as a root object to the internal Rhino script processor.&amp;lt;/blockquote&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The only chance to add it to all JavaScript contexts running on the Repository is by building you own Java-based script processor extension that wraps ScriptRemote and delegates all invocations to the wrapped object.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Axel&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 25 Apr 2015 11:42:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309321#M262451</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2015-04-25T11:42:22Z</dc:date>
    </item>
    <item>
      <title>Re: Rule to execute RM action 'File to'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309322#M262452</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;And on the original note: It is not necessary and architeturally a dirty hack to call a Repository action web script from within a Repository scheduled action or rule. Not only do you break up your transaction and can end up in inconsistent data states (business logic wise), you also introduce much more overhead than would be appropriate, e.g. you block at least one more thread that could otherwise server a request from a user.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The way to go about this is to use the &amp;lt;a href="&lt;/SPAN&gt;&lt;A href="http://docs.alfresco.com/5.0/references/API-JS-Scripting-API.html" rel="nofollow noopener noreferrer"&gt;http://docs.alfresco.com/5.0/references/API-JS-Scripting-API.html&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;JavaScript API&amp;lt;/a&amp;gt; in your rule JS directly to move / copy / modify the nodes that should be affected by your rule. You can take inspiration from existing web script JavaScript sources, but be aware that those may change between Alfresco versions (as internal implementation detail) and break your rule. So it's best to isolate yourself from that by not calling out to those…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Axel&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 25 Apr 2015 11:47:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309322#M262452</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2015-04-25T11:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: Rule to execute RM action 'File to'</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309323#M262453</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello Alex,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for the insight. I will certainly try using the API as suggested.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Apr 2015 07:07:11 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/rule-to-execute-rm-action-file-to/m-p/309323#M262453</guid>
      <dc:creator>darkredd</dc:creator>
      <dc:date>2015-04-28T07:07:11Z</dc:date>
    </item>
  </channel>
</rss>

