Configuring Notification Spooling

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

This process uses the emxSpool JPO to connect a Notification to the needed Notification Spool object, group the notifications based on the notification type and user preference, invoke the program that actually sends the notifications, then deletes the notification request.

See Also
Configuring Task Alerts
Configuring Attributes for Route Notifications
Configuring Properties
  1. Create or open the text file to contain customized properties. For more information, see Editing Properties Using MQL.
  2. To enable spooling in the emxSystem.properties file:
    1. Add or edit this line in the file used to import properties into a page object:

      emxFramework.Notification.AllowUserPreference=false

    2. Change false to true. True enables notification spooling.
  3. When finished updating the text file with all properties you want to modify, including the ones shown here, use the text file to modify the emxSystem.properties page object. For more information, see Editing Properties Using MQL.
  4. Open the Run MQL window:
    1. From the compass, select Collaboration and Approvals.
    2. In the navigation pane, click Utilities > Run MQL.
    To run an MQL command, enter the command in the MQL Command box and click Run or press Enter.
  5. To set the context for the MQL session, run this command:

    set context user creator;

  6. To determine if the spool objects are already enabled, run this command:

    temp query businessobject "Notification Spool" * *;

    If the value for "Enable For Preference" is TRUE, notification spooling is already enabled and you can skip the next step.

  7. To enable the hourly and weekly notification spool objects, run this command:

    modify businessobject "Notification Spool" Hourly - "Enable For Preference" TRUE;
    modify businessobject "Notification Spool" Weekly - "Enable For Preference" TRUE;

  8. Update the web.xml file to enable the timer servlet and define the spooling periods:
    1. Open the web.xml file located in the warutil directory.
    2. Add the following lines.

      Important: Make sure you use unique context-param_ values in the web.xml file. Use the next number available for each id. 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_19">
      <servlet-name>TimerServlet</servlet-name>
      <servlet-value>com.matrixone.servlet.TimerServlet</servlet-value>
      </servlet>
      <servlet-mapping id="ServletMapping_16">
      <servlet-name>TimerServlet</servlet-name>
      <url-pattern>/servlet/timer/*</url-pattern>
      </servlet-mapping>
      <context-param id="ContextParam_28">
      <param-name>ematrix.timer.agent</param-name>
      <param-value>creator</param-value>
      </context-param>
      <context-param id="ContextParam_29">
      <param-name>ematrix.timer.agent.key</param-name>
      <param-value></param-value>
      </context-param>
      <context-param id="ContextParam_30">
      <param-name>ematrix.timer.interval</param-name>
      <param-value>3600</param-value>
      </context-param>
      <context-param id="ContextParam_31">
      <param-name>ematrix.timer.command</param-name>
      <param-value>execute program emxSpool -method processSpool Hourly</param-value>
      </context-param>
      <context-param id="ContextParam_34">
      <param-name>ematrix.timer.agent1</param-name>
      <param-value>creator</param-value>
      </context-param>
      <context-param id="ContextParam_35">
      <param-name>ematrix.timer.agent.key1</param-name>
      <param-value></param-value>
      </context-param>
      <context-param id="ContextParam_36">
      <param-name>ematrix.timer.interval1</param-name>
      <param-value>84600</param-value>
      </context-param>
      <context-param id="ContextParam_37">
      <param-name>ematrix.timer.command1</param-name>
      <param-value>execute program emxSpool -method processSpool Daily</param-value>
      </context-param>

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

      Note: The ContextParam for 604800 (weekly interval) should remain commented out. Weekly spooling is not available as a user preference.

    3. Save the web.xml file.
    4. Run the warutil to create the archive files with the updated file included.
    The Hourly and Daily options are included in the list of frequencies a user can choose from.