cancel
Showing results for 
Search instead for 
Did you mean: 

How to progress advanced workflow in javascript?

raarm
Champ in-the-making
Champ in-the-making
I´m starting with:

 var space = companyhome.childByNamePath("Teste/Docs Teste"); 
  var date = new Date();
  var file = space.createFile("Teste1("+date.getMilliseconds()+").sdf");
  var workflow = actions.create("start-workflow");
   workflow.parameters.workflowName = "jbpm$wf:apdprocess";
   workflow.parameters["bpm:workflowDescription"] = "APDigital";
        
         workflow.parameters["bpm:groupAssignee"] = "GROUP_CONSTRUCAP";

   workflow.parameters["bpm:workflowDueDate"] = date;
   workflow.execute(file);

how to make the transitions with this?
4 REPLIES 4

fbehfar
Champ on-the-rise
Champ on-the-rise
Hi,
I had the same problem!

take a look at this link:
http://forums.alfresco.com/viewtopic.php?t=10441&sid=73ade78bb00c26e0a460f6e929648fd0

hope it helps

FSB

raarm
Champ in-the-making
Champ in-the-making
Hi,

I need to make transitions with JS!!!

Thanks

raarm
Champ in-the-making
Champ in-the-making
How to execute scripts? I´m trying to execute a script by HttpURLConnection but occurs authentication error:


14:23:26,859 User:guest ERROR [[localhost].[/alfresco].[commandServlet]] Servlet
.service() for servlet commandServlet threw exception
org.alfresco.error.AlfrescoRuntimeException: Error during command servlet proces
sing: Acesso Negado. VocΩ nao tem permissπo para executar esta operaτπo.
        at org.alfresco.web.app.servlet.CommandServlet.service(CommandServlet.ja
va:194)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:210)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:174)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:151)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:870)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:685)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.alfresco.repo.security.permissions.AccessDeniedException: Acesso
Negado. VocΩ nao tem permissπo para executar esta operaτπo.
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethod
Interceptor.invoke(ExceptionTranslatorMethodInterceptor.java:53)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:176)
        at org.alfresco.repo.audit.AuditComponentImpl.auditImpl(AuditComponentIm
pl.java:264)
        at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.j
ava:194)
        at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInte
rceptor.java:69)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:176)
        at org.springframework.transaction.interceptor.TransactionInterceptor.in
voke(TransactionInterceptor.java:107)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:176)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami
cAopProxy.java:210)
        at $Proxy40.resolveNamePath(Unknown Source)
        at org.alfresco.web.app.servlet.BaseServlet.resolveWebDAVPath(BaseServle
t.java:297)
        at org.alfresco.web.app.servlet.BaseServlet.resolveWebDAVPath(BaseServle
t.java:263)
        at org.alfresco.web.app.servlet.BaseServlet.resolveNamePath(BaseServlet.
java:343)
        at org.alfresco.web.app.servlet.command.ScriptCommandProcessor.validateA
rguments(ScriptCommandProcessor.java:80)
        at org.alfresco.web.app.servlet.CommandServlet.service(CommandServlet.ja
va:139)
        … 15 more
Caused by: net.sf.acegisecurity.AccessDeniedException: Access Denied
        at org.alfresco.repo.security.permissions.impl.acegi.ACLEntryAfterInvoca
tionProvider.decide(ACLEntryAfterInvocationProvider.java:299)
        at org.alfresco.repo.security.permissions.impl.acegi.ACLEntryAfterInvoca
tionProvider.decide(ACLEntryAfterInvocationProvider.java:316)
        at org.alfresco.repo.security.permissions.impl.acegi.ACLEntryAfterInvoca
tionProvider.decide(ACLEntryAfterInvocationProvider.java:200)
        at net.sf.acegisecurity.afterinvocation.AfterInvocationProviderManager.d
ecide(AfterInvocationProviderManager.java:107)
        at net.sf.acegisecurity.intercept.AbstractSecurityInterceptor.afterInvoc
ation(AbstractSecurityInterceptor.java:329)
        at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInter
ceptor.invoke(MethodSecurityInterceptor.java:82)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:176)
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethod
Interceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49)
        … 29 more



My code:

public class HttpTest {

   
   private static void printResults(HttpURLConnection con, PrintWriter out)
      throws IOException {

      // abre a conexao pra input
      BufferedReader br =
         new BufferedReader(new InputStreamReader(con.getInputStream()));

      // le ate o final
      StringBuffer newData = new StringBuffer(1000);
      String s = "";
      while (null != ((s = br.readLine()))) {
         newData.append(s);
      }
      br.close();

      // imprime o codigo resultante
      out.println(new String(newData));

      // imprime o numero do resultado
      out.println(
         "Resultado: "
            + con.getResponseCode()
            + "/"
            + con.getResponseMessage());

   }

   
   public static void main(String[] args) {

      //  url
      String urlString = "http://localhost:8080/alfresco/command/script/execute";
      
      
      
      
      try {

         //  parametros
         Properties parameters = new Properties();
   parameters.setProperty("scriptPath", "\\Company%20Home\\Teste\\workflow.js");
         
         
         
         //  interador
         Iterator i = parameters.keySet().iterator();
         // o contador
         int counter = 0;

         // enquanto ainda existir parametros
         while (i.hasNext()) {

            // pega o nome
            String name = (String) i.next();
            // pega o valor
            String value = parameters.getProperty(name);

            // adiciona com um conector (? ou &)
            urlString += (++counter == 1 ? "?" : "&") + name + "=" + value;

         }

         // cria o objeto
         System.out.println("Url: " + urlString);
         URL url = new URL(urlString);

         // cria o objeto httpurlconnection
         HttpURLConnection connection =
            (HttpURLConnection) url.openConnection();

         // seta o metodo
         //connection.setRequestProperty("Request-Method", "GET");
         connection.setRequestMethod("GET");
         connection.setRequestProperty("Authorization", "Basic " + encode("admin" + ":"+ "admin"));
         connection.setRequestProperty("Content-type", "text/html; charset=iso-8859-1");
                  
         // seta a variavel para ler o resultado
         connection.setDoInput(true);
         connection.setDoOutput(false);

         // conecta com a url destino
         connection.connect();

         // mostra os resultados na saida padrao
         printResults(connection, new PrintWriter(System.out, true));
         

      } catch (MalformedURLException ex) {
         // se a url for invalida
         System.err.println("Error: Invalid url: " + urlString);
      } catch (IOException ex) {
         // se ocorrer um erro de io
         ex.printStackTrace();
      }

   }
   public static String encode (String source) {
        BASE64Encoder enc = new sun.misc.BASE64Encoder();
        return(enc.encode(source.getBytes()));
       }


}

He doesn´t executing the script(workflow.js) he is showing the screen login in printResults function(text/html). I need authenticate it to execute the script. But How?


thanks!

raarm
Champ in-the-making
Champ in-the-making
Now my problem is other…….I need to insert comments before transitions when I to finish the tasks.


var task = workflow.getTaskById(id); 
task.endTask(args.t);


Thanks