Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

If you currently have no subscriptions, you can use the Add Subscription to Resource/Collection link to add a new subscription.

...

Add subscriptions to a resource 

When you click on the Add Subscription to Resource/Collection link mentioned above to add a new subscription, you are forwarded to a dedicated page through which you can subscribe to notifications made on resources and collections of a single or multiple types.

Image Modified

Add subscriptions to a collection

For collections, there is an additional facility of creating Hierarchical Subscriptions if needed. By default, when a user adds a subscription to a collection it only gets added to that collection. Similarly, the user can add a subscription to that collection and its immediate child resources by selecting the option Collection and Children only or to that collection and all of its child resources by selecting the option Collection, Children and Grand Children.

Image Modified

Add Subscription Options 

On the Registry Subscription page, specify the following options:

  • Subscription Path - The path to the Resource/Collection. Click on the ".." button to "Select a Resource/Collection" from the "Resource Tree" browser.
  • Event- The event type of the notification. You may select from the following options:
    • Check LC Item - Represents an event that occurs when an item is checked in a lifecycle checklist
    • Uncheck LC Item - Represents an event that occurs when an item is unchecked in a lifecycle checklist
    • Create Child - Represents the event of creating a resource (or collection) within an existing collection
    • Delete Child - Represents the event of deleting a resource (or collection) within an existing collection
    • Delete - Represents the event of deleting a resource (or collection)
    • Create LC - Represents the event of creating a lifecycle
    • Delete LC - Represents the event of deleting a lifecycle
    • Change LC State - Represents the event of changing a lifecycle state
    • Update - Represents the event of updating a resource or collection
    • LC Approval Needed - Represents an event that fires when lifecycle transition requires user approvals

    • LC Approval Withdrawn - Represents an event that fires when the remove approval form (remove vote) transition event occurs

    • LC Approved  - Represents an event that fires when the approve (vote) transition event occurs

  • Notification- The notification method. You may select:
    • Email- Any valid email address
      • Email - The email address to which notifications should be sent
      • Digest Frequency- How often notifications are sent
        • None (instant)
        • Hourly
        • Daily
        • Weekly
        • Fortnightly
        • Monthly
    • REST - An endpoint accepting HTML or text content
      • Post URL - The URL of the endpoint accepting HTML or text content to which notifications should be sent
    • SOAP - An endpoint accepting notifications as a SOAP message
      • Endpoint - The URL of the endpoint to send a notification as a SOAP message
    • User Profile- A valid user's profile. Notifications will be sent to the email address specified in the user's default profile.
      • Name - The user's name
      • Digest Frequency- How often notifications are sent
        • None (instant)
        • Hourly
        • Daily
        • Weekly
        • Fortnightly (biweekly)
        • Monthly
    • Group Profile- A valid role. Notifications will be sent to all of the users in the specified role.
      • Role - The role's name
      • Digest Frequency- How often notifications are sent
        • None (instant)
        • Hourly
        • Daily
        • Weekly
        • Fortnightly (biweekly)
        • Monthly
    • Management Console With a valid role Notifications will be sent to work-list of the role.
      • Role - The role's name 
    • JMX  Notifications will be sent via JMX. Please refer Support for JMX.
  • Hierarchical Subscription Method (for Collections only)
    • Collection only - The subscription will be effected on the selected collection only.
    • Collection and Children only - The subscription will be effected on the selected collection and its immediate child resources only.
    • Collection,Children and Grand Children - The subscription will be effected on the selected collection and its all child resources .

E-mail notifications 

Info

To enable mail configuration, see Configuration for Registry to send Ee-mails.

  1. To enable sending email notifications, configure the mail transport in the axis2.xml file at <GREG_HOME>/repository/conf/axis2
  2. You have to provide a valid email address to receive notifications from the subscribed resource. 
  3. When a subscription is added initially, a verification email is sent to the user. When the user clicks the verification URL, the server console opens in a different tab prompting a successfully verified message.

    Info
    One Time Email Verification

    When adding subscriptions to different resources defining the same email address as the notification method, for each subscription users receive a verification email with a link to verify the subscription. The subscription gets active only if the user clicks the verification URL. However, if the user starts the server as ./wso2server.sh -Donetime.email.verification=true  the email verification only happens once when the particular email address is used for first time.

    Changing Host Name of URLs in Verification/Notification E-mails

    To change the Host Name of URLs appearing in Verification and Notification e-mails, set the HostName attribute in repository/conf/carbon.xml.

  4. Whenever an event occurs which is in accordance with the subscription type, the user recieves notification emails. 

...

  1. Create a Java project.
  2. Implement the NotificationTemplate interface and override the populateEmailMessage method. There, you can write your own implementation.
  3. Add the compiled .jar file to the WSO2 Governance Registry.  If it’s an OSGi bundle, add it to the <GREG_HOME>/repository/components/dropins folder. If not, add the .jar file to the <GREG_HOME>/repository/compoments/lib folder.
  4. Add the following configuration to the registry.xml file:

    Code Block
    languagexml
    <notificationConfiguration>
      <class>complete class name with package</class>
    </notificationConfiguration>
Anchor
Configuring the Registry to send e-mails
Configuring the Registry to send e-mails
Configuring the Registry to send e-mails

You need to configure WSO2 Governance Registry to send notifications via e-mail by editing the <G-REG_HOME>/repository/conf/axis2/axis2.xml file, and adding the following mail transport configuration.

Code Block
<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
        <parameter name="mail.smtp.from">synapse.demo.1@gmail.com</parameter>
        <parameter name="mail.smtp.user">synapse.demo.1</parameter>
        <parameter name="mail.smtp.password">mailpassword</parameter>
        <parameter name="mail.smtp.host">smtp.gmail.com</parameter>
        <parameter name="mail.smtp.port">587</parameter>
        <parameter name="mail.smtp.starttls.enable">true</parameter>
        <parameter name="mail.smtp.auth">true</parameter>
    </transportSender>

This will cause each e-mail to be sent to the corresponding delivery address present in the subscription using, synapse.demo.1@gmail.com as the sender. This configuration is meant for an e-mail address obtained from gmail.com. Similarly, any other sender e-mail address for which the e-mail service provider grants access to a SMTP Server, can be used to send e-mail.

User profile notifications/role profile notifications

...

Configuring subscriptions to a mounted setup

Follows the steps below to configure a registry based subscription with the mounted setup:

  1. In the <GREG_HOME>/repository/conf/carbon.xml file, define the host name. For example,

    <HostName>governance.wso2.com</HostName> 
  2. Update the host name in the <GREG_HOME>/repository/conf/registry.xml file as well. For example,

    Code Block
    languagexml
    <remoteInstance url="https://governance.wso2.com:9443/registry">
        	<id>instanceid</id>
        	<dbConfig>mounted_registry</dbConfig>
        	<readOnly>false</readOnly>
        	<enableCache>true</enableCache>
        	<registryRoot>/</registryRoot>
        	<cacheId>root@jdbc:mysql://localhost:3306/greg_db</cacheId>
    </remoteInstance>

     

    Info

    Note: In the above example, the host name is governance.wso2.com and the WSO2 Governance Registry server is running on the default port (without any port offset). If you have configured a port offset, update the 9443 port above accordingly.

List added subscriptions

When a new subscription is added it is displayed on the Notifications list.

...