Configuring email notification when a status changes
You can configure SDL LiveContent Architect to send an email notification to users when a object"s status changes.
Before you begin
- You must have full access to the application server.
- You must be a member of the system administration user group.
Procedure
- On the main application server, access the regedit window and edit the registry under: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Trisoft\Tridk\TridkApp\InfoShareAuthor<suffix>
Add the following string values:
cdoSendEmailAddress= "The e-mail address of the sender"cdoSendPassword= "Password of the username in cdoSendUserName to authenticate to the SMTP server"cdoSendUserName= "If the SMTP server requires basic authentication, the username to authenticate"cdoSMTPServer= "SMTP server address"cdoSMTPServerPort= "SMTP server port number, typically port 25"
- Login to SDL LiveContent Architect Web Client as an administrator user.
- Adapt Xml Write Plugin Settings
- Click Settings > Xml Write Plugin Settings.
- Add OnFieldChangeSendStateTransitionEvent plugin in the plugin sequence.
- Add the necessary background task handlers
- Click Settings > XML Background Task Settings.
- In the XML Background Task Settings configuration add the following handler in the handlers list to define the handler
<handler eventType="STATETRANSITION_VSTATUSDRAFT_VSTATUSTOBEREVIEWED"> <scheduler executeSynchronously="false" /> <authorization type="authenticationContext" /> <execution timeout="01:00:00" recoveryGracePeriod="00:10:00" isolationLevel="None" useSingleThreadApartment="true" /> <activator> <comIEventHandler projectName="IshPlugins" className="cNotification"> <configuration> <Emailconfiguration> <Restrictions> <ishobject ishtype="ISHModule"/> <ishfield name="FAUTHOR" level="lng"/> </Restrictions> <Parameters> <Parameter name="supportemail" type="value">infoshare@trisoft.be</Parameter> <Parameter name="username" type="variable" value="currentuser"> <ishfield name="USERNAME" level="user"/> </Parameter> <Parameter name="author" type="ishfield"> <ishfield name="FAUTHOR" level="lng"/> </Parameter> <Parameter name="title" type="ishfield"> <ishfield name="FTITLE" level="logical"/> </Parameter> <Parameter name="versionnumber" type="ishfield"> <ishfield name="FANCESTOR" level="lng"/> </Parameter> <Parameter name="DocLanguage" type="ishfield"> <ishfield name="DOC-LANGUAGE" level="lng"/> </Parameter> <Parameter name="author_address" type="variable" value="author"> <ishfield name="FISHEMAIL" level="user"/> </Parameter> <Parameter name="from" type="variable" value="currentuser"> <ishfield name="FISHEMAIL" level="user"/> </Parameter> <Parameter name="logicalid" type="variable" value="logicalid"/> <Parameter name="fromstatus" type="variable" value="fromstatus"/> <Parameter name="tostatus" type="variable" value="tostatus"/> </Parameters> <Message> <From> <Parameter name="from"/> </From> <To> <Parameter name="author_address"/> </To> <Sender> <Parameter name="supportemail"/> </Sender> <Body>The status of the module <Parameter name="logicalid"/> is changed in version <Parameter name="versionnumber"/> and language <Parameter name="DocLanguage"/> from <Parameter name="fromstatus"/> to <Parameter name="tostatus"/> by <Parameter name="username"/>.</Body> </Message> </Emailconfiguration> </configuration> </comIEventHandler> </activator> <aggregation aggregator="StatusTransitionAggregator" /> <errorHandler maximumRetries="10"> <actions> <add errorNumber="*" action="Retry" delay="00:01:00" /> </actions> </errorHandler> </handler> - Create a group
Email Notificationsfor the background task matrix and add a reference to the handler we just created. Specify also themaxExecutionsof your choice. The xml fragment for the group should look like<group name="Email Notifications" maxExecutions="10"> <handlers> <add ref="STATETRANSITION_VSTATUSDRAFT_VSTATUSTOBEREVIEWED" /> </handlers> </group> - Add the group to the background task matrix. If you do this on the out of the box configuration the xml fragment should be like this
<matrix> <group name="Translations" maxExecutions="2"> <handlers> <add ref="PUSHTRANSLATIONS" /> <add ref="CREATETRANSLATIONS" /> <add ref="CREATEPRIVATETRANSLATIONS" /> <add ref="DELETETRANSLATIONS" /> <add ref="RELEASETRANSLATIONS" /> </handlers> </group> <group name="Export" maxExecutions="2"> <handlers> <add ref="EXPORTFORPUBLICATION" /> <add ref="INBOXEXPORT" /> <add ref="REPORTEXPORT" /> <add ref="SEARCHEXPORT" /> <add ref="PUBLICATIONEXPORT" /> <!-- Synchronous postprocessing...so they are not part of the matrix! --> <!--PUBLISHINGSERVICEPROCESS--> <!--ZIPFILES--> </handlers> </group> <group name="SynchronizeToLiveContent" maxExecutions="1"> <handlers> <add ref="SYNCHRONIZETOLIVECONTENT" /> </handlers> </group> <group name="Others" maxExecutions="2"> <handlers> <add ref="BATCHPERFORMACTION" /> <add ref="THUMBNAILSUBMIT" /> <add ref="ISHBATCHIMPORT" /> </handlers> </group> <group name="Email Notifications" maxExecutions="10"> <handlers> <add ref="STATETRANSITION_VSTATUSDRAFT_VSTATUSTOBEREVIEWED" /> </handlers> </group> </matrix> - Repeat the previous steps to configure a background task handler for every possible status transition for which you want to send an email
- Save the XML Background Task Settings
Important: Whenever you change the background task configuration, you need to restart every Trisoft InfoShare BackgroundTask service before the changed configuration takes effect. - Make sure each user has an email specified
- Click Settings > User.
- Select the User Name to which you want to add the email notification then click Properties.
- Enter the E-mail address for the user. The domain name of the e-mail address should be accepted by the smtp server for delivery.
For example: jsmith@trsoftserver01.world.company.corp
- Click Ok.
- Do this for each user
- Test the configuration by changing the status of a topic and confirm that an email was sent to the user.