As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
2013-01-28 16:56:50,228 ERROR [extensions.webscripts.AbstractRuntime] [1204255135@qtp-1346152001-5] Exception from executeScript - redirecting to status template error: 00280000 Wrapped Exception (with status template): null org.springframework.extensions.webscripts.WebScriptException: 00280000 Wrapped Exception (with status template): null at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:1067) at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:171) at org.springframework.extensions.webscripts.PresentationContainer.executeScript(PresentationContainer.java:70) at org.springframework.extensions.webscripts.LocalWebScriptRuntimeContainer.executeScript(LocalWebScriptRuntimeContainer.java:240) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:377) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209) at org.springframework.extensions.webscripts.servlet.mvc.WebScriptView.renderMergedOutputModel(WebScriptView.java:104) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:195) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:159) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Caused by: java.lang.NullPointerException at org.alfresco.web.scripts.forms.FormUIGet.processFieldConstraintControl(FormUIGet.java:1956) at org.alfresco.web.scripts.forms.FormUIGet.generateConstraintModel(FormUIGet.java:1816) at org.alfresco.web.scripts.forms.FormUIGet.processFieldConstraints(FormUIGet.java:1701) at org.alfresco.web.scripts.forms.FormUIGet.generateFieldModel(FormUIGet.java:1315) at org.alfresco.web.scripts.forms.FormUIGet.generateDefaultSetModelUsingServerFields(FormUIGet.java:1255) at org.alfresco.web.scripts.forms.FormUIGet.processServerFields(FormUIGet.java:1117) at org.alfresco.web.scripts.forms.FormUIGet.processFields(FormUIGet.java:1058) at org.alfresco.web.scripts.forms.FormUIGet.generateFormUIModel(FormUIGet.java:666) at org.alfresco.web.scripts.forms.FormUIGet.generateFormModel(FormUIGet.java:609) at org.alfresco.web.scripts.forms.FormUIGet.generateModel(FormUIGet.java:265) at org.alfresco.web.scripts.forms.FormUIGet.executeImpl(FormUIGet.java:220) at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:64) … 43 more
<?xml version='1.0' encoding='UTF-8'?> <!– NOTE schema does not accept condition-definitions inside transitions following note makes hope for future versions of alfresco (including more advanced versions of jbpm): "Added condition attribute to transition element in jPDL 3.2 schema." <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:createCampaign"> –> <model name="testwf:createCertificate" xmlns="http://www.alfresco.org/model/dictionary/1.0"> <description>Create Campaign Task Model</description> <author>Thomas Mueller</author> <version>1.0</version> <imports> <!– Import Alfresco Dictionary Definitions –> <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d" /> <!– Import Alfresco System Definitions –> <import uri="http://www.alfresco.org/model/system/1.0" prefix="sys" /> <!– Import Alfresco Content Domain Model Definitions –> <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" /> <!– Import User Model Definitions –> <import uri="http://www.alfresco.org/model/user/1.0" prefix="usr" /> <import uri="http://www.alfresco.org/model/site/1.0" prefix="st" /> <import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm" /> <import uri="http://www.alfresco.org/model/workflow/1.0" prefix="wf" /> </imports> <namespaces> <namespace uri="http://www.metamagix.at/model/workflow/1.0" prefix="testwf" /> </namespaces> <constraints> <constraint name="testwf:siteRoles" type="LIST"> <parameter name="allowedValues"> <list> <value>SiteManager</value> <value>SiteCollaborator</value> <value>SiteContributor</value> <value>SiteConsumer</value> </list> </parameter> <parameter name="caseSensitive"> <value>true</value> </parameter> </constraint> <constraint name="testwf:certStatus" type="LIST"> <parameter name="allowedValues"> <list> <value>Anfrage</value> <value>Vorbereitung</value> <value>Begutachtung</value> <value>Zertifiziert</value> <value>Abgelehnt</value> </list> </parameter> <parameter name="caseSensitive"> <value>true</value> </parameter> </constraint> </constraints> <types> <type name="testwf:moderatedInvitationSubmitTask"> <parent>bpm:startTask</parent> <properties> <property name="testwf:einrichtung"> <type>d:text</type> </property> <property name="testwf:traeger"> <type>d:text</type> </property> <property name="testwf:certRequestDate"> <type>d:text</type> </property> <property name="testwf:certVisitDate"> <type>d:text</type> </property> <property name="testwf:certStatus"> <type>d:text</type> <protected>false</protected> <constraints> <constraint ref="testwf:certStatus" /> </constraints> </property> </properties> <mandatory-aspects> <aspect>bpm:assignees</aspect> </mandatory-aspects> </type> <type name="testwf:moderatedInvitationReviewTask"> <parent>bpm:workflowTask</parent> <properties> <property name="testwf:userPassword"> <type>d:text</type> </property> <property name="testwf:siteRoles"> <type>d:text</type> <protected>false</protected> <constraints> <constraint ref="testwf:siteRoles" /> </constraints> </property> </properties> <mandatory-aspects> <aspect>testwf:sites</aspect> <aspect>bpm:assignee</aspect> </mandatory-aspects> </type> </types> <aspects> <aspect name="testwf:createAccountStats"> <properties> <property name="testwf:createUserName"> <type>d:text</type> </property> <property name="testwf:createEmail"> <type>d:text</type> </property> </properties> </aspect> <aspect name="testwf:sites"> <associations> <association name="testwf:sites"> <source> <mandatory>false</mandatory> <many>false</many> </source> <target> <class>st:site</class> <mandatory>false</mandatory> <many>true</many> </target> </association> </associations> </aspect> </aspects> </model>
<?xml version='1.0' encoding='UTF-8'?> <!– NOTE schema does not accept condition-definitions inside transitions following note makes hope for future versions of alfresco (including more advanced versions of jbpm): "Added condition attribute to transition element in jPDL 3.2 schema." <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="createCampaign"> –> <!– <process-definition name="wf:createCampaign"> –> <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="testwf:invitation-moderated"> <!– swimlanes enable shortcuts for user behaviour –> <swimlane name="initiator"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <pooledactors>#{people.getGroup("ALFRESCO_ADMINISTRATORS")} </pooledactors> </assignment> </swimlane> <start-state name="start"> <task name="testwf:moderatedInvitationSubmitTask" swimlane="initiator" /> <transition to="review" name=""></transition> </start-state> <swimlane name="approver"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>admin</actor> </assignment> </swimlane> <task-node name="review"> <event type="task-create"> <script> bpm_startDate = new Date(); if (bpm_workflowDueDate != void) { taskInstance.dueDate = bpm_workflowDueDate; } if (bpm_workflowPriority != void) { taskInstance.priority = bpm_workflowPriority; } </script> </event> <task name="testwf:moderatedInvitationReviewTask" swimlane="approver" /> <transition name="approve" to="approved"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="testwf_reviewer" access="write" /> <expression>person.properties.userName</expression> </script> </action> </transition> <transition name="reject" to="rejected"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="testwf_reviewer" access="write" /> <expression>person.properties.userName</expression> </script> </action> </transition> </task-node> <!– mail.parameters.subject = "Account creation " + bpm_workflowDescription; –> <task-node name="rejected"> <transition name="" to="end"> <!– <action class="org.alfresco.repo.invitation.ModeratedActionReject"/> –> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> var mail = actions.create("mail"); var userName = bpm_assignee.properties["cm:userName"]; mail.parameters.to = bpm_assignee.properties["cm:email"]; mail.parameters.subject = "Account creation rejected."; mail.parameters.from = initiator.properties["cm:email"]; mail.parameters.text = "The user has been rejected."; mail.parameters.text += "\nUsername: '" + userName + "'"; var person = people.getPerson(userName); if (person === null) { mail.parameters.text += "\nAccount not created."; } else { people.deletePerson(userName); person = null; mail.parameters.text += "\nAccount not created."; } mail.execute(bpm_package); </script> </action> </transition> </task-node> <task-node name="approved"> <transition name="" to="end"> <!– <action class="org.alfresco.repo.invitation.ModeratedActionApprove"/> –> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> var mail = actions.create("mail"); var userName = bpm_assignee.properties["cm:userName"]; mail.parameters.to = bpm_assignee.properties["cm:email"]; mail.parameters.subject = "Account Creation accepted"; mail.parameters.from = initiator.properties["cm:email"]; mail.parameters.text = "The user has been approved. Username: '" + userName + "'"; var person = people.getPerson(userName); if (person === null) { mail.parameters.text += "\nAccount with username '" + username + "' not found, not doing anything."; mail.parameters.text += "\nPlease contact the administrator for further information."; } else { if (people.isAccountEnabled(userName)) { mail.parameters.text += "\nAccount enabled."; } else { mail.parameters.text += "\nAccount could not be enabled, please contact the administrator for further information."; } mail.parameters.text += "\nPassword is '" + testwf_userPassword + "'. "; mail.parameters.text += "Please change the password immediately after login!"; mail.parameters.text += "\nYou were not invited to any site. Please contact the administrator for further information." } mail.execute(bpm_package); </script> </action> </transition> </task-node> <end-state name="end" /> </process-definition>
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'> <beans> <bean id="tbwaWorkflows.workFlowBootstrap" parent="workflowDeployer"> <property name="workflowDefinitions"> <list> <props> <prop key="engineId">jbpm</prop> <prop key="location">alfresco/extension/workflow/testwf-processdefinition.xml</prop> <prop key="mimetype">text/xml</prop> <!– set this to false in production-environment –> <prop key="redeploy">true</prop> </props> </list> </property> <property name="models"> <list> <!– Task Model associated with above process definition –> <value>alfresco/extension/workflow/testwf-model.xml</value> </list> </property> <property name="labels"> <list> <value>alfresco/extension/workflow/custom-workflow</value> </list> </property> </bean> </beans>