Customizing Task Notifications

You can configure the system to spool notifications about Project Management events to users, and then send email notifications based on each user's individual preference.

See Also
Configuring Properties
  1. Create or open the text file to contain customized properties. For more information, see Editing Properties Using MQL.
  2. To configure task notifications, follow these steps:
    1. Add or edit this line in the file used to import properties into a page object:

      emxFramework.Notification.AllowUserPreference=false
      A "true" value enables notification spooling. Other apps can also use notification spooling, and this property may already be defined to enable spooling.

    2. When finished editing, restart the app server. If using a J2EE implementation, run the warutil and deploy files as usual.
  3. When finished updating the text file with all properties you want to modify, including the one shown here, use the text file to modify the emx.System.properties page object. For more information, see Editing Properties Using MQL.
  4. To enable the timer servlet and define the spooling periods, follow these steps:
    1. Open the web.xml file located in the warutil directory.
    2. Add the following code:

      Important: The id numbers in the examples are shown as n, but may have an integer value already assigned in the web.xml file. Make sure you use unique context-param id values in the web.xml file. These numbers are simple identifiers, so it does not matter what numbers are assigned, but they cannot be duplicated in the file.
      <servlet id=Servlet_n">
      <servlet-name>TimerServlet</servlet-name>
      <servlet-value>com.matrixone.servlet.TimerServlet</servlet-value>
      <load-on-startup>2</load-on-startup>
      </servlet>
      <servlet-mapping id=ServletMapping_n">
      <servlet-name>TimerServlet</servlet-name>
      <url-pattern>/servlet/timer/*</url-pattern>
      <load-on-startup>2</load-on-startup>
      </servlet>

      Parameters for submitted and rejected timesheet notifications:

      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.agent</param-name>
      <param-value>creator</param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.agent.key</param-name>
      <param-value></param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.interval</param-name>
      <param-value>3600</param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.command</param-name>
      <param-value>execute program emxSpool -method processSpool Hourly</param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.agent1</param-name>
      <param-value>creator</param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.agent.key1</param-name>
      <param-value></param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.interval1</param-name>
      <param-value>84600</param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.command1</param-name>
      <param-value>execute program emxSpool -method processSpool Daily</param-value>
      </context-param>

      Parameters for assigned task notifications:

      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.agent2</param-name>
      <param-value>creator</param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.agent.key2</param-name>
      <param-value></param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.interval2</param-name>
      <param-value>84600</param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.command2</param-name>
      <param-value>execute program emxProgramCentralNotificationUtil -method notifyTaskAssignees AssignedTask</param-value>
      </context-param>

      Parameters for late task notifications:

      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.agent3</param-name>
      <param-value>creator</param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.agent.key3</param-name>
      <param-value></param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.interval3</param-name>
      <param-value>84600</param-value>
      </context-param>
      <context-param id="ContextParam_n">
      <param-name>ematrix.timer.command3</param-name>
      <param-value>execute program emxProgramCentralNotificationUtil -method notifyTaskAssignees LateTask</param-value>
      </context-param>

      3600 sets an interval of an hour; 84600 sets an interval of a day.

    3. Save the web.xml file and run the warutil.