<?xml version="1.0" encoding="UTF-8"?>

<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd http://www.exoplatform.org/xml/ns/kernel_1_2.xsd"
  xmlns="http://www.exoplatform.org/xml/ns/kernel_1_2.xsd">
  
  <external-component-plugins>
    <target-component>org.exoplatform.commons.api.notification.service.setting.PluginSettingService</target-component>
    <component-plugin profiles="all">
      <name>notification.groups</name>
      <set-method>registerGroupConfig</set-method>
      <type>org.exoplatform.commons.api.notification.plugin.GroupProviderPlugin</type>
      <description>Initial the default groups.</description>
      <init-params>
        <object-param>
          <name>group.ticket</name>
          <description>The information of group tickets</description>
          <object type="org.exoplatform.commons.api.notification.plugin.config.GroupConfig">
            <field name="id">
              <string>ticket</string>
            </field>
            <field name="resourceBundleKey">
              <string>UINotification.label.group.Ticket</string>
            </field>
            <field name="order">
              <string>100</string>
            </field>
          </object>
        </object-param>       
      </init-params>
    </component-plugin>
  </external-component-plugins>

  <external-component-plugins>
    <target-component>org.exoplatform.commons.api.notification.service.setting.PluginContainer</target-component>
    <component-plugin>
      <name>notification.plugins</name>
      <set-method>addPlugin</set-method>
      <type>org.exoplatform.cs.integration.notification.CSReminderPlugin</type>
      <description>Initial information for plugin.</description>
      <init-params>
        <object-param>
          <name>template.CSReminderPlugin</name>
          <description>The template of CSReminderPlugin</description>
          <object
            type="org.exoplatform.commons.api.notification.plugin.config.PluginConfig">
            <field name="pluginId">
              <string>CSReminderPlugin</string>
            </field>
            <field name="resourceBundleKey">
              <string>UINotification.label.CSReminderPlugin</string>
            </field>
            <field name="order">
              <string>1</string>
            </field>
            <field name="defaultConfig">
              <collection type="java.util.ArrayList">
                <value>
                  <string>daily</string>
                </value>
                <value>
                  <string>Instantly</string>
                </value>
              </collection>
            </field>
            <field name="groupId">
              <string>ticket</string>
            </field>
            <field name="bundlePath">
              <string>locale.notification.CSNotification</string>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>
  
