<?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 Problem while crossrepocopy through WCM submit workflow in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/problem-while-crossrepocopy-through-wcm-submit-workflow/m-p/175637#M128767</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;I am customizing WCM submit workflow to add some behavior to task transitions. In customized workflow, when content gets approved and content creator clicks on ‘task done’, I am trying to copy the newly created or modified content to ‘companyhome/HDS’ folder. For fulfilling this, I am making a call to crossrepocopy.copy(). But my problem is this whole java script code works fine when creator is ‘admin’ where as in case of user with role ‘content contributor’, crossrepocopy.copy throws org.alfresco.service.cmr.avm.AVMNotFoundException: Path not found exception. I am not able to find out the cause of the problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;BR /&gt;Here is my java script action used in workflow :-&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"&amp;gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;script&amp;gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Path of WCM file to copy in ECM&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var nodepaths = ml.getNodepath();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* As there may be multiple documents in the workflow*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var downloadFrom = new Array(nodepaths.length);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for(var x=0; nodepaths.length &amp;gt;x;x++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(nodepaths[x]!=null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Creating actual path of file from staging sandbox */&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var nodepath = nodepaths[x];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var inx = nodepath.indexOf(":");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;nodepath =nodepath.substring(inx+1);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Get the source node to be copied */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var srcnode = avm.lookupNode(“hds–"+person.properties["cm:userName"]+nodepath);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Here path is like “hds—admin:/www/avm_webapps/ROOT/filename.xml” */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Getting the folder structure (to find the destination in ECM) */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var rootindx = nodepath.indexOf("ROOT");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;nodepath&amp;nbsp;&amp;nbsp;&amp;nbsp;= nodepath.substring(rootindx+5);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var slashindx = nodepath.lastIndexOf("/");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;nodepath&amp;nbsp;&amp;nbsp;&amp;nbsp;= nodepath.substring(0, slashindx);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Find the destination folder in ECM */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(nodepath.length&amp;gt;0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;nodepath = "HDS/"+nodepath;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodepath = "HDS";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;var destFolder = companyhome.childByNamePath(nodepath);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;java.lang.System.out.println(srcnode.name);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="color: #BF0000;"&gt;/*Till here the script executes*/&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;crossRepoCopy.copy(srcnode,destFolder,"File to copy");&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var ts = new java.util.Date();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var appendtoname = ts.toString().replace(':','_');&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Rename the copied node to include current time stamp (Versioning alternative) */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;destFolder = companyhome.childByNamePath(nodepath);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;destChild = destFolder.children;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for(var i = 0; destChild.length &amp;gt; i; i++)&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;&amp;nbsp;&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;if(srcnode.name.equals(destChild&lt;/SPAN&gt;&lt;EM&gt;.name))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var tkens = (destChild&lt;EM&gt;.properties.name).split(".");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destChild&lt;EM&gt;.properties.name = tkens[0]+"_"+appendtoname+"."+tkens[1];&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destChild&lt;EM&gt;.save();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;existingNode = destChild&lt;EM&gt;;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;}&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;/action&amp;gt;&lt;BR /&gt;&lt;BR /&gt;Please provide some clue to solve the issue.&lt;BR /&gt;Thanks in advance&lt;BR /&gt;&lt;BR /&gt;Amarpal Kaur&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 01 Jul 2008 13:56:24 GMT</pubDate>
    <dc:creator>amarpalkaur</dc:creator>
    <dc:date>2008-07-01T13:56:24Z</dc:date>
    <item>
      <title>Problem while crossrepocopy through WCM submit workflow</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/problem-while-crossrepocopy-through-wcm-submit-workflow/m-p/175637#M128767</link>
      <description>HiI am customizing WCM submit workflow to add some behavior to task transitions. In customized workflow, when content gets approved and content creator clicks on ‘task done’, I am trying to copy the newly created or modified content to ‘companyhome/HDS’ folder. For fulfilling this, I am making a cal</description>
      <pubDate>Tue, 01 Jul 2008 13:56:24 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/problem-while-crossrepocopy-through-wcm-submit-workflow/m-p/175637#M128767</guid>
      <dc:creator>amarpalkaur</dc:creator>
      <dc:date>2008-07-01T13:56:24Z</dc:date>
    </item>
    <item>
      <title>Re: Problem while crossrepocopy through WCM submit workflow</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/problem-while-crossrepocopy-through-wcm-submit-workflow/m-p/175638#M128768</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I might be wrong, but I believe the CrossRepositoryCopyService only supports copying from DM to WCM, not the reverse direction.&amp;nbsp; Best to check the code to be 100% sure.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Peter&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Jul 2008 05:00:24 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/problem-while-crossrepocopy-through-wcm-submit-workflow/m-p/175638#M128768</guid>
      <dc:creator>pmonks</dc:creator>
      <dc:date>2008-07-02T05:00:24Z</dc:date>
    </item>
    <item>
      <title>Re: Problem while crossrepocopy through WCM submit workflow</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/problem-while-crossrepocopy-through-wcm-submit-workflow/m-p/175639#M128769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi peter,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for replying..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I referred other forum topics like &lt;/SPAN&gt;&lt;A href="http://forums.alfresco.com/en/viewtopic.php?f=4&amp;amp;t=8055&amp;amp;hilit=crossrepocopy" rel="nofollow noopener noreferrer"&gt;http://forums.alfresco.com/en/viewtopic.php?f=4&amp;amp;t=8055&amp;amp;hilit=crossrepocopy&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;and alfresco wiki documentation for crossrepocopy root level object &lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/JavaScript_API#Cross_Repository_Copy" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/JavaScript_API#Cross_Repository_Copy&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;all says that crossrepocopy.copy() is used to copy between DM spaces and WCM spaces.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Moreover the same script works fine for 'content Manager' login, but it fails to copy in case of content contributor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Am i missing something ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Amarpal Kaur&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Jul 2008 07:25:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/problem-while-crossrepocopy-through-wcm-submit-workflow/m-p/175639#M128769</guid>
      <dc:creator>amarpalkaur</dc:creator>
      <dc:date>2008-07-02T07:25:52Z</dc:date>
    </item>
  </channel>
</rss>

