<?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: How to run execute script as admin? in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297183#M250313</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I thought it can be done simply through execute script.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for the link!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 10 May 2014 13:21:45 GMT</pubDate>
    <dc:creator>e-no91</dc:creator>
    <dc:date>2014-05-10T13:21:45Z</dc:date>
    <item>
      <title>How to run execute script as admin?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297181#M250311</link>
      <description>I've created a javascript file : var dest = companyhome.childByNamePath("Sites/test-script/documentLibrary/dari");document.move(dest);‍‍‍‍The destination folder is where the user have no restriction.I understand that I can use &amp;lt;runas&amp;gt;admin&amp;lt;/runas&amp;gt;‍‍‍in a workflow script, but how do I cod</description>
      <pubDate>Sat, 10 May 2014 07:22:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297181#M250311</guid>
      <dc:creator>e-no91</dc:creator>
      <dc:date>2014-05-10T07:22:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to run execute script as admin?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297182#M250312</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;To do this in javascript, you will have to write a custom javascript extension. Here is a link to a forum post which explains the steps to create a custom javascript extension.&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.alfresco.com/comment/146025#comment-146025" rel="nofollow noopener noreferrer"&gt;http://forums.alfresco.com/comment/146025#comment-146025&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;You can take this steps as reference and create your own custom javascript extension in which write a method and set the authentication to run as admin/system user.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 May 2014 08:04:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297182#M250312</guid>
      <dc:creator>romschn</dc:creator>
      <dc:date>2014-05-10T08:04:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to run execute script as admin?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297183#M250313</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I thought it can be done simply through execute script.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for the link!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 May 2014 13:21:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297183#M250313</guid>
      <dc:creator>e-no91</dc:creator>
      <dc:date>2014-05-10T13:21:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to run execute script as admin?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297184#M250314</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BR /&gt;&lt;SPAN&gt;-&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 May 2014 00:14:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297184#M250314</guid>
      <dc:creator>e-no91</dc:creator>
      <dc:date>2014-05-11T00:14:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to run execute script as admin?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297185#M250315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;To answer your question for others that might come on this page like I did…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- The XML &amp;lt;runas&amp;gt;admin&amp;lt;/runas&amp;gt; is for webscript in javascript. It's not usable when you are doing plain Javascript ( repo/data dicionnary/scripts ).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you want to execute your Javascript method with admin rights, you will need to create an extension to the Javascript API. This API has been make in Java, so you will have to do some Java ( but not too much don't worry ). Note this extension is also called Javascript Root Object.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To deploy, you will have no other solution ( at the moment ) than doing an AMP file, which is the common way to deploy our stuff in Alfresco.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This has been tested on Alfresco 5.1 and should work on older version as well.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I will provide some links, for further information, but you should be able to achieve your goal without using them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That said, let's go :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1) Create an AMP&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To create an amp, you will have to use maven command.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This link will help you for further info : &lt;/SPAN&gt;&lt;A href="http://docs.alfresco.com/5.1/tasks/alfresco-sdk-tutorials-share-amp-archetype.html" rel="nofollow noopener noreferrer"&gt;http://docs.alfresco.com/5.1/tasks/alfresco-sdk-tutorials-share-amp-archetype.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Basically you use :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;strong&amp;gt;mvn archetype:generate -Dfilter=org.alfresco: &amp;lt;/strong&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Choose option 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Use latest version, give your groupId… let's say we use here, com.example and artifactId runAsUtil&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2) Update the source&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now we gonna inject some code in your AMP. So we will give a java file, and a context.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the official and easier example if you want to go through it first [ up to you ] : &lt;/SPAN&gt;&lt;A href="http://docs.alfresco.com/5.1/references/dev-extension-points-javascript-root-objects.html" rel="nofollow noopener noreferrer"&gt;http://docs.alfresco.com/5.1/references/dev-extension-points-javascript-root-objects.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Java : &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;File Name : RunAsAdminUtil.java&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Location : &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Create a folder Jscript ( you can change the name, but if you do, update all reference I will provide later ) as&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;strong&amp;gt;&amp;lt;where_you_created_the_folder_with_maven&amp;gt;\runAsUtil\runAsUtil-repo-amp\src\main\java\com\example\jscript&amp;lt;/strong&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note that com\example might be different for you if you used a different groupId&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the full content of the Java file :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;package com.example.jscript;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.alfresco.repo.jscript.BaseScopableProcessorExtension;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.alfresco.repo.security.authentication.AuthenticationUtil;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.mozilla.javascript.Function;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.mozilla.javascript.Context;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.mozilla.javascript.Scriptable;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public class RunAsAdminUtil extends BaseScopableProcessorExtension {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void runAsAdmin(final Function func, final Object args[]) {&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;final Context cx = Context.getCurrentContext();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;final Scriptable scope = getScope();&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;AuthenticationUtil.RunAsWork raw = new AuthenticationUtil.RunAsWork() {&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;public Object doWork() throws Exception {&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; func.call(cx, scope, scope, (args != null ? args : new Object[] {}));&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; return null;&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;}&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;AuthenticationUtil.runAs(raw, AuthenticationUtil.getSystemUserName());&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Context file :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;FileName : service-context.xml&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Location : C:\Users\bertrand.barraud\Desktop\Alfresco TEST\runAsUtil\runAsUtil-repo-amp\src\main\amp\config\alfresco\module\runAsUtil-repo-amp\context&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note that runAsUtil is our artifactId&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Content to add :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;xml&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;bean id="runAsUtil-repo-amp.customRootObject" &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class="com.example.jscript.RunAsAdminUtil"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parent="baseJavaScriptExtension"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;property name="extensionName" value="runAsUtil"/&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/bean&amp;gt;&lt;BR /&gt;&amp;lt;/xml&amp;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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Full file content :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;&lt;BR /&gt;&amp;lt;!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' '&lt;A href="http://www.springframework.org/dtd/spring-beans.dtd" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/dtd/spring-beans.dtd&lt;/A&gt;'&amp;gt;&lt;BR /&gt;&amp;lt;!–&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Licensed to the Apache Software Foundation (ASF) under one or more&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;contributor license agreements.&amp;nbsp; See the NOTICE file distributed with&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this work for additional information regarding copyright ownership.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;The ASF licenses this file to You under the Apache License, Version 2.0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(the "License"); you may not use this file except in compliance with&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;the License.&amp;nbsp; You may obtain a copy of the License at&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;A href="http://www.apache.org/licenses/LICENSE-2.0" rel="nofollow noopener noreferrer"&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/A&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Unless required by applicable law or agreed to in writing, software&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;distributed under the License is distributed on an "AS IS" BASIS,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;See the License for the specific language governing permissions and&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;limitations under the License.&lt;BR /&gt;–&amp;gt;&lt;BR /&gt;&amp;lt;beans&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!– A simple class that is initialized by Spring –&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id="custom-repo-amp.exampleBean" class="com.fiducial.demoamp.Demo" init-method="init" /&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!– A simple module component that will be executed once.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Note. this module component will only be executed once, and then there will be an entry for it in the Repo.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; So doing for example $ mvn clean install -Prun twice will only execute this component the first time.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You need to remove /alf_data_dev for it to be executed again. –&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id="custom-repo-amp.exampleComponent" class="com.fiducial.demoamp.DemoComponent" parent="module.baseComponent" &amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="moduleId" value="custom-repo-amp" /&amp;gt;&amp;nbsp; &amp;lt;!– See module.properties –&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="name" value="exampleComponent" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="description" value="A demonstration component" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="sinceVersion" value="1.0" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="appliesFromVersion" value="1.0" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="nodeService" ref="NodeService" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="nodeLocatorService" ref="nodeLocatorService" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;bean id="runAsUtil-repo-amp.customRootObject" &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class="com.example.jscript.RunAsAdminUtil"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parent="baseJavaScriptExtension"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;property name="extensionName" value="runAsUtil"/&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;lt;/beans&amp;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;/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;BR /&gt;&lt;SPAN&gt;Note :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- value= is your artifactId&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- id = [artifactId]-repo-amp.customRootObject&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ect..&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Make sure your bean is well configurated. I advice to use the provided example before changing the naming &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;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3) Compilation and Deployment&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Compilation :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Go to the root folder of the project ( folder generated by maven ) and use the command : &amp;lt;strong&amp;gt;mvn clean install -e&amp;lt;/strong&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At this point if you have error, check all the steps and all your naming&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Deployment :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Get the amp file in &amp;lt;strong&amp;gt;&amp;lt;rootFolder&amp;gt;/runAsUtil-repo-amp/target&amp;lt;/strong&amp;gt; should be named something like &amp;lt;strong&amp;gt;runAsUtil-repo-amp-1.0-SNAPSHOT.amp&amp;lt;/strong&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Drop the file into your alfresco instance in the amp folder, should be located on your server somewhere like :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;strong&amp;gt;/opt/alfresco-one/amps&amp;lt;/strong&amp;gt;&amp;nbsp; ( on unix )&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Apply the amp :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;strong&amp;gt;sudo sh /opt/alfresco-one/bin/apply_amps.sh&amp;lt;/strong&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note : You should see your amp in the list visible in the console&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Restart alfresco :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;strong&amp;gt;sudo sh /opt/alfresco-one/alfresco.sh restart&amp;lt;/strong&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;—————-&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You deployed the AMP ! Nice &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;BR /&gt;&lt;SPAN&gt;Now you just need to know how to use this in your javascript !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4) Javascript&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You just need to use the artifactId ( in your bean value= ) as the package/object name then the method you want to use. No import, no include nothing, it's directly usable from the API.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Example :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;javascript&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;runAsUtil.runAsAdmin(moveDocument, [moveLocation]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/javascript&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Note :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In this example, I give a parameter to my function. Do not forget the runAsAdmin method expect an array as second arg ! Else you will have an error, saying that the software can't find runAsAdmin.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this help someone to not waste 2 days like I did &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;BR /&gt;&lt;SPAN&gt;Good luck !!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;PS: Do not forget to share your solution when you find it &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, 23 Aug 2016 19:31:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-run-execute-script-as-admin/m-p/297185#M250315</guid>
      <dc:creator>beber7</dc:creator>
      <dc:date>2016-08-23T19:31:58Z</dc:date>
    </item>
  </channel>
</rss>

