Documentation Center

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

  1. 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"
  2. Login to SDL LiveContent Architect Web Client as an administrator user.
  3. Adapt Xml Write Plugin Settings
    1. Click Settings > Xml Write Plugin Settings.
    2. Add OnFieldChangeSendStateTransitionEvent plugin in the plugin sequence.
  4. Add the necessary background task handlers
    1. Click Settings > XML Background Task Settings.
    2. 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>
    3. Create a group Email Notifications for the background task matrix and add a reference to the handler we just created. Specify also the maxExecutions of 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>
    4. 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>
      
    5. Repeat the previous steps to configure a background task handler for every possible status transition for which you want to send an email
    6. Save the XML Background Task Settings
  5. Make sure each user has an email specified
    1. Click Settings > User.
    2. Select the User Name to which you want to add the email notification then click Properties.
    3. 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
    4. Click Ok.
    5. Do this for each user
  6. Test the configuration by changing the status of a topic and confirm that an email was sent to the user.