Configuring the Timer Servlet

You can configure Market Registration to send notifications when periodic reviews are pending or overdue using the timer servlet. The timer servlet is also used to promote documents on the effective date. You have to configure the timer servlet to automate this process.


Before you begin: A timer servlet should already be installed with the Collaboration Server, but it is commented out.

Follow the steps to uncomment out the timer servlet and its parameters, and to add the parameters for specific types of timed actions. If you do not want to enable a specific timed action, do not enter the code listed in that step.

  1. Open the web.xml file located in the warutil directory.
  2. To enable the servlet, uncomment out the following lines by removing the <!-- and --> from the beginning and end. If these lines are not in the file, add them.

    <servlet id="Servlet_14">
    <servlet-name>TimerServlet</servlet-name>
    <servlet-class>com.matrixone.servlet.TimerServlet</servlet-class>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping id="ServletMapping_15">
    <servlet-name>TimerServlet</servlet-name>
    <url-pattern>/servlet/timer/*</url-pattern>
    </servlet-mapping>
    <context-param id="ContextParam_16">
    <param-name>ematrix.timer.agent</param-name>
    <param-value>creator</param-value>
    </context-param>
    
    <context-param id="ContextParam_17">
    <param-name>ematrix.timer.agent.key</param-name>
    <param-value></param-value>
    </context-param>
    Note: If you had to add the lines manually, make sure there is not already a servlet id="Servlet_19", "ServletMapping_16", or ContextParam_n" in the web.xml file. If there are, use the next number available for each ID. These numbers are simply identifiers, so it does not matter what they are but they cannot be duplicated in the file. The same rule applies for ContextParam IDs in the rest of this procedure.

  3. Enter username, password, and timer interval values between the corresponding <param-value> and </param-value> tags.

    • For ematrix.timer.agent, enter the username that the servlet should use to set context in MQL. This should be a creator who has privileges to run the program.
    • For ematrix.timer.agent.key, enter the password for the username, if there is any. For the creator user, for example, there is no password.

  4. To enable notifications to users when a task has been escalated, add this code to the web.xml file:

    <context-param id="ContextParam_18">
    <param-name>ematrix.timer.interval1</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_19">
    <param-name>ematrix.timer.command1</param-name>
    <param-value> execute program emxProjectSpace -method performTaskEscalation</param-value>

    The interval value is in seconds. The 1 in the parameter names for interval1 and command1 ties the interval and command together.

    The web.xml file could contain multiple ematrix.timer.interval and ematrix.timer.command parameters. If these parameter values already exist, use the next available integer.

  5. To enable notification spooling, add this code to the web.xml file:

    <context-param id="ContextParam_20">
    <param-name>ematrix.timer.interval2</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_21">
    <param-name>ematrix.timer.command2</param-name>
    <param-value> execute program emxSpool -method processSpool Daily</param-value>

    The 2 in the parameter names for interval2 and command2 ties the interval and command together. Use the next available integer for these parameter names.

  6. To enable notifications to a user when the user is assigned a task, add this code to the web.xml file:

    <context-param id="ContextParam_22">
    <param-name>ematrix.timer.interval3</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_23">
    <param-name>ematrix.timer.command3</param-name>
    <param-value> execute program program emxProgramCentralNotificationUtil -method notifyTaskAssignees AssignedTask</param-value>

    The 3 in the parameter names for interval3 and command3 ties the interval and command together. Use the next available integer for these parameter names.

  7. To perform all the updates required when a Market Authorization reaches the Obsolete state, add this code to the web.xml file:

    <context-param id="ContextParam_24">
    <param-name>ematrix.timer.interval4</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_25">
    <param-name>ematrix.timer.command4</param-name>
    <param-value> execute program com.dassault_systemes.enovia.lsa.lra.services.trigger.MarketAuthorizations -method obseleteMarketAuthorization </param-value>

    The 4 in the parameter names for interval4 and command4 ties the interval and command together. Use the next available integer for these parameter names.

  8. To automatically close a market authorization change when it reaches the effective date, add this code to the web.xml file:

    <context-param id="ContextParam_26">
    <param-name>ematrix.timer.interval5</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_27">
    <param-name>ematrix.timer.command5</param-name>
    <param-value> execute program com.dassault_systemes.enovia.lsa.lra.services.trigger.MarketAuthorizations -method closeMarketAuthorizationChangeOnEffectiveDate  </param-value>

    The 5 in the parameter names for interval5 and command5 ties the interval and command together. Use the next available integer for these parameter names.

  9. To enable notifications for Market Registration activities, add this code to the web.xml file:

    <context-param id="ContextParam_28">
    <param-name>ematrix.timer.interval6</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_29">
    <param-name>ematrix.timer.command6</param-name>
    <param-value> execute program com.dassault_systemes.enovia.lsa.lra.services.trigger.MarketAuthorizations -method sendNotifications</param-value>

    The 6 in the parameter names for interval6 and command6 ties the interval and command together. Use the next available integer for these parameter names.

  10. To notify task assignees about regulatory milestones, add this code to the web.xml file:

    <context-param id="ContextParam_30">
    <param-name>ematrix.timer.interval7</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_31">
    <param-name>ematrix.timer.command7</param-name>
    <param-value> execute program com.dassault_systemes.enovia.lsa.lra.services.ui.Submission -method notifyTaskAssigneesRegulatoryMilestone</param-value>

    The 7 in the parameter names for interval7 and command7 ties the interval and command together. Use the next available integer for these parameter names.

  11. To notify task assignees about interactive review assignments, add this code to the web.xml file:

    <context-param id="ContextParam_32">
    <param-name>ematrix.timer.interval8</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_33">
    <param-name>ematrix.timer.command8</param-name>
    <param-value> execute program com.dassault_systemes.enovia.lsa.lra.services.ui.Submission -method notifyTaskAssigneesInteractiveReview</param-value>

    The 8 in the parameter names for interval8 and command8 ties the interval and command together. Use the next available integer for these parameter names.

  12. To notify task assignees about interactive review assignments, add this code to the web.xml file:

    <context-param id="ContextParam_34">
    <param-name>ematrix.timer.interval9</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_35">
    <param-name>ematrix.timer.command9</param-name>
    <param-value> execute program com.dassault_systemes.enovia.lsa.lra.services.ui.Submission -method notifyTaskAssigneesInteractiveReview</param-value>

    As above, the 9 in the parameter names for interval9 and command9 ties the interval and command together. Use the next available integer for these parameter names.

  13. To notify users about the estimated end date for a regulatory milestone, add this code to the web.xml file:

    <context-param id="ContextParam_36">
    <param-name>ematrix.timer.interval10</param-name>
    <param-value>60</param-value>
    </context-param>
    
    <context-param id="ContextParam_37">
    <param-name>ematrix.timer.command10</param-name>
    <param-value> execute program com.dassault_systemes.enovia.lsa.lra.services.ui.Submission -method completeRegulatoryMilestoneOnEstimatedEndDate</param-value>

    The 10 in the parameter names for interval10 and command10 ties the interval and command together. Use the next available integer for these parameter names.

  14. Save the web.xml file.
  15. Run the warutil to create the archive files that include the updated web.xml file.
  16. Copy the ematrix folder from distrib to the application folder.