<external-component-plugins>
    <target-component>org.exoplatform.commons.api.notification.service.setting.PluginContainer</target-component>
    <component-plugin>
      <name>notification.plugins</name>
      <set-method>addPlugin</set-method>
      <type>org.exoplatform.cs.integration.notification.CSStatusChangedNotificationPlugin</type>
      <description>Initial information for plugin.</description>
      <init-params>
        <object-param>
          <name>template.CSStatusChangedNotificationPlugin</name>
          <description>The template of CSStatusChangedNotificationPlugin</description>
          <object
            type="org.exoplatform.commons.api.notification.plugin.config.PluginConfig">
            <field name="pluginId">
              <string>CSStatusChangedNotificationPlugin</string>
            </field>
            <field name="resourceBundleKey">
              <string>UINotification.label.CSStatusChangedNotificationPlugin</string>
            </field>
            <field name="order">
              <string>2</string>
            </field>
            <field name="defaultConfig">
              <collection type="java.util.ArrayList">
                <value>
                  <string>daily</string>
                </value>
                <value>
                  <string>Instantly</string>
                </value>
              </collection>
            </field>
            <field name="groupId">
              <string>ticket</string>
            </field>
            <field name="bundlePath">
              <string>locale.notification.CSNotification</string>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>
  
  <external-component-plugins>
    <target-component>org.exoplatform.commons.api.notification.service.setting.PluginContainer</target-component>
    <component-plugin>
      <name>notification.plugins</name>
      <set-method>addPlugin</set-method>
      <type>org.exoplatform.cs.integration.notification.CSTicketAssignedNotificationPlugin</type>
      <description>Initial information for plugin.</description>
      <init-params>
        <object-param>
          <name>template.CSTicketAssignedNotificationPlugin</name>
          <description>The template of CSTicketAssignedNotificationPlugin</description>
          <object
            type="org.exoplatform.commons.api.notification.plugin.config.PluginConfig">
            <field name="pluginId">
              <string>CSTicketAssignedNotificationPlugin</string>
            </field>
            <field name="resourceBundleKey">
              <string>UINotification.label.CSTicketAssignedNotificationPlugin</string>
            </field>
            <field name="order">
              <string>3</string>
            </field>
            <field name="defaultConfig">
              <collection type="java.util.ArrayList">
                <value>
                  <string>daily</string>
                </value>
                <value>
                  <string>Instantly</string>
                </value>
              </collection>
            </field>
            <field name="groupId">
              <string>ticket</string>
            </field>
            <field name="bundlePath">
              <string>locale.notification.CSNotification</string>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>


  <external-component-plugins>
    <target-component>org.exoplatform.commons.apinotification.service.setting.PluginContainer</target-component>
    <component-plugin>
      <name>notification.plugins</name>
      <set-method>addPlugin</set-method>
      <type>org.exoplatform.cs.integration.notification.CSTicketAssignedToMeNotificationPlugin</type>
      <description>Initial information for plugin.</description>
      <init-params>
        <object-param>
          <name>template.CSTicketAssignedToMeNotificationPlugin</name>
          <description>The template of CSTicketAssignedToMeNotificationPlugin</description>
          <object
                  type="org.exoplatform.commons.api.notification.plugin.config.PluginConfig">
            <field name="pluginId">
              <string>CSTicketAssignedToMeNotificationPlugin</string>
            </field>
            <field name="resourceBundleKey">
              <string>UINotification.label.CSTicketAssignedToMeNotificationPlugin</string>
            </field>
            <field name="order">
              <string>3</string>
            </field>
            <field name="defaultConfig">
              <collection type="java.util.ArrayList">
                <value>
                  <string>daily</string>
                </value>
                <value>
                  <string>Instantly</string>
                </value>
              </collection>
            </field>
            <field name="groupId">
              <string>ticket</string>
            </field>
            <field name="bundlePath">
              <string>locale.notification.CSNotification</string>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>

  <external-component-plugins>
    <target-component>org.exoplatform.commons.api.notification.service.setting.PluginContainer</target-component>
    <component-plugin>
      <name>notification.plugins</name>
      <set-method>addPlugin</set-method>
      <type>org.exoplatform.cs.integration.notification.CSTicketClosedNotificationPlugin</type>
      <description>Initial information for plugin.</description>
      <init-params>
        <object-param>
          <name>template.CSTicketClosedNotificationPlugin</name>
          <description>The template of CSTicketClosedNotificationPlugin</description>
          <object
                  type="org.exoplatform.commons.api.notification.plugin.config.PluginConfig">
            <field name="pluginId">
              <string>CSTicketClosedNotificationPlugin</string>
            </field>
            <field name="resourceBundleKey">
              <string>UINotification.label.CSTicketClosedNotificationPlugin</string>
            </field>
            <field name="order">
              <string>3</string>
            </field>
            <field name="defaultConfig">
              <collection type="java.util.ArrayList">
                <value>
                  <string>daily</string>
                </value>
                <value>
                  <string>Instantly</string>
                </value>
              </collection>
            </field>
            <field name="groupId">
              <string>ticket</string>
            </field>
            <field name="bundlePath">
              <string>locale.notification.CSNotification</string>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>

  <external-component-plugins>
    <target-component>org.exoplatform.commons.api.notification.service.setting.PluginContainer</target-component>
    <component-plugin>
      <name>notification.plugins</name>
      <set-method>addPlugin</set-method>
      <type>org.exoplatform.cs.integration.notification.CSSubscriptionExpiredPlugin</type>
      <description>Initial information for plugin.</description>
      <init-params>
        <object-param>
          <name>template.CSSubscriptionExpiredPlugin</name>
          <description>The template of CSSubscriptionExpiredPlugin</description>
          <object
                  type="org.exoplatform.commons.api.notification.plugin.config.PluginConfig">
            <field name="pluginId">
              <string>CSSubscriptionExpiredPlugin</string>
            </field>
            <field name="resourceBundleKey">
              <string>UINotification.label.CSSubscriptionExpiredPlugin</string>
            </field>
            <field name="order">
              <string>3</string>
            </field>
            <field name="defaultConfig">
              <collection type="java.util.ArrayList">
                <value>
                  <string>daily</string>
                </value>
                <value>
                  <string>Instantly</string>
                </value>
              </collection>
            </field>
            <field name="groupId">
              <string>ticket</string>
            </field>
            <field name="bundlePath">
              <string>locale.notification.CSNotification</string>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>

  <external-component-plugins>
    <target-component>org.exoplatform.commons.api.notification.service.setting.PluginContainer</target-component>
    <component-plugin>
      <name>notification.plugins</name>
      <set-method>addPlugin</set-method>
      <type>org.exoplatform.cs.integration.notification.CSSubscriptionReminderPlugin</type>
      <description>Initial information for plugin.</description>
      <init-params>
        <object-param>
          <name>template.CSSubscriptionReminderPlugin</name>
          <description>The template of CSSubscriptionReminderPlugin</description>
          <object
                  type="org.exoplatform.commons.api.notification.plugin.config.PluginConfig">
            <field name="pluginId">
              <string>CSSubscriptionReminderPlugin</string>
            </field>
            <field name="resourceBundleKey">
              <string>UINotification.label.CSSubscriptionReminderPlugin</string>
            </field>
            <field name="order">
              <string>3</string>
            </field>
            <field name="defaultConfig">
              <collection type="java.util.ArrayList">
                <value>
                  <string>daily</string>
                </value>
                <value>
                  <string>Instantly</string>
                </value>
              </collection>
            </field>
            <field name="groupId">
              <string>ticket</string>
            </field>
            <field name="bundlePath">
              <string>locale.notification.CSNotification</string>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>


<external-component-plugins>

    <target-component>org.exoplatform.commons.api.notification.channel.ChannelManager</target-component>
    <component-plugin>
      <name>mail.channel.ticket.template</name>
      <set-method>registerTemplateProvider</set-method>
      <type>org.exoplatform.cs.integration.notification.MailTemplateProvider</type>
      <init-params>
        <value-param>
          <name>channel-id</name>
          <value>MAIL_CHANNEL</value>
        </value-param>
      </init-params>
    </component-plugin>
    <component-plugin>
      <name>web.channel.ticket.template</name>
      <set-method>registerTemplateProvider</set-method>
      <type>org.exoplatform.cs.integration.notification.WebTemplateProvider</type>
      <init-params>
        <value-param>
          <name>channel-id</name>
          <value>WEB_CHANNEL</value>
        </value-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>
</configuration>