<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://cqadmin.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Paul</id>
	<title>cqwiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://cqadmin.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Paul"/>
	<link rel="alternate" type="text/html" href="https://cqadmin.org/wiki/Special:Contributions/Paul"/>
	<updated>2026-04-22T17:20:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=ClearQuest_Email_Notification_Package&amp;diff=288</id>
		<title>ClearQuest Email Notification Package</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=ClearQuest_Email_Notification_Package&amp;diff=288"/>
		<updated>2017-04-24T03:37:30Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''ClearQuest Email Notification Package'''&amp;lt;/big&amp;gt; [[File:R4_Rational.jpg|right|140px]] &amp;lt;!--[[File:R4_Rational.jpg|right|140px]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Created by ClearQuest admin for ClearQuest admins.&lt;br /&gt;
&lt;br /&gt;
== Email Notification Package ==&lt;br /&gt;
It is NOT a solution that is provided and supported by IBM-Rational. It is a replacement of existing package that allows you to overcome drawbacks of standard solution and satisfy all notification requirements that you might possibly have, creating custom emails using text or HTML. &lt;br /&gt;
The package offers ultimately flexible way of customizing notifications with no need of modifying ClearQuest schema. Usually, you need to update schema once, when you installing the package and applying it to desirable record types. It offers you rich functionality from the beginning and allows your to enhance it.&lt;br /&gt;
&lt;br /&gt;
The package was initially released in 2004, and presented on [http://cqadmin.org/data/CCMA43.pdf RUC 2006] and [http://cqadmin.org/data/Reno_VoiCE-ClearQuest_Email.pdf IBM VoiCE 2011].&lt;br /&gt;
&lt;br /&gt;
Here is a quick overview of some of the features. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Centralized configuration and maintenance ===&lt;br /&gt;
Email settings are stored in the ClearQuest user database. You do not need to configure every client. You configured notification on the database, turned them on – and it is working for all users, regardless of the client type: Windows, CCWeb, UNIX. It also easy to turn off notifications when they are not necessary. For example, you copied your production database to a test environment, turned the plug off, and you do not bother your users with annoying emails while testing.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reliable delivery/Message Queue ===&lt;br /&gt;
If message cannot be delivered due to SMTP relay outage, delivery error or connectivity issue, it is saved in the message queue and will be re-delivered. You can optimize delivery mode based on your own requirements and needs. There are tree delivery modes offered by the package '''Light''', '''Deferred''' (default), and '''Queue'''.&lt;br /&gt;
&lt;br /&gt;
In case of '''Light''' delivery mode each client tries to deliver message to SMTP relay immediately, and store generated messages in the database for further re-delivery if attempt was unsuccessful only.&lt;br /&gt;
&lt;br /&gt;
'''Deferred''' delivery means that client stores all triggered messages in database message queue first, and then tries to deliver them, as well as other eligible messages that might be left from previous unsuccessful delivery attempts. All messages are sent in batch mode when rules evaluation is completed.&lt;br /&gt;
&lt;br /&gt;
In case of '''Queue''' delivery mode, client stores all messages in database and does not attempt to deliver. In this case,  SMTP delivery is performed by separate CQPerl script running from ClearQuest server.&lt;br /&gt;
&lt;br /&gt;
You can find out more about delivery modes [[ClearQuest_Email_Notification_Package_Delivery_Mode | here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Message Log/Audit trail ===&lt;br /&gt;
In Deferred and Queue delivery mode all generated messages are stored in the message queue, which is a ClearQuest table. You are able to validate what was sent and when, check for delivery errors, error messages. In addition to that you can update and re-deliver messages if necessary within the ClearQuest.&lt;br /&gt;
&lt;br /&gt;
Message queue is also useful to develop and debug email notification rules. For example, you can turn on email notifications on your test database, and set Queue delivery mode  without delivery script running. Email Rules will be evaluated, emails triggered and saved in the database, but users would not be disturbed. You can review generated emails and sent them manually, if necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Customizable message envelope and body ===&lt;br /&gt;
You can create almost any message you want. Most of the field in the notification rule that defines email message are free-text fields, where you can embed parameters, such as record fields, database properties, results of SQL statements execution, Package or Perl build-in, and user-defined function. At runtime, during the rules evaluation, these parameters will be expanded, substituted with actual field values and function's return results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, you configured subject in your email notification rule as: &lt;br /&gt;
  Defect $ID has been $State&lt;br /&gt;
and subject in the generated email message might look like &lt;br /&gt;
  Subject: Defect RATL0000001 has been closed &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also use html emails with rich formatting, colors, embedded images, links, etc.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:sample_email.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configurable email message priority ===&lt;br /&gt;
Users receive tons of emails, and sometimes you need to attract their attention to some of them. Priority field can be used to flag some messages. It can be a static priority specified for email notification rule, or dynamically evaluated priority. For example, you can flag messages that are generated by incident with Severity 1 only. Since your email body is also customizable, you can add there details instructions for the recipient on what needs to be done when they received such email.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Additional header information ===&lt;br /&gt;
It might be required to include some information not just to message body, but also to the message envelope. For example, to inform the mail agent about character set used in the message, or specify particular message type, such as html, etc. &lt;br /&gt;
It could be used for specifying reply-to address, references, or other special information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notification conditions ===&lt;br /&gt;
Notification condition filed provide you additional mechanism to customize message behavior. Along with fields, parameters and function, you can use logical comparison, arithmetic and other operators, as well as regular expressions patterns.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Message sender and reply-to address ===&lt;br /&gt;
You can send email using the current user email address in the “From:” field, select a dedicated email address that will be used for all emails generated in the database, or create from email address dynamically when email is triggered. It is flexible and can be used in many ways. For example, it can help you satisfying mail relaying policies in very restrictive environments. If necessary, you can configure different Reply-To address, that will be used when users try to reply to generated emails.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Site-specific settings in Multisited environment ===&lt;br /&gt;
If you use ClearQuest multisite, you might change some database settings based on the site where you are located. For example, to point your users to a site-specific SMTP relay. It is not a problem: the package allows you to create global, as well as site specific settings, to modify or unset global database properties on particular site.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Password authentication with SMTP relay ===&lt;br /&gt;
Optionally, you can configure password authentication with SMTP relay. Credentials used for notification can be saved as encrypted values in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reminders ===&lt;br /&gt;
Another nice feature of the package that it allows you to configure reminders, such as notifications about approaching due date,  or other important events. I called it [[Timed_Notification | Timed Notification]]. You can create a template using the same flexible email notification rules, and Timed Notification script will trigger them using dummy action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Notification Subscription ===&lt;br /&gt;
You can allow users to manage there email notification rules subscription preferences. This functionality is delivered with optional '''EmailSubscription''' package. It can be used as-is, enhanced, or taken as an example to implement your own, more sophisticated end-user subscription solution. Please check [[ClearQuest_Email_Subscription | Email Subscription]] page for details.&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
Would you like to try it? Then, '''create a backup of your schema and user database''', or (even better) create test environment with master and user databases. Many customers have been using the package for years, but it is always makes sense to test the package in your specific environment and check for conflicts with existing hooks, issues with particular database vendor and version, etc, and update production when you are sure that it would be safe to do it only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [[Download | Download]] the package.&lt;br /&gt;
# [[Package_installation | Install it]].&lt;br /&gt;
# Create your [[EmailNotification_Creating_First_Notification_Rule | first notification rule]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Information ==&lt;br /&gt;
# It could be useful to read [[Package_configuration | package configuration guide]] and&lt;br /&gt;
# [[ClearQuest_Email_Notification_Package_FAQ | Frequently Asked Questions ]]&lt;br /&gt;
# Please check [[Notification_Examples | Examples]] and&lt;br /&gt;
# [http://cqadmin.org/data/CCMA43.pdf Extending IBM(R) Rational(R) ClearQuest(R) Email Notifications] presentation&lt;br /&gt;
# [[Timed_Notification | Reminders / Timed Notifications]]&lt;br /&gt;
# [[ClearQuest_Email_Subscription | End users self-subscription to email notifications]]&lt;br /&gt;
# If you have questions or problems, welcome to the [http://forum.cqadmin.org/ support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== License == &lt;br /&gt;
&lt;br /&gt;
The ''ClearQuest Email Notification Package'' is licensed under the ''GNU Lesser General Public License'' (AKA, the &amp;quot;LGPL&amp;quot;), Version 2.1, February, 1999.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_1.6_Release_Notes&amp;diff=287</id>
		<title>Email Notification 1.6 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_1.6_Release_Notes&amp;diff=287"/>
		<updated>2017-04-24T03:35:46Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Email Notification Package 1.5'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Release Notes'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
&lt;br /&gt;
=== Support for Non-ASCII code pages ===&lt;br /&gt;
Safe support of non-ascii code pages was added, with few limitations.&lt;br /&gt;
&lt;br /&gt;
==== Using non-ascii field names ====&lt;br /&gt;
Currently, the parser does not provide full support non-ascii characters in field names using variable-like notation. For instance, the following field name would not be recognized: '''${моё_самое_любимое_имя}'''. One of the possible workarounds is to use '''GetFieldValue''' function to access such fields in email notification rules. For instance, in my example, I could use the following syntax: '''GetFieldValue('моё_самое_любимое_имя')'''&lt;br /&gt;
&lt;br /&gt;
==== Using non-ascii characters in message envelope ====&lt;br /&gt;
Using non-ascii characters email envelope is permitted. Nevertheless, you might hit some limitations in your environment. Please check the following page for details: [[Email_Envelope_and_UTF-8 | Non-ASCII Characters in Email]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
=== ClearQuest client version ===&lt;br /&gt;
The package can be used with ClearQuest 7.0.0 or later. Earlier versions are supported in version 1.5 only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Read More ==&lt;br /&gt;
* [[Email_Notification_1.5_Release_Notes | Email Notification Package Release 1.5 Notes]]&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | ClearQuest Email Notification Package]]&lt;br /&gt;
* [[Package_configuration | Package configuration guide]]&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package_FAQ | Frequently Asked Questions ]]&lt;br /&gt;
* [[Notification_Examples | Examples]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_1.6_Release_Notes&amp;diff=286</id>
		<title>Email Notification 1.6 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_1.6_Release_Notes&amp;diff=286"/>
		<updated>2017-04-24T03:35:18Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Email Notification Package 1.5'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Release Notes'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
&lt;br /&gt;
=== Support for Non-ASCII code pages ===&lt;br /&gt;
Safe support of non-ascii code pages was added, with few limitations.&lt;br /&gt;
&lt;br /&gt;
==== Using non-ascii field names ====&lt;br /&gt;
Currently, the parser does not provide full support non-ascii characters in field names using variable-like notation. For instance, the following field name would not be recognized: '''${моё_самое_любимое_имя}'''. One of the possible workarounds is to use '''GetFieldValue''' function to access such fields in email notification rules. For instance, in my example, I could use the following syntax: '''GetFieldValue('моё_самое_любимое_имя')'''&lt;br /&gt;
&lt;br /&gt;
==== Using non-ascii characters in message envelope ====&lt;br /&gt;
Using non-ascii characters email envelope is permitted. Nevertheless, you might hit some limitations in your environment. Please check the following page for details: [[Email_Envelope_and_UTF-8 | Non-ASCII Characters in Email]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
=== ClearQuest client version ===&lt;br /&gt;
The package can be used with ClearQuest 7.0.0 or later. Earlier versions are supported in version 1.5 only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other Notes ==&lt;br /&gt;
=== Supplementary scripts ===&lt;br /&gt;
Supplementary script, such as Delivery Script for Queue delivery mode and Timed Notification script for reminders, need to be updated in order to support non-ascii databases. New versions are available for download from [http://store.cqadmin.com/index.php/clearquest.html CQAdmin store].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Read More ==&lt;br /&gt;
* [[Email_Notification_1.5_Release_Notes | Email Notification Package Release 1.5 Notes]]&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | ClearQuest Email Notification Package]]&lt;br /&gt;
* [[Package_configuration | Package configuration guide]]&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package_FAQ | Frequently Asked Questions ]]&lt;br /&gt;
* [[Notification_Examples | Examples]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Download&amp;diff=285</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Download&amp;diff=285"/>
		<updated>2017-04-24T03:30:42Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Downloads'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ClearQuest Email Notification Package ==&lt;br /&gt;
Please visit [[Package_installation | installation]] and [[Package_configuration | configuration]] pages for detailed instructions.&amp;lt;br /&amp;gt;&lt;br /&gt;
The package and supplementary scripts are available now at [http://cqadmin.org/data/emailnotificationpackagesetup.exe this link]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dynamic List Editor for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[ClearQuest_Dynamic_List_Editor | documentation]] page for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [http://cqadmin.org/data/cqdynamiclisteditor_1.exe this link].&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User Administration Tool for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[User_Admin_Tool_Installation | installation]] and [[User_Admin_Tool_Configuration | configuration]] pages for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [http://cqadmin.org/data/cquseradmintoolsetup.exe this link].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]] [[Category:Dynamic_List_Editor]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Download&amp;diff=284</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Download&amp;diff=284"/>
		<updated>2017-04-24T03:30:16Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Downloads'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ClearQuest Email Notification Package ==&lt;br /&gt;
Please visit [[Package_installation | installation]] and [[Package_configuration | configuration]] pages for detailed instructions.&amp;lt;br /&amp;gt;&lt;br /&gt;
The package and supplementary scripts are available now at [http://cqadmin.org/data/emailnotificationpackagesetup.exe this link]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dynamic List Editor for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[ClearQuest_Dynamic_List_Editor | documentation]] page for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [http://cqadmin.org/data/cqdynamiclisteditor_1.exe this link].&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User Administration Tool for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[User_Admin_Tool_Installation | installation]] and [[User_Admin_Tool_Configuration | configuration]] pages for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [[http://cqadmin.org/data/cquseradmintoolsetup.exe this link].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]] [[Category:Dynamic_List_Editor]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Download&amp;diff=283</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Download&amp;diff=283"/>
		<updated>2017-04-24T03:29:47Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Downloads'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ClearQuest Email Notification Package ==&lt;br /&gt;
Please visit [[Package_installation | installation]] and [[Package_configuration | configuration]] pages for detailed instructions.&amp;lt;br /&amp;gt;&lt;br /&gt;
The package and supplementary scripts are available now at [http://cqadmin.org/data/emailnotificationpackagesetup.exe this link]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dynamic List Editor for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[ClearQuest_Dynamic_List_Editor | documentation]] page for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [http://cqadmin.org/data/cqdynamiclisteditor_1.exe this kink].&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User Administration Tool for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[User_Admin_Tool_Installation | installation]] and [[User_Admin_Tool_Configuration | configuration]] pages for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [[http://cqadmin.org/data/cquseradmintoolsetup.exe this link].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]] [[Category:Dynamic_List_Editor]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Download&amp;diff=282</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Download&amp;diff=282"/>
		<updated>2017-04-24T03:29:26Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Downloads'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ClearQuest Email Notification Package ==&lt;br /&gt;
Please visit [[Package_installation | installation]] and [[Package_configuration | configuration]] pages for detailed instructions.&amp;lt;br /&amp;gt;&lt;br /&gt;
The package and supplementary scripts are available now at [http://cqadmin.org/data/emailnotificationpackagesetup.exe this link]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dynamic List Editor for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[ClearQuest_Dynamic_List_Editor | documentation]] page for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [http://cqadmin.org/data/cqdynamiclisteditor_1.exe this kink].&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User Administration Tool for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[User_Admin_Tool_Installation | installation]] and [[User_Admin_Tool_Configuration | configuration]] pages for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [[http://cqadmin.org/data/cquseradmintoolsetup.exe this kink].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]] [[Category:Dynamic_List_Editor]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=281</id>
		<title>CQAdmin</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=281"/>
		<updated>2016-12-29T02:55:04Z</updated>

		<summary type="html">&lt;p&gt;Paul: /* Latest news */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Rational Administrators'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site was created to provide tools, information, and share experience that might be useful for Rational tools administrators. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latest news ==&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: The User Administration Tool was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. It met the requirements for the IBM Software Delivery Platform level of the program. The User Administration tool simplifies site management and adds other valuable features, such as Web-based user administration, ultimate query and search capabilities, customizable defaults and validations, user profiling and templates, granular access, reporting and audit, email notifications and more.&lt;br /&gt;
&lt;br /&gt;
* '''[[ClearQuest_Email_Notification_Package | Email Notification Package]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: Email Notification package was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. The package met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''Commercial Support'''&lt;br /&gt;
: ClearQuest Email Notification package is supported via '''free''' community at [http://forum.cqadmin.com http://forum.cqadmin.com].&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | Email Notification Package]] for IBM-Rational ClearQuest. &lt;br /&gt;
: If you would like to use flexible notification rules, reliable delivery, sending HTML emails with rich text, fonts, and colors, configuring reminders, and many other features, you might like the package.&lt;br /&gt;
&lt;br /&gt;
* [[User_Admin_Tool | User Administration Tool]] for IBM-Rational ClearQuest.&lt;br /&gt;
: It simplifies site management and adds other valuable features, such as customizable defaults and validations, user profiling and templates, reporting and audit, email notifications and more. &lt;br /&gt;
&lt;br /&gt;
* [[ClearQuest_Dynamic_List_Editor | Dynamic List Editor]] for IBM-Rational ClearQuest. &lt;br /&gt;
: Would you like to administer Dynamic Lists via the ClearQuest Web client? You might consider using the editor.&lt;br /&gt;
&lt;br /&gt;
* '''Support forum'''&lt;br /&gt;
: Support forum is available now. Please do not hesitate to ask questions or share your experience.&lt;br /&gt;
: [http://forum.cqadmin.com/ http://forum.cqadmin.com/]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=280</id>
		<title>CQAdmin</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=280"/>
		<updated>2013-11-05T12:34:03Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Rational Administrators'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site was created to provide tools, information, and share experience that might be useful for Rational tools administrators. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latest news ==&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: The User Administration Tool was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. It met the requirements for the IBM Software Delivery Platform level of the program. The User Administration tool simplifies site management and adds other valuable features, such as Web-based user administration, ultimate query and search capabilities, customizable defaults and validations, user profiling and templates, granular access, reporting and audit, email notifications and more.&lt;br /&gt;
&lt;br /&gt;
* '''[[ClearQuest_Email_Notification_Package | Email Notification Package]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: Email Notification package was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. The package met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''Commercial Support'''&lt;br /&gt;
: ClearQuest Email Notification package is officially [http://store.cqadmin.com/index.php/clearquest/cq-email-notification/email-notification-package-support.html supported] by [http://cqadmin.com CQAdmin, inc]. Three levels or support are currently offered, starting with '''free''' community support at [http://forum.cqadmin.com http://forum.cqadmin.com]. Consulting services are also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | Email Notification Package]] for IBM-Rational ClearQuest. &lt;br /&gt;
: If you would like to use flexible notification rules, reliable delivery, sending HTML emails with rich text, fonts, and colors, configuring reminders, and many other features, you might like the package.&lt;br /&gt;
&lt;br /&gt;
* [[User_Admin_Tool | User Administration Tool]] for IBM-Rational ClearQuest.&lt;br /&gt;
: It simplifies site management and adds other valuable features, such as customizable defaults and validations, user profiling and templates, reporting and audit, email notifications and more. &lt;br /&gt;
&lt;br /&gt;
* [[ClearQuest_Dynamic_List_Editor | Dynamic List Editor]] for IBM-Rational ClearQuest. &lt;br /&gt;
: Would you like to administer Dynamic Lists via the ClearQuest Web client? You might consider using the editor.&lt;br /&gt;
&lt;br /&gt;
* '''Support forum'''&lt;br /&gt;
: Support forum is available now. Please do not hesitate to ask questions or share your experience.&lt;br /&gt;
: [http://forum.cqadmin.com/ http://forum.cqadmin.com/]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=279</id>
		<title>CQAdmin</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=279"/>
		<updated>2013-10-24T14:51:50Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Rational Administrators'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site was created to provide tools, information, and share experience that might be useful for Rational tools administrators. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latest news ==&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: The User Administration Tool was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. It met the requirements for the IBM Software Delivery Platform level of the program. The User Administration tool simplifies site management and adds other valuable features, such as Web-based user administration, ultimate query and search capabilities, customizable defaults and validations, user profiling and templates, granular access, reporting and audit, email notifications and more.&lt;br /&gt;
&lt;br /&gt;
* '''[[ClearQuest_Email_Notification_Package | Email Notification Package]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: Email Notification package was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. The package met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''Commercial Support'''&lt;br /&gt;
: ClearQuest Email Notification package is officially [http://store.cqadmin.com/index.php/clearquest/cq-email-notification/email-notification-package-support.html supported] by [http://cqadmin.com CQAdmin, inc]. Three levels or support are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | Email Notification Package]] for IBM-Rational ClearQuest. &lt;br /&gt;
: If you would like to use flexible notification rules, reliable delivery, sending HTML emails with rich text, fonts, and colors, configuring reminders, and many other features, you might like the package.&lt;br /&gt;
&lt;br /&gt;
* [[User_Admin_Tool | User Administration Tool]] for IBM-Rational ClearQuest.&lt;br /&gt;
: It simplifies site management and adds other valuable features, such as customizable defaults and validations, user profiling and templates, reporting and audit, email notifications and more. &lt;br /&gt;
&lt;br /&gt;
* [[ClearQuest_Dynamic_List_Editor | Dynamic List Editor]] for IBM-Rational ClearQuest. &lt;br /&gt;
: Would you like to administer Dynamic Lists via the ClearQuest Web client? You might consider using the editor.&lt;br /&gt;
&lt;br /&gt;
* '''Support forum'''&lt;br /&gt;
: Support forum is available now. Please do not hesitate to ask questions or share your experience.&lt;br /&gt;
: [http://forum.cqadmin.com/ http://forum.cqadmin.com/]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=MediaWiki:Sidebar&amp;diff=278</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=MediaWiki:Sidebar&amp;diff=278"/>
		<updated>2013-10-24T14:51:22Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|CQ Admin Home&lt;br /&gt;
** ClearQuest_Email_Notification_Package | Email notification package&lt;br /&gt;
** User_Admin_Tool | User Admin Tool&lt;br /&gt;
** ClearQuest_Dynamic_List_Editor | Dynamic List Editor&lt;br /&gt;
** Download | Downloads&lt;br /&gt;
** http://forum.cqadmin.com | Forum&lt;br /&gt;
** Category:Rational | Index&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=277</id>
		<title>CQAdmin</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=277"/>
		<updated>2013-10-20T14:09:40Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Rational Administrators'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site was created to provide tools, information, and share experience that might be useful for Rational tools administrators. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latest news ==&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: The User Administration Tool was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. It met the requirements for the IBM Software Delivery Platform level of the program. The User Administration tool simplifies site management and adds other valuable features, such as Web-based user administration, ultimate query and search capabilities, customizable defaults and validations, user profiling and templates, granular access, reporting and audit, email notifications and more.&lt;br /&gt;
&lt;br /&gt;
* '''[[ClearQuest_Email_Notification_Package | Email Notification Package]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: Email Notification package was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. The package met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''Commercial Support'''&lt;br /&gt;
: ClearQuest Email Notification package is officially [http://store.cqadmin.com/index.php/clearquest/cq-email-notification/email-notification-package-support.html supported] by [http://cqadmin.com CQAdmin, inc]. Three levels or support are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | Email Notification Package]] for IBM-Rational ClearQuest. &lt;br /&gt;
: If you would like to use flexible notification rules, reliable delivery, sending HTML emails with rich text, fonts, and colors, configuring reminders, and many other features, you might like the package.&lt;br /&gt;
&lt;br /&gt;
* [[User_Admin_Tool | User Administration Tool]] for IBM-Rational ClearQuest.&lt;br /&gt;
: It simplifies site management and adds other valuable features, such as customizable defaults and validations, user profiling and templates, reporting and audit, email notifications and more. &lt;br /&gt;
&lt;br /&gt;
* [[ClearQuest_Dynamic_List_Editor | Dynamic List Editor]] for IBM-Rational ClearQuest. &lt;br /&gt;
: Would you like to administer Dynamic Lists via the ClearQuest Web client? You might consider using the editor.&lt;br /&gt;
&lt;br /&gt;
* '''Support forum'''&lt;br /&gt;
: Support forum is available now. Please do not hesitate to ask questions or share your experience.&lt;br /&gt;
: [http://forum.cqadmin.org/ http://forum.cqadmin.org/]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service_Configuration&amp;diff=276</id>
		<title>Email Notification Service Configuration</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service_Configuration&amp;diff=276"/>
		<updated>2013-08-29T20:03:27Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''EmailNotification Service Configuration File'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
  ClearQuest login and password &lt;br /&gt;
  cleartext password must be encrypted using &amp;quot;encrypt&amp;quot; command &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;login&amp;gt;admin&amp;lt;/login&amp;gt;&lt;br /&gt;
&amp;lt;password&amp;gt;unencrypted_password&amp;lt;/password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  DBSets configured for email notification&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;dbsets&amp;gt;&lt;br /&gt;
&amp;lt;!--each connection starts with &amp;lt;dbset&amp;gt; tag --&amp;gt; &lt;br /&gt;
&amp;lt;dbset&amp;gt;&lt;br /&gt;
  &amp;lt;!--connection name (dbset)--&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;ClearQuest Connection Name&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;!-- dbset specific credentials can be specified here. It would override global settings&lt;br /&gt;
  password can be provided as clear text and encrypted using “encrypt” command.&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;login&amp;gt;connection-specific-login-name&amp;lt;/login&amp;gt;&lt;br /&gt;
  &amp;lt;password&amp;gt;connection-specific-password&amp;lt;/password&amp;gt;&lt;br /&gt;
  --&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- all user databases  --&amp;gt;&lt;br /&gt;
  &amp;lt;databases&amp;gt;&lt;br /&gt;
    &amp;lt;database&amp;gt;DB1&amp;lt;/database&amp;gt;&lt;br /&gt;
    &amp;lt;database&amp;gt;DB2&amp;lt;/database&amp;gt;&lt;br /&gt;
  &amp;lt;/databases&amp;gt;&lt;br /&gt;
&amp;lt;/dbset&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dbset&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Another ClearQuest DBSet&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;databases&amp;gt;&lt;br /&gt;
    &amp;lt;database&amp;gt;DB3&amp;lt;/database&amp;gt;&lt;br /&gt;
  &amp;lt;/databases&amp;gt;&lt;br /&gt;
&amp;lt;/dbset&amp;gt;&lt;br /&gt;
&amp;lt;/dbsets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- scheduled execution parameters  &lt;br /&gt;
     by  default the service queries the databases&lt;br /&gt;
     every 5 minutes (30 seconds) with &lt;br /&gt;
     0 seconds offset from the beginning of the hour&lt;br /&gt;
&amp;lt;interval&amp;gt;300&amp;lt;/interval&amp;gt;&lt;br /&gt;
&amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--additional configuration options &lt;br /&gt;
Logfile – alternative log file name--&amp;gt;&lt;br /&gt;
&amp;lt;logfile&amp;gt;new_log_file_name&amp;lt;/logfile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Log level – desirable logging level --&amp;gt;&lt;br /&gt;
&amp;lt;loglevel&amp;gt;ALL&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- debug – turn on debug output --&amp;gt;&lt;br /&gt;
&amp;lt;debug&amp;gt;true&amp;lt;/debug&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- verbose – turn on console output --&amp;gt;&lt;br /&gt;
&amp;lt;verbose&amp;gt;true&amp;lt;/verbose&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
  Local configuration flag&lt;br /&gt;
  when set to &amp;quot;false&amp;quot; email settings are retrieved from the ClearQuest database&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;localconfig&amp;gt;false&amp;lt;/localconfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- example of the local email settings&lt;br /&gt;
&amp;lt;localconfig&amp;gt;true&amp;lt;/localconfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 email host – SMTP server name. It might include port number. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;email_host&amp;gt;hostname:port&amp;lt;/email_host&amp;gt;&lt;br /&gt;
Alternatively, port number can be specified as &amp;lt;mail.smtp.port&amp;gt;port&amp;lt;/mail.smtp.port&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Authentication credentials. Password can be provided as clear text and encrypted using “encrypt” command.&lt;br /&gt;
&amp;lt;email_login&amp;gt;loginname&amp;lt;/email_login&amp;gt;&lt;br /&gt;
&amp;lt;email_password&amp;gt;password&amp;lt;/email_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
turn on STARTTLS on smtp connection:&lt;br /&gt;
&amp;lt;mail.smtp.starttls&amp;gt;true&amp;lt;/mail.smtp.starttls&amp;gt;&lt;br /&gt;
trust particular host self-signed or invalid certificate&lt;br /&gt;
&amp;lt;mail.smtp.ssl.trust&amp;gt;my.host.name&amp;lt;/mail.smtp.ssl.trust&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use SSL:&lt;br /&gt;
&amp;lt;email_use_ssl&amp;gt;true&amp;lt;/email_use_ssl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service_Configuration&amp;diff=275</id>
		<title>Email Notification Service Configuration</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service_Configuration&amp;diff=275"/>
		<updated>2013-08-29T20:00:53Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''EmailNotification Service Configuration File'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
  ClearQuest login and password &lt;br /&gt;
  cleartext password must be encrypted using &amp;quot;encrypt&amp;quot; command &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;login&amp;gt;admin&amp;lt;/login&amp;gt;&lt;br /&gt;
&amp;lt;password&amp;gt;unencrypted_password&amp;lt;/password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  DBSets configured for email notification&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;dbsets&amp;gt;&lt;br /&gt;
&amp;lt;!--each connection starts with &amp;lt;dbset&amp;gt; tag --&amp;gt; &lt;br /&gt;
&amp;lt;dbset&amp;gt;&lt;br /&gt;
  &amp;lt;!--connection name (dbset)--&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;ClearQuest Connection Name&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;!-- dbset specific credentials can be specified here. It would override global settings&lt;br /&gt;
  password can be provided as clear text and encrypted using “encrypt” command.&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;login&amp;gt;connection-specific-login-name&amp;lt;/login&amp;gt;&lt;br /&gt;
  &amp;lt;password&amp;gt;connection-specific-password&amp;lt;/password&amp;gt;&lt;br /&gt;
  --&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- all user databases  --&amp;gt;&lt;br /&gt;
  &amp;lt;databases&amp;gt;&lt;br /&gt;
    &amp;lt;database&amp;gt;DB1&amp;lt;/database&amp;gt;&lt;br /&gt;
    &amp;lt;database&amp;gt;DB2&amp;lt;/database&amp;gt;&lt;br /&gt;
  &amp;lt;/databases&amp;gt;&lt;br /&gt;
&amp;lt;/dbset&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dbset&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Another ClearQuest DBSet&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;databases&amp;gt;&lt;br /&gt;
    &amp;lt;database&amp;gt;DB3&amp;lt;/database&amp;gt;&lt;br /&gt;
  &amp;lt;/databases&amp;gt;&lt;br /&gt;
&amp;lt;/dbset&amp;gt;&lt;br /&gt;
&amp;lt;/dbsets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- scheduled execution parameters  &lt;br /&gt;
     by  default the service queries database&lt;br /&gt;
     every 5 minutes (30 seconds) with &lt;br /&gt;
     0 seconds offset from the beginning of the hour&lt;br /&gt;
&amp;lt;interval&amp;gt;300&amp;lt;/interval&amp;gt;&lt;br /&gt;
&amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--additional configuration options &lt;br /&gt;
Logfile – alternative log file name--&amp;gt;&lt;br /&gt;
&amp;lt;logfile&amp;gt;new_log_file_name&amp;lt;/logfile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Log level – desirable logging level --&amp;gt;&lt;br /&gt;
&amp;lt;loglevel&amp;gt;ALL&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- debug – turn on debug output --&amp;gt;&lt;br /&gt;
&amp;lt;debug&amp;gt;true&amp;lt;/debug&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- verbose – turn on console output --&amp;gt;&lt;br /&gt;
&amp;lt;verbose&amp;gt;true&amp;lt;/verbose&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
  Local configuration flag&lt;br /&gt;
  when set to &amp;quot;false&amp;quot; email settings are retrieved from the ClearQuest database&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;localconfig&amp;gt;false&amp;lt;/localconfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- example of the local email settings&lt;br /&gt;
&amp;lt;localconfig&amp;gt;true&amp;lt;/localconfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 email host – SMTP server name. It might include port number. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;email_host&amp;gt;hostname:port&amp;lt;/email_host&amp;gt;&lt;br /&gt;
Alternatively, port number can be specified as &amp;lt;mail.smtp.port&amp;gt;port&amp;lt;/mail.smtp.port&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Authentication credentials. Password can be provided as clear text and encrypted using “encrypt” command.&lt;br /&gt;
&amp;lt;email_login&amp;gt;loginname&amp;lt;/email_login&amp;gt;&lt;br /&gt;
&amp;lt;email_password&amp;gt;password&amp;lt;/email_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
turn on STARTTLS on smtp connection:&lt;br /&gt;
&amp;lt;mail.smtp.starttls&amp;gt;true&amp;lt;/mail.smtp.starttls&amp;gt;&lt;br /&gt;
trust particular host self-signed or invalid certificate&lt;br /&gt;
&amp;lt;mail.smtp.ssl.trust&amp;gt;my.host.name&amp;lt;/mail.smtp.ssl.trust&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use SSL:&lt;br /&gt;
&amp;lt;email_use_ssl&amp;gt;true&amp;lt;/email_use_ssl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=274</id>
		<title>Email Notification Service</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=274"/>
		<updated>2013-06-22T23:18:57Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''EmailNotification Package Delivery Service'''&lt;br /&gt;
&lt;br /&gt;
ClearQuest Email Service performs centralized email delivery for ClearQuest user databases utilizing the [[ClearQuest_Email_Notification_Package | Email Notification]] package in the '''Queue''' mode. &amp;lt;br /&amp;gt;&lt;br /&gt;
It features:&lt;br /&gt;
* Servicing multiple user databases and multiple connections (dbsets)&lt;br /&gt;
* Performing scheduled deliveries with a configured interval and offset.&lt;br /&gt;
* Operating in console mode or working as a service.&lt;br /&gt;
* Supporting login, digest, and NTLM authentication mechanisms.&lt;br /&gt;
* Sending emails via a secure connection using an SMTP over SSL or STARTTLS extension.&lt;br /&gt;
* Preventing user credentials from exposure by encrypting them in the configuration file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=273</id>
		<title>Email Notification Service</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=273"/>
		<updated>2013-06-22T22:53:43Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''EmailNotification Package Delivery Service'''&lt;br /&gt;
&lt;br /&gt;
ClearQuest Email Service performs centralized email delivery for ClearQuest user databases utilizing the [[ClearQuest_Email_Notification_Package | Email Notification]] package in the '''Queue''' mode. &amp;lt;br /&amp;gt;&lt;br /&gt;
It features:&lt;br /&gt;
* Servicing multiple user databases and multiple connections (dbsets)&lt;br /&gt;
* Performing scheduled deliveries with a configured interval and offset.&lt;br /&gt;
* Operating in console mode or working as a service.&lt;br /&gt;
* Supporting login, digest, and NTLM authentication mechanisms.&lt;br /&gt;
* Sending emails via a secure connection using SMTP over SSL or STARTTLS extension.&lt;br /&gt;
* Preventing user credentials from exposure by encrypting them in the configuration file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=272</id>
		<title>Email Notification Service</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=272"/>
		<updated>2013-06-22T22:21:24Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''EmailNotification package Delivery Service'''&lt;br /&gt;
&lt;br /&gt;
ClearQuest Email Service performs centralized email delivery for ClearQuest user databases utilizing [[ClearQuest_Email_Notification_Package | Email Notification]] package in '''Queue''' mode. &amp;lt;br /&amp;gt;&lt;br /&gt;
It features:&lt;br /&gt;
* Servicing multiple user databases and multiple connections (dbsets)&lt;br /&gt;
* Performing scheduled delivery with configured interval and offset.&lt;br /&gt;
* Operating in console mode, or working as a service.&lt;br /&gt;
* Supporting login, digest, and NTLM authentication mechanisms.&lt;br /&gt;
* Sending emails via secure connection using SMTP over SSL or STARTTLS extension.&lt;br /&gt;
* Preventing user credentials from exposure by encrypting them in the configuration file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=271</id>
		<title>Email Notification Service</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=271"/>
		<updated>2013-06-22T22:18:10Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''EmailNotification package Delivery Service'''&lt;br /&gt;
&lt;br /&gt;
The service performs centralized email delivery for ClearQuest user databases utilizing [[ClearQuest_Email_Notification_Package | Email Notification]] package in '''Queue''' mode. It features:&lt;br /&gt;
* Servicing multiple user databases and multiple connections (dbsets)&lt;br /&gt;
* Performing scheduled delivery with configured interval and offset.&lt;br /&gt;
* Operating in console mode, or working as a service.&lt;br /&gt;
* Sending emails via secure connection using SMTP over SSL or STARTTLS extension.&lt;br /&gt;
* Supporting login, digest, and NTLM authentication mechanisms.&lt;br /&gt;
* Preventing user credentials from exposure by encrypting them in the configuration file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=ClearQuest_Dynamic_List_Editor&amp;diff=270</id>
		<title>ClearQuest Dynamic List Editor</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=ClearQuest_Dynamic_List_Editor&amp;diff=270"/>
		<updated>2013-06-16T18:30:52Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''ClearQuest Dynamic List Editor'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Created by ClearQuest admin for ClearQuest admins.&lt;br /&gt;
&lt;br /&gt;
= Dynamic List Editor =&lt;br /&gt;
This is NOT a solution that is provided and supported by IBM-Rational. &lt;br /&gt;
The Dynamic List Editor is an add-on to your existing ClearQuest schema, VBScript or Perl based, that provides a unified interface to administer Dynamic Lists for Windows, Eclipse, UNIX clients, and (most importantly) the Web client. Additionally, it adds basic audit capabilities that can be enhanced using the Audit Trail package.&lt;br /&gt;
The enhancement is distributed as a ClearQuest schema integration, and it can be easily removed from the schema when it is no longer required.&lt;br /&gt;
&lt;br /&gt;
In the Editor, all dynamic lists are represented by correspondent stateless records of the Dynamic_List record type.&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Editor.png|center]] &lt;br /&gt;
&lt;br /&gt;
Dynamic List administrators work with the stateless records, and when the update is completed and records are submitted to the database, the correspondent dynamic lists are updated automatically.&lt;br /&gt;
&lt;br /&gt;
== Installation Instruction ==&lt;br /&gt;
'''Please create a backup of schema and user databases before the installation.'''&amp;lt;br /&amp;gt;&lt;br /&gt;
The package is an add-on to your existing ClearQuest schema. In order to install it, you will need ClearQuest administrative access and administrative tools (ClearQuest designer). When the configuration is completed, users with the &amp;quot;Dynamic List Admin&amp;quot; privilege or super users can modify the content of the Dynamic Lists using ClearQuest Web or other ClearQuest clients.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Install ===&lt;br /&gt;
* Download the distribution to your local or network drive&lt;br /&gt;
* Launch &amp;quot;setup.exe&amp;quot;&lt;br /&gt;
* Accept license agreement&lt;br /&gt;
* When configuration wizard is launched, provide administrative user credentials, ClearQuest connection, database name, and click on &amp;quot;Connect&amp;quot; (or, you can cancel ClearQuest schema configuration wizard and configure selected database later).&lt;br /&gt;
&lt;br /&gt;
When installation is completed, login to the user database and run &amp;quot;Public Queries/Administration/Dynamic_Lists&amp;quot; query to verify Dynamic list data. You can start using the tool immediately.&lt;br /&gt;
&lt;br /&gt;
=== Manual Install ===&lt;br /&gt;
You can install the Editor manually: [[ClearQuest_Dynamic_List_Editor_ManualSetup | Manual Setup ]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Administering Dynamic Lists ==&lt;br /&gt;
When installation is completed, ClearQuest administrators can start using ClearQuest client to query Dynamic_Lists records to modify the content of the linked dynamic lists. If you used installation wizard, &amp;quot;Dynamic Lists&amp;quot; query is located in the &amp;quot;Administration&amp;quot; folder of the &amp;quot;Public Queries&amp;quot; workspace:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Sync_3.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Most of the time, the &amp;quot;Update&amp;quot; action is sufficient. In addition, the Editor offers the following actions to simplify administration:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Action Name&lt;br /&gt;
! Action Type&lt;br /&gt;
! Access Control&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Submit&lt;br /&gt;
| Submit&lt;br /&gt;
| Super User&lt;br /&gt;
| Submit allows the creation of new records when a new Dynamic List added to the ClearQuest schema. You can also use the &amp;quot;SyncAllLists&amp;quot; utility action to synchronize all the records at once.&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| Modify&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Update is the primary action for administering Dynamic Lists content. When an action is initialized, the record is refreshed with the latest content of the dynamic list (please check &amp;quot;Dynamic List Caching&amp;quot; section). When the updated record is saved, its content is saved in the correspondent dynamic list as well.&lt;br /&gt;
|-&lt;br /&gt;
| Delete&lt;br /&gt;
| Utilities / Delete&lt;br /&gt;
| Super User&lt;br /&gt;
| This action allows you to delete existing Dynamic_List records, such as when a correspondent dynamic list is removed from the schema. Alternatively, you can use the &amp;quot;SyncAllLists&amp;quot; utility action to synchronize all records at once after a database upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| LoadList&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Load List action updates the current ClearQuest record with the content of the correspondent dynamic list. Please be aware that in order to see the update you might need to refresh the ClearQuest query or even to close and re-run it.&lt;br /&gt;
|-&lt;br /&gt;
| SaveList&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Save List action saves the content of the current ClearQuest records into a correspondent dynamic list.&lt;br /&gt;
|-&lt;br /&gt;
| SaveAllLists&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Save all lists saves the content of all ClearQuest Dynamic List records into correspondent dynamic lists. It might be useful when records are imported from an external source.&lt;br /&gt;
|-&lt;br /&gt;
| SyncAllLists&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User&lt;br /&gt;
| This action syncs ClearQuest records with their correspondent dynamic lists:&lt;br /&gt;
* when the ClearQuest record already exists, its content is updated from the dynamic list&lt;br /&gt;
* when the ClearQuest record does not exist, a new record is created&lt;br /&gt;
* when a dynamic list for the existing ClearQuest record does not exist, the record is deleted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Dynamic Lists Caching ==&lt;br /&gt;
In order to improve performance, ClearQuest caches the content of dynamic lists. When you update the content of dynamic lists using native tools, the update is not available to all existing clients and sessions immediately. Your clients might need to re-login to the database in order to see the changes.&lt;br /&gt;
Similarly, the dynamic list editor is using an actual dynamic list as a primary trusted source of data for the records. When you initiate a record update, the record content is loaded from the dynamic list first. In an environment where dynamic lists are actively updated from many clients simultaneously, it might cause overwriting, because the cached list values could be used by ClearQuest. In a so changing environment, it is recommended to re-login to the database before starting a dynamic list modification (the same issue exists when you use native tools in the legacy ClearQuest Windows Client). &lt;br /&gt;
If you rarely use native tools to update dynamic lists (for instance, when a ClearQuest full client is not installed on the Dynamic List Admins' machines, and they use the Editor's Web Client capability to modify lists only), you can select the ClearQuest records as a trusted source of data for the dynamic lists. In order to do so, you need to remove the &amp;quot;Update&amp;quot; action initialization hook from the Dynamic_List record type, and upgrade the user database to apply changes. This would ensure that the most accurate data is used for list modification.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
: ClearQuest Dynamic List Editor  is supported by [http://cqadmin.com CQAdmin, inc]. Three levels or support agreement are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Dynamic_List_Editor]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=ClearQuest_Dynamic_List_Editor&amp;diff=269</id>
		<title>ClearQuest Dynamic List Editor</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=ClearQuest_Dynamic_List_Editor&amp;diff=269"/>
		<updated>2013-06-16T18:25:20Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''ClearQuest Dynamic List Editor'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Created by ClearQuest admin for ClearQuest admins.&lt;br /&gt;
&lt;br /&gt;
= Dynamic List Editor =&lt;br /&gt;
This is NOT a solution that is provided and supported by IBM-Rational. &lt;br /&gt;
The Dynamic List Editor is an add-on to your existing ClearQuest schema, VBScript or Perl based, that provides a unified interface to administer Dynamic Lists for Windows, Eclipse, UNIX clients, and (most importantly) the Web client. Additionally, it adds basic audit capabilities that can be enhanced using the Audit Trail package.&lt;br /&gt;
The enhancement is distributed as a ClearQuest schema integration, and it can be easily removed from the schema when it is no longer required.&lt;br /&gt;
&lt;br /&gt;
In the Editor, all dynamic lists are represented by correspondent stateless records of the Dynamic_List record type.&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Editor.png|center]] &lt;br /&gt;
&lt;br /&gt;
Dynamic List administrators work with the stateless records, and when the update is completed and records are submitted to the database, the correspondent dynamic lists are updated automatically.&lt;br /&gt;
&lt;br /&gt;
== Installation Instruction ==&lt;br /&gt;
'''Please create a backup of schema and user databases before the installation.'''&amp;lt;br /&amp;gt;&lt;br /&gt;
The package is an add-on to your existing ClearQuest schema. In order to install it, you will need ClearQuest administrative access and administrative tools (ClearQuest designer). When the configuration is completed, users with the &amp;quot;Dynamic List Admin&amp;quot; privilege or super users can modify the content of the Dynamic Lists using ClearQuest Web or other ClearQuest clients.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Install ===&lt;br /&gt;
* Unpack the distribution to your local or network drive (you cannot start the installation from a network share using UNC path)&lt;br /&gt;
* Launch &amp;quot;install.bat&amp;quot; in the root of the distribution&lt;br /&gt;
* Accept license agreement&lt;br /&gt;
* Provide administrative user credentials, ClearQuest connection, database name, and click on &amp;quot;Connect&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When installation is completed, login to the user database and run &amp;quot;Public Queries/Administration/Dynamic_Lists&amp;quot; query to verify Dynamic list data. You can start using the tool immediately.&lt;br /&gt;
&lt;br /&gt;
=== Manual Install ===&lt;br /&gt;
You can install the Editor manually: [[ClearQuest_Dynamic_List_Editor_ManualSetup | Manual Setup ]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Administering Dynamic Lists ==&lt;br /&gt;
When installation is completed, ClearQuest administrators can start using ClearQuest client to query Dynamic_Lists records to modify the content of the linked dynamic lists. If you used installation wizard, &amp;quot;Dynamic Lists&amp;quot; query is located in the &amp;quot;Administration&amp;quot; folder of the &amp;quot;Public Queries&amp;quot; workspace:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Sync_3.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Most of the time, the &amp;quot;Update&amp;quot; action is sufficient. In addition, the Editor offers the following actions to simplify administration:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Action Name&lt;br /&gt;
! Action Type&lt;br /&gt;
! Access Control&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Submit&lt;br /&gt;
| Submit&lt;br /&gt;
| Super User&lt;br /&gt;
| Submit allows the creation of new records when a new Dynamic List added to the ClearQuest schema. You can also use the &amp;quot;SyncAllLists&amp;quot; utility action to synchronize all the records at once.&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| Modify&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Update is the primary action for administering Dynamic Lists content. When an action is initialized, the record is refreshed with the latest content of the dynamic list (please check &amp;quot;Dynamic List Caching&amp;quot; section). When the updated record is saved, its content is saved in the correspondent dynamic list as well.&lt;br /&gt;
|-&lt;br /&gt;
| Delete&lt;br /&gt;
| Utilities / Delete&lt;br /&gt;
| Super User&lt;br /&gt;
| This action allows you to delete existing Dynamic_List records, such as when a correspondent dynamic list is removed from the schema. Alternatively, you can use the &amp;quot;SyncAllLists&amp;quot; utility action to synchronize all records at once after a database upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| LoadList&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Load List action updates the current ClearQuest record with the content of the correspondent dynamic list. Please be aware that in order to see the update you might need to refresh the ClearQuest query or even to close and re-run it.&lt;br /&gt;
|-&lt;br /&gt;
| SaveList&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Save List action saves the content of the current ClearQuest records into a correspondent dynamic list.&lt;br /&gt;
|-&lt;br /&gt;
| SaveAllLists&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Save all lists saves the content of all ClearQuest Dynamic List records into correspondent dynamic lists. It might be useful when records are imported from an external source.&lt;br /&gt;
|-&lt;br /&gt;
| SyncAllLists&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User&lt;br /&gt;
| This action syncs ClearQuest records with their correspondent dynamic lists:&lt;br /&gt;
* when the ClearQuest record already exists, its content is updated from the dynamic list&lt;br /&gt;
* when the ClearQuest record does not exist, a new record is created&lt;br /&gt;
* when a dynamic list for the existing ClearQuest record does not exist, the record is deleted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Dynamic Lists Caching ==&lt;br /&gt;
In order to improve performance, ClearQuest caches the content of dynamic lists. When you update the content of dynamic lists using native tools, the update is not available to all existing clients and sessions immediately. Your clients might need to re-login to the database in order to see the changes.&lt;br /&gt;
Similarly, the dynamic list editor is using an actual dynamic list as a primary trusted source of data for the records. When you initiate a record update, the record content is loaded from the dynamic list first. In an environment where dynamic lists are actively updated from many clients simultaneously, it might cause overwriting, because the cached list values could be used by ClearQuest. In a so changing environment, it is recommended to re-login to the database before starting a dynamic list modification (the same issue exists when you use native tools in the legacy ClearQuest Windows Client). &lt;br /&gt;
If you rarely use native tools to update dynamic lists (for instance, when a ClearQuest full client is not installed on the Dynamic List Admins' machines, and they use the Editor's Web Client capability to modify lists only), you can select the ClearQuest records as a trusted source of data for the dynamic lists. In order to do so, you need to remove the &amp;quot;Update&amp;quot; action initialization hook from the Dynamic_List record type, and upgrade the user database to apply changes. This would ensure that the most accurate data is used for list modification.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
: ClearQuest Dynamic List Editor  is supported by [http://cqadmin.com CQAdmin, inc]. Three levels or support agreement are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Dynamic_List_Editor]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=ClearQuest_Dynamic_List_Editor_ManualSetup&amp;diff=268</id>
		<title>ClearQuest Dynamic List Editor ManualSetup</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=ClearQuest_Dynamic_List_Editor_ManualSetup&amp;diff=268"/>
		<updated>2013-06-16T18:16:38Z</updated>

		<summary type="html">&lt;p&gt;Paul: Created page with &amp;quot;&amp;lt;big&amp;gt;'''ClearQuest Dynamic List Editor'''&amp;lt;/big&amp;gt;  === Manual Setup of a ClearQuest Schema === It is highly recommended to test the procedure in your development environment, an...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''ClearQuest Dynamic List Editor'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Manual Setup of a ClearQuest Schema ===&lt;br /&gt;
It is highly recommended to test the procedure in your development environment, and backup master and user databases before you start.&lt;br /&gt;
&lt;br /&gt;
==== Schema Integration ====&lt;br /&gt;
The schema integration, &amp;quot;Dynamic_List_Editor.txt&amp;quot;, is locate in the &amp;quot;data&amp;quot; folder of the installation directory. It is a text file that can be easily scanned or inspected.&lt;br /&gt;
&lt;br /&gt;
====  Apply Integration to ClearQuest Schema ====&lt;br /&gt;
* Verify that the ClearQuest schema is checked in, and that there are no pending schema changes that have not been applied to the user database.&lt;br /&gt;
* Open the command line tool, (Start-&amp;gt;Run &amp;quot;cmd&amp;quot;) and change the directory to the location where the integration package was extracted.&lt;br /&gt;
* Import integration using the &amp;quot;cqload importintegration&amp;quot; command. For example:&lt;br /&gt;
 cqload importintegration -dbset &amp;lt;db_connection_name&amp;gt; &amp;lt;admin_user&amp;gt; &amp;lt;admin_password&amp;gt; &amp;lt;ClearQuest_Schema_Name&amp;gt; &amp;quot;&amp;quot; &amp;quot;Dynamic List Editor&amp;quot; 1.0 Dynamic_List_Editor.txt &amp;quot;&amp;quot;&lt;br /&gt;
* Verify that the schema update was imported and no issues were detected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cqload_completed.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Upgrade User Database ====&lt;br /&gt;
Now, you can apply changes to the user database using ClearQuest Designer. For Eclipse Designer, in the ClearQuest Database Admin section, right click on the user database that you are going to apply changes to, and select &amp;quot;Upgrade Database&amp;quot; from the context menu. (In legacy Windows Designer, select the &amp;quot;Upgrade Database...&amp;quot; option from the database menu and select your user database).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:upgrade_db.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Apply the change that you imported on the previous step by clicking the &amp;quot;OK&amp;quot; button. Verify that user database was upgraded successfully.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:upgrade_db_completed.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Import First Dynamic List ====&lt;br /&gt;
The rest of the configuration can be completed from a ClearQuest client. You can use any client of your choice. The instructions are based on ClearQuest Web client, version 8.0.&lt;br /&gt;
Login as an administrator (super user), and submit a new record of the &amp;quot;Dynamic_List&amp;quot; type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Submit_Dynamic_List_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Select one of the list names from the &amp;quot;Name&amp;quot; drop-down list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Submit_Dynamic_List_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynamic list values will be populated automatically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Submit_Dynamic_List_3.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
click &amp;quot;Save&amp;quot; to commit the record to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating Dynamic List Administration Query ====&lt;br /&gt;
Now, you will need to create a simple query that will be used by Dynamic Lists administrators. Right click on the folder you are going to save the query to, and select &amp;quot;New Query&amp;quot; from the context menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Query _1.png|center]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Select &amp;quot;Dynamic_Query&amp;quot; as a record type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Query _2.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Provide a query name (for instance, &amp;quot;Dynamic Lists&amp;quot;), add the &amp;quot;Name&amp;quot; field to the presentation/display section, and specify the &amp;quot;Ascending&amp;quot; (A-Z) sort order. Save the query.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Query _3.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Importing Dynamic Lists ====&lt;br /&gt;
Run the &amp;quot;Dynamic Lists&amp;quot; query that we created on the previous step. You should see one Dynamic List record in the result set. Select the record, and in the &amp;quot;Utilities&amp;quot; section, chose the &amp;quot;SyncAllLists&amp;quot; action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Sync_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The action syncs ClearQuest records with the correspondent dynamic lists:&lt;br /&gt;
* when the ClearQuest record already exists, its content is updated from the dynamic list&lt;br /&gt;
* when the ClearQuest record does not exist, a new record is created&lt;br /&gt;
* when a dynamic list for the existing ClearQuest record does not exist, the record is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Sync_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no error occurred, a confirmation is displayed. Otherwise, you would see an error message.&lt;br /&gt;
Refresh the query to verify that all dynamic lists with their proper content are loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Sync_3.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
: ClearQuest Dynamic List Editor  is supported by [http://cqadmin.com CQAdmin, inc]. Three levels or support agreement are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Dynamic_List_Editor]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=User_Admin_Tool_Installation&amp;diff=267</id>
		<title>User Admin Tool Installation</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=User_Admin_Tool_Installation&amp;diff=267"/>
		<updated>2013-06-16T11:46:09Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''User Administration Tool Installation'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Planing the Installation ==&lt;br /&gt;
User Administration Tool for IBM-Rational ClearQuest is a ClearQuest database. The installer will add a custom schema to your schema repository, create user database associated with the schema, and load all data. Before you proceed, you need to collect:&lt;br /&gt;
* Physical Database information of empty database (DB vendor, server, database name, database user account, and connect options). The database needs to be created in advance (unless you are going to use Microsoft Access).&lt;br /&gt;
* Email notification settings - SMTP server name and email user credentials (if password authentication is required with SMTP relay). You can check [[Package_configuration | Email Notification Package Configuration]] page for additional information.&lt;br /&gt;
* Obtain local administrative rights on the machine where you are going to perform the installation.&lt;br /&gt;
* Create (or use an existing) ClearQuest account with Super User right that will be used for user account management. It is recommended to use ClearQuest authentication for the account to avoid problems related to password expiration.&lt;br /&gt;
&lt;br /&gt;
== Backup Schema Repository Database ==&lt;br /&gt;
It is always a good idea to create a backup before you making any change to the schema repository to roll back the change if necessary, and I strongly recommend to install the tool in your testing environment first: you would be able to validate that it is compatible with your environment and database vendor. It would minimize risks associated with deployment of the tool in your production environment later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing User Admin Tool ==&lt;br /&gt;
You can run installation of the User Administration tool on any machine that has IBM-Rational ClearQuest installed and ClearQuest connection configured. &lt;br /&gt;
&amp;lt;br /&amp;gt;Download and run &amp;quot;setup.exe&amp;quot;, accept license agreement. If &amp;quot;Run User Administration DB Setup Wizard&amp;quot; task is selected, user administration tool setup will be launched automatically. You can setup user administration database later by using &amp;quot;DB Setup&amp;quot; wizard located in the programs menu (Programs -&amp;gt; CQAdmin -&amp;gt; DB Setup).   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Login to the ClearQuest using connection (dbset) that you would like to enable for user administration using Super User account you created on the &amp;quot;planning...&amp;quot; step.&lt;br /&gt;
[[File:user_admin_install_login.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Provide required information to create ClearQuest User Administration database. Depending on your database vendor and environment, you might need to provide additional connection options. Please check ClearQuest administration manual for details. If you aborted the installation for any reason after user database was created, you would be allowed to select user database created earlier instead of creating a new one.&lt;br /&gt;
[[File:user_admin_db_settings.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Verify that you entered all information and click on &amp;quot;Create DB&amp;quot; button. The installer will start creating user database and importing all user data. There is no progress indicator, please be patient. Depending on database server load and number of user accounts the initial load might take significant time. For example, in my local environment it takes about 15 minutes to load 3000 users and groups.&lt;br /&gt;
&lt;br /&gt;
When user database is created and data import is completed, the installer will offer you to configure email notification setting. Please provide required information and save settings. The installer will validate SMTP server connectivity.&lt;br /&gt;
[[File:user_admin_en_config.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;It is the last step in the installation procedure, and no error occurred, you should receive the following confirmation. &lt;br /&gt;
[[File:user_admin_install_completed.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Congratulations! You have completed your installation. Log in to the ClearQuest database you created and you can start using it immediately.&lt;br /&gt;
&lt;br /&gt;
== Additional Information==&lt;br /&gt;
The following links could be useful&lt;br /&gt;
* [[User_Admin_Tool_Configuration | Configuring User Administration Tool]]&lt;br /&gt;
* [[Managing_ClearQuest_Users | Managing ClearQuest Users]].&lt;br /&gt;
* [http://forum.cqadmin.org/ Support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service_Configuration&amp;diff=266</id>
		<title>Email Notification Service Configuration</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service_Configuration&amp;diff=266"/>
		<updated>2013-06-07T12:34:08Z</updated>

		<summary type="html">&lt;p&gt;Paul: Created page with &amp;quot;'''EmailNotification Service Configuration File'''  &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt; &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt; &amp;lt;configuration&amp;gt;  &amp;lt;!--    ClearQuest login and pa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''EmailNotification Service Configuration File'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
  ClearQuest login and password &lt;br /&gt;
  cleartext password must be encrypted using &amp;quot;encrypt&amp;quot; command &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;login&amp;gt;admin&amp;lt;/login&amp;gt;&lt;br /&gt;
&amp;lt;password&amp;gt;unencrypted_password&amp;lt;/password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  DBSets configured for email notification&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;dbsets&amp;gt;&lt;br /&gt;
&amp;lt;!--each connection starts with &amp;lt;dbset&amp;gt; tag --&amp;gt; &lt;br /&gt;
&amp;lt;dbset&amp;gt;&lt;br /&gt;
  &amp;lt;!--connection name (dbset)--&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;ClearQuest Connection Name&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;!-- dbset specific credentials can be specified here. It would override global settings&lt;br /&gt;
  password can be provided as clear text and encrypted using “encrypt” command.&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;login&amp;gt;connection-specific-login-name&amp;lt;/login&amp;gt;&lt;br /&gt;
  &amp;lt;password&amp;gt;connection-specific-password&amp;lt;/password&amp;gt;&lt;br /&gt;
  --&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- all user databases  --&amp;gt;&lt;br /&gt;
  &amp;lt;databases&amp;gt;&lt;br /&gt;
    &amp;lt;database&amp;gt;DB1&amp;lt;/database&amp;gt;&lt;br /&gt;
    &amp;lt;database&amp;gt;DB2&amp;lt;/database&amp;gt;&lt;br /&gt;
  &amp;lt;/databases&amp;gt;&lt;br /&gt;
&amp;lt;/dbset&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dbset&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Another ClearQuest DBSet&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;databases&amp;gt;&lt;br /&gt;
    &amp;lt;database&amp;gt;DB3&amp;lt;/database&amp;gt;&lt;br /&gt;
  &amp;lt;/databases&amp;gt;&lt;br /&gt;
&amp;lt;/dbset&amp;gt;&lt;br /&gt;
&amp;lt;/dbsets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--additional configuration options &lt;br /&gt;
Logfile – alternative log file name--&amp;gt;&lt;br /&gt;
&amp;lt;logfile&amp;gt;new_log_file_name&amp;lt;/logfile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Log level – desirable logging level --&amp;gt;&lt;br /&gt;
&amp;lt;loglevel&amp;gt;ALL&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- debug – turn on debug output --&amp;gt;&lt;br /&gt;
&amp;lt;debug&amp;gt;true&amp;lt;/debug&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- verbose – turn on console output --&amp;gt;&lt;br /&gt;
&amp;lt;verbose&amp;gt;true&amp;lt;/verbose&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
  Local configuration flag&lt;br /&gt;
  when set to &amp;quot;false&amp;quot; email settings are retrieved from the ClearQuest database&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;localconfig&amp;gt;false&amp;lt;/localconfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- example of the local email settings&lt;br /&gt;
&amp;lt;localconfig&amp;gt;true&amp;lt;/localconfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 email host – SMTP server name. It might include port number. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;email_host&amp;gt;hostname:port&amp;lt;/email_host&amp;gt;&lt;br /&gt;
Alternatively, port number can be specified as &amp;lt;mail.smtp.port&amp;gt;port&amp;lt;/mail.smtp.port&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Authentication credentials. Password can be provided as clear text and encrypted using “encrypt” command.&lt;br /&gt;
&amp;lt;email_login&amp;gt;loginname&amp;lt;/email_login&amp;gt;&lt;br /&gt;
&amp;lt;email_password&amp;gt;password&amp;lt;/email_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
turn on STARTTLS on smtp connection:&lt;br /&gt;
&amp;lt;mail.smtp.starttls&amp;gt;true&amp;lt;/mail.smtp.starttls&amp;gt;&lt;br /&gt;
trust particular host self-signed or invalid certificate&lt;br /&gt;
&amp;lt;mail.smtp.ssl.trust&amp;gt;my.host.name&amp;lt;/mail.smtp.ssl.trust&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use SSL:&lt;br /&gt;
&amp;lt;email_use_ssl&amp;gt;true&amp;lt;/email_use_ssl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service_Command_Line&amp;diff=265</id>
		<title>Email Notification Service Command Line</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service_Command_Line&amp;diff=265"/>
		<updated>2013-06-07T12:28:37Z</updated>

		<summary type="html">&lt;p&gt;Paul: Paul moved page Delivery Service Command Line to Email Notification Service Command Line without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Email Notification Package Delivery Service Command Line'''&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' cqemail [options] command&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot;| Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|'''once'''&lt;br /&gt;
|Query databases for eligible email messages, attempt delivery, and exit. It was a default behavior of the Email Delivery Script.&lt;br /&gt;
|-&lt;br /&gt;
|'''run'''&lt;br /&gt;
|Run delivery attempts on defined schedule. Default schedule is to make delivery attempt every five minutes with 0 second offset from the beginning on the hour. It can be overridden by setting &amp;quot;interval&amp;quot; and &amp;quot;offset&amp;quot; parameters in the configuration file, or by correspondent command line options.&lt;br /&gt;
|-&lt;br /&gt;
|'''save-options'''&lt;br /&gt;
|Save options given as command line parameters in the configuration file.&lt;br /&gt;
|-&lt;br /&gt;
|'''encrypt-passwords'''&lt;br /&gt;
|Encrypt clear text password in the configuration file. All passwords in the configuration file must be in clear-text before running this command. It does not check if the password already encrypted or not.&lt;br /&gt;
|-&lt;br /&gt;
|'''configure'''&lt;br /&gt;
|Run configuration graphical user interface.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot;| Option&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| -h, --help&lt;br /&gt;
|Print help message.&lt;br /&gt;
|-&lt;br /&gt;
| -V, --version&lt;br /&gt;
|Print version information.&lt;br /&gt;
|-&lt;br /&gt;
| -C, --config &amp;lt;file&amp;gt;&lt;br /&gt;
|Use an alternative configuration file given as &amp;lt;file&amp;gt;. Default configuration file name is config/config.xml.&lt;br /&gt;
|-&lt;br /&gt;
| -u, --login &amp;lt;login&amp;gt;&lt;br /&gt;
|ClearQuest login name. Overrides login name provided in the configuration file.&lt;br /&gt;
|-&lt;br /&gt;
| -p, --password &amp;lt;password&amp;gt;&lt;br /&gt;
|ClearQuest password. Overrides user password specified in the configuration file.&lt;br /&gt;
|-&lt;br /&gt;
| -db, --database &amp;lt;database&amp;gt;&lt;br /&gt;
|ClearQuest database name. Overrides dbset options set in the configuration file.&lt;br /&gt;
|-&lt;br /&gt;
| -dbs, --dbset &amp;lt;dbset&amp;gt;&lt;br /&gt;
|ClearQuest connection name (dbset). Overrides dbset set in the configuration file&lt;br /&gt;
|-&lt;br /&gt;
| --localconfig&lt;br /&gt;
|Use local configuration file for the email notification settings. When set in command line or in the configuration file, SMTP server name, port, authentication credential and connection settings retrieved from the configuration file.  When is not set (or set to &amp;quot;false&amp;quot; in the configuration file), ClearQuest user database properties are queried first. It was a default behavior for the email notification package delivery script.&lt;br /&gt;
|-&lt;br /&gt;
| -L, --logfile &amp;lt;file&amp;gt;&lt;br /&gt;
|Use alternative log file name (default is log/notification.log)&lt;br /&gt;
|-&lt;br /&gt;
| --loglevel &amp;lt;LEVEL&amp;gt;&lt;br /&gt;
|Specify desirable log level. (one of the following: ALL SEVERE WARNING INFO FINE FINER FINEST).&lt;br /&gt;
|-&lt;br /&gt;
| --debug&lt;br /&gt;
|Turn on debug output.&lt;br /&gt;
|-&lt;br /&gt;
| -v, --verbose&lt;br /&gt;
|Turn on console output&lt;br /&gt;
|-&lt;br /&gt;
| --interval &amp;lt;seconds&amp;gt;&lt;br /&gt;
|Specify scheduled run interval in seconds. Default is 300 – every 5 minutes.&lt;br /&gt;
|-&lt;br /&gt;
| --offset &amp;lt;seconds&amp;gt;&lt;br /&gt;
|Specify desirable offset of the scheduled execution from the beginning of the hour. Default is 0. It can be used to schedule email delivery from multiple hosts for redundancy and avoid racing conditions. For instance, you can run delivery every 5 minutes on host1 and host2, and use offset 150 (2.5 minutes) on one of them. In this case host1 runs delivery at hh:00:00, hh:05:00, hh:10:00, hh:15:00 ... and host2 at hh:02:30, hh:07:30, hh:12:30, hh:17:30 ...&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=264</id>
		<title>CQAdmin</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=264"/>
		<updated>2013-06-06T19:42:18Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Rational Administrators'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site was created to provide tools, information, and share experience that might be useful for Rational tools administrators. &lt;br /&gt;
&lt;br /&gt;
It is powered by [http://www.mediawiki.org MediaWiki] and opened for everyone. If you would like to contribute your materials, please feel free to do it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latest news ==&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: The User Administration Tool was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. It met the requirements for the IBM Software Delivery Platform level of the program. The User Administration tool simplifies site management and adds other valuable features, such as Web-based user administration, ultimate query and search capabilities, customizable defaults and validations, user profiling and templates, granular access, reporting and audit, email notifications and more.&lt;br /&gt;
&lt;br /&gt;
* '''[[ClearQuest_Email_Notification_Package | Email Notification Package]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: Email Notification package was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. The package met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''Commercial Support'''&lt;br /&gt;
: ClearQuest Email Notification package is officially [http://store.cqadmin.com/index.php/clearquest/cq-email-notification/email-notification-package-support.html supported] by [http://cqadmin.com CQAdmin, inc]. Three levels or support are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | Email Notification Package]] for IBM-Rational ClearQuest. &lt;br /&gt;
: If you would like to use flexible notification rules, reliable delivery, sending HTML emails with rich text, fonts, and colors, configuring reminders, and many other features, you might like the package.&lt;br /&gt;
&lt;br /&gt;
* [[User_Admin_Tool | User Administration Tool]] for IBM-Rational ClearQuest.&lt;br /&gt;
: It simplifies site management and adds other valuable features, such as customizable defaults and validations, user profiling and templates, reporting and audit, email notifications and more. &lt;br /&gt;
&lt;br /&gt;
* [[ClearQuest_Dynamic_List_Editor | Dynamic List Editor]] for IBM-Rational ClearQuest. &lt;br /&gt;
: Would you like to administer Dynamic Lists via the ClearQuest Web client? You might consider using the editor.&lt;br /&gt;
&lt;br /&gt;
* '''Support forum'''&lt;br /&gt;
: Support forum is available now. Please do not hesitate to ask questions or share your experience.&lt;br /&gt;
: [http://forum.cqadmin.org/ http://forum.cqadmin.org/]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service_Command_Line&amp;diff=263</id>
		<title>Email Notification Service Command Line</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service_Command_Line&amp;diff=263"/>
		<updated>2013-06-02T10:42:11Z</updated>

		<summary type="html">&lt;p&gt;Paul: Created page with &amp;quot;'''Email Notification Package Delivery Service Command Line'''  '''Usage:''' cqemail [options] command  {| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;10&amp;quot; ! align=&amp;quot;center&amp;quot;| Command ! Descr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Email Notification Package Delivery Service Command Line'''&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' cqemail [options] command&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot;| Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|'''once'''&lt;br /&gt;
|Query databases for eligible email messages, attempt delivery, and exit. It was a default behavior of the Email Delivery Script.&lt;br /&gt;
|-&lt;br /&gt;
|'''run'''&lt;br /&gt;
|Run delivery attempts on defined schedule. Default schedule is to make delivery attempt every five minutes with 0 second offset from the beginning on the hour. It can be overridden by setting &amp;quot;interval&amp;quot; and &amp;quot;offset&amp;quot; parameters in the configuration file, or by correspondent command line options.&lt;br /&gt;
|-&lt;br /&gt;
|'''save-options'''&lt;br /&gt;
|Save options given as command line parameters in the configuration file.&lt;br /&gt;
|-&lt;br /&gt;
|'''encrypt-passwords'''&lt;br /&gt;
|Encrypt clear text password in the configuration file. All passwords in the configuration file must be in clear-text before running this command. It does not check if the password already encrypted or not.&lt;br /&gt;
|-&lt;br /&gt;
|'''configure'''&lt;br /&gt;
|Run configuration graphical user interface.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot;| Option&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| -h, --help&lt;br /&gt;
|Print help message.&lt;br /&gt;
|-&lt;br /&gt;
| -V, --version&lt;br /&gt;
|Print version information.&lt;br /&gt;
|-&lt;br /&gt;
| -C, --config &amp;lt;file&amp;gt;&lt;br /&gt;
|Use an alternative configuration file given as &amp;lt;file&amp;gt;. Default configuration file name is config/config.xml.&lt;br /&gt;
|-&lt;br /&gt;
| -u, --login &amp;lt;login&amp;gt;&lt;br /&gt;
|ClearQuest login name. Overrides login name provided in the configuration file.&lt;br /&gt;
|-&lt;br /&gt;
| -p, --password &amp;lt;password&amp;gt;&lt;br /&gt;
|ClearQuest password. Overrides user password specified in the configuration file.&lt;br /&gt;
|-&lt;br /&gt;
| -db, --database &amp;lt;database&amp;gt;&lt;br /&gt;
|ClearQuest database name. Overrides dbset options set in the configuration file.&lt;br /&gt;
|-&lt;br /&gt;
| -dbs, --dbset &amp;lt;dbset&amp;gt;&lt;br /&gt;
|ClearQuest connection name (dbset). Overrides dbset set in the configuration file&lt;br /&gt;
|-&lt;br /&gt;
| --localconfig&lt;br /&gt;
|Use local configuration file for the email notification settings. When set in command line or in the configuration file, SMTP server name, port, authentication credential and connection settings retrieved from the configuration file.  When is not set (or set to &amp;quot;false&amp;quot; in the configuration file), ClearQuest user database properties are queried first. It was a default behavior for the email notification package delivery script.&lt;br /&gt;
|-&lt;br /&gt;
| -L, --logfile &amp;lt;file&amp;gt;&lt;br /&gt;
|Use alternative log file name (default is log/notification.log)&lt;br /&gt;
|-&lt;br /&gt;
| --loglevel &amp;lt;LEVEL&amp;gt;&lt;br /&gt;
|Specify desirable log level. (one of the following: ALL SEVERE WARNING INFO FINE FINER FINEST).&lt;br /&gt;
|-&lt;br /&gt;
| --debug&lt;br /&gt;
|Turn on debug output.&lt;br /&gt;
|-&lt;br /&gt;
| -v, --verbose&lt;br /&gt;
|Turn on console output&lt;br /&gt;
|-&lt;br /&gt;
| --interval &amp;lt;seconds&amp;gt;&lt;br /&gt;
|Specify scheduled run interval in seconds. Default is 300 – every 5 minutes.&lt;br /&gt;
|-&lt;br /&gt;
| --offset &amp;lt;seconds&amp;gt;&lt;br /&gt;
|Specify desirable offset of the scheduled execution from the beginning of the hour. Default is 0. It can be used to schedule email delivery from multiple hosts for redundancy and avoid racing conditions. For instance, you can run delivery every 5 minutes on host1 and host2, and use offset 150 (2.5 minutes) on one of them. In this case host1 runs delivery at hh:00:00, hh:05:00, hh:10:00, hh:15:00 ... and host2 at hh:02:30, hh:07:30, hh:12:30, hh:17:30 ...&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=262</id>
		<title>Email Notification Service</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_Service&amp;diff=262"/>
		<updated>2013-06-02T10:19:07Z</updated>

		<summary type="html">&lt;p&gt;Paul: Created page with &amp;quot;'''EmailNotification package Delivery Service''' The service performs centralized email delivery for ClearQuest user databases utilizing [[ClearQuest_Email_Notification_Packag...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''EmailNotification package Delivery Service'''&lt;br /&gt;
The service performs centralized email delivery for ClearQuest user databases utilizing [[ClearQuest_Email_Notification_Package | Email Notification]] package in '''Queue''' mode. It features:&lt;br /&gt;
* Servicing multiple user databases and multiple connections (dbsets)&lt;br /&gt;
* Performing scheduled delivery with configured interval and offset.&lt;br /&gt;
* Operating in console mode, or working as a service.&lt;br /&gt;
* Sending emails via secure connection using SMTP over SSL or STARTTLS extension.&lt;br /&gt;
* Supporting login, digest, and NTLM authentication mechanisms.&lt;br /&gt;
* Preventing user credentials from exposure by encrypting them in the configuration file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=ClearQuest_Email_Notification_Package&amp;diff=261</id>
		<title>ClearQuest Email Notification Package</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=ClearQuest_Email_Notification_Package&amp;diff=261"/>
		<updated>2013-04-15T19:43:17Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''ClearQuest Email Notification Package'''&amp;lt;/big&amp;gt; [[File:R4_Rational.jpg|right|140px]] &amp;lt;!--[[File:R4_Rational.jpg|right|140px]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Created by ClearQuest admin for ClearQuest admins.&lt;br /&gt;
&lt;br /&gt;
== Email Notification Package ==&lt;br /&gt;
It is NOT a solution that is provided and supported by IBM-Rational. It is a replacement of existing package that allows you to overcome drawbacks of standard solution and satisfy all notification requirements that you might possibly have, creating custom emails using text or HTML. &lt;br /&gt;
The package offers ultimately flexible way of customizing notifications with no need of modifying ClearQuest schema. Usually, you need to update schema once, when you installing the package and applying it to desirable record types. It offers you rich functionality from the beginning and allows your to enhance it.&lt;br /&gt;
&lt;br /&gt;
The package was initially released in 2004, and presented on [http://cqadmin.org/data/CCMA43.pdf RUC 2006] and [http://cqadmin.org/data/Reno_VoiCE-ClearQuest_Email.pdf IBM VoiCE 2011].&lt;br /&gt;
&lt;br /&gt;
Here is a quick overview of some of the features. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Centralized configuration and maintenance ===&lt;br /&gt;
Email settings are stored in the ClearQuest user database. You do not need to configure every client. You configured notification on the database, turned them on – and it is working for all users, regardless of the client type: Windows, CCWeb, UNIX. It also easy to turn off notifications when they are not necessary. For example, you copied your production database to a test environment, turned the plug off, and you do not bother your users with annoying emails while testing.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reliable delivery/Message Queue ===&lt;br /&gt;
If message cannot be delivered due to SMTP relay outage, delivery error or connectivity issue, it is saved in the message queue and will be re-delivered. You can optimize delivery mode based on your own requirements and needs. There are tree delivery modes offered by the package '''Light''', '''Deferred''' (default), and '''Queue'''.&lt;br /&gt;
&lt;br /&gt;
In case of '''Light''' delivery mode each client tries to deliver message to SMTP relay immediately, and store generated messages in the database for further re-delivery if attempt was unsuccessful only.&lt;br /&gt;
&lt;br /&gt;
'''Deferred''' delivery means that client stores all triggered messages in database message queue first, and then tries to deliver them, as well as other eligible messages that might be left from previous unsuccessful delivery attempts. All messages are sent in batch mode when rules evaluation is completed.&lt;br /&gt;
&lt;br /&gt;
In case of '''Queue''' delivery mode, client stores all messages in database and does not attempt to deliver. In this case,  SMTP delivery is performed by separate CQPerl script running from ClearQuest server.&lt;br /&gt;
&lt;br /&gt;
You can find out more about delivery modes [[ClearQuest_Email_Notification_Package_Delivery_Mode | here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Message Log/Audit trail ===&lt;br /&gt;
In Deferred and Queue delivery mode all generated messages are stored in the message queue, which is a ClearQuest table. You are able to validate what was sent and when, check for delivery errors, error messages. In addition to that you can update and re-deliver messages if necessary within the ClearQuest.&lt;br /&gt;
&lt;br /&gt;
Message queue is also useful to develop and debug email notification rules. For example, you can turn on email notifications on your test database, and set Queue delivery mode  without delivery script running. Email Rules will be evaluated, emails triggered and saved in the database, but users would not be disturbed. You can review generated emails and sent them manually, if necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Customizable message envelope and body ===&lt;br /&gt;
You can create almost any message you want. Most of the field in the notification rule that defines email message are free-text fields, where you can embed parameters, such as record fields, database properties, results of SQL statements execution, Package or Perl build-in, and user-defined function. At runtime, during the rules evaluation, these parameters will be expanded, substituted with actual field values and function's return results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, you configured subject in your email notification rule as: &lt;br /&gt;
  Defect $ID has been $State&lt;br /&gt;
and subject in the generated email message might look like &lt;br /&gt;
  Subject: Defect RATL0000001 has been closed &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also use html emails with rich formatting, colors, embedded images, links, etc.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:sample_email.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configurable email message priority ===&lt;br /&gt;
Users receive tons of emails, and sometimes you need to attract their attention to some of them. Priority field can be used to flag some messages. It can be a static priority specified for email notification rule, or dynamically evaluated priority. For example, you can flag messages that are generated by incident with Severity 1 only. Since your email body is also customizable, you can add there details instructions for the recipient on what needs to be done when they received such email.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Additional header information ===&lt;br /&gt;
It might be required to include some information not just to message body, but also to the message envelope. For example, to inform the mail agent about character set used in the message, or specify particular message type, such as html, etc. &lt;br /&gt;
It could be used for specifying reply-to address, references, or other special information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notification conditions ===&lt;br /&gt;
Notification condition filed provide you additional mechanism to customize message behavior. Along with fields, parameters and function, you can use logical comparison, arithmetic and other operators, as well as regular expressions patterns.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Message sender and reply-to address ===&lt;br /&gt;
You can send email using the current user email address in the “From:” field, select a dedicated email address that will be used for all emails generated in the database, or create from email address dynamically when email is triggered. It is flexible and can be used in many ways. For example, it can help you satisfying mail relaying policies in very restrictive environments. If necessary, you can configure different Reply-To address, that will be used when users try to reply to generated emails.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Site-specific settings in Multisited environment ===&lt;br /&gt;
If you use ClearQuest multisite, you might change some database settings based on the site where you are located. For example, to point your users to a site-specific SMTP relay. It is not a problem: the package allows you to create global, as well as site specific settings, to modify or unset global database properties on particular site.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Password authentication with SMTP relay ===&lt;br /&gt;
Optionally, you can configure password authentication with SMTP relay. Credentials used for notification can be saved as encrypted values in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reminders ===&lt;br /&gt;
Another nice feature of the package that it allows you to configure reminders, such as notifications about approaching due date,  or other important events. I called it [[Timed_Notification | Timed Notification]]. You can create a template using the same flexible email notification rules, and Timed Notification script will trigger them using dummy action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Notification Subscription ===&lt;br /&gt;
You can allow users to manage there email notification rules subscription preferences. This functionality is delivered with optional '''EmailSubscription''' package. It can be used as-is, enhanced, or taken as an example to implement your own, more sophisticated end-user subscription solution. Please check [[ClearQuest_Email_Subscription | Email Subscription]] page for details.&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
Would you like to try it? Then, '''create a backup of your schema and user database''', or (even better) create test environment with master and user databases. Many customers have been using the package for years, but it is always makes sense to test the package in your specific environment and check for conflicts with existing hooks, issues with particular database vendor and version, etc, and update production when you are sure that it would be safe to do it only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [[Download | Download]] the package.&lt;br /&gt;
# [[Package_installation | Install it]].&lt;br /&gt;
# Create your [[EmailNotification_Creating_First_Notification_Rule | first notification rule]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Information ==&lt;br /&gt;
# It could be useful to read [[Package_configuration | package configuration guide]] and&lt;br /&gt;
# [[ClearQuest_Email_Notification_Package_FAQ | Frequently Asked Questions ]]&lt;br /&gt;
# Please check [[Notification_Examples | Examples]] and&lt;br /&gt;
# [http://cqadmin.org/data/CCMA43.pdf Extending IBM(R) Rational(R) ClearQuest(R) Email Notifications] presentation&lt;br /&gt;
# [[Timed_Notification | Reminders / Timed Notifications]]&lt;br /&gt;
# [[ClearQuest_Email_Subscription | End users self-subscription to email notifications]]&lt;br /&gt;
# If you have questions or problems, welcome to the [http://forum.cqadmin.org/ support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== License == &lt;br /&gt;
&lt;br /&gt;
The ''ClearQuest Email Notification Package'' is licensed under the ''GNU Lesser General Public License'' (AKA, the &amp;quot;LGPL&amp;quot;), Version 2.1, February, 1999.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
: ClearQuest Email Notification package is [http://store.cqadmin.com/index.php/clearquest/cq-email-notification/email-notification-package-support.html officially supported] by [http://cqadmin.com CQAdmin, inc]. Three levels or support agreement are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=260</id>
		<title>User Admin Tool</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=260"/>
		<updated>2013-04-15T19:42:28Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''User Administration Tool for IBM-Rational ClearQuest'''&amp;lt;/big&amp;gt;  [[File:R4_Rational.jpg|right|140px]] &amp;lt;!-- comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
IBM-Rational ClearQuest is one of the greatest tools available in the IBM portfolio. It became even more valuable with introduction of the enhanced ClearQuest Web interface. Having Web based user administrating tool was a dream of ClearQuest administrators for a long time.&lt;br /&gt;
I would like to present a Web based user administration tool that was implemented on IBM-Rational ClearQuest platform and does not require ClearQuest installation on an administrator's desktop. It simplifies remote site management and adds other features that were missing in the standard User Administrator.&lt;br /&gt;
&lt;br /&gt;
== Ultimate Query and Search Capabilities ==&lt;br /&gt;
The User Administration tool is based on ClearQuest and utilized its powerful query and search capabilities. Finding users or groups has never been easier. The basic search can be enhanced using full-text search engine.&lt;br /&gt;
&lt;br /&gt;
== Customizable Defaults ==&lt;br /&gt;
The tool allows you to setup defaults for most of the User and Group record fields. For example, you can choose default authentication mechanism to be LDAP instead of ClearQuest, specify default list of User Privileges, Groups, and Database subscription to simplify your life and save your valuable time. Even new user password can be randomly generated when you use ClearQuest authentication.   &lt;br /&gt;
&lt;br /&gt;
== Customizable Fields Validation ==&lt;br /&gt;
In addition to defaults, the tool offers enhanced validation features, and there would be no need to change schema. Most of the conditions can be specified in the database on the fly. For instance, you can check that user email is specified as an Internet email address from your company domain; use advanced validation for login name, full name, phone, etc.  &lt;br /&gt;
&lt;br /&gt;
== Managing Users Using Profiles and Templates ==&lt;br /&gt;
Have you ever tried creating user account that has &amp;quot;the same rights&amp;quot; as another user account in the enterprise database containing thousands of users and hundreds of groups? In this case you will like this feature. Mirroring user or adding &amp;quot;somebody else&amp;quot; rights has never been easier. You need to specify other user, and the system will take care of the rest.&lt;br /&gt;
Moreover, it allows to setup a set of template profiles or roles that can be used to expedite new users provisioning and guard you from mistakes. Setting up new &amp;quot;CM Manager&amp;quot; or &amp;quot;Project Admin&amp;quot; would take seconds.   &lt;br /&gt;
&lt;br /&gt;
== Granular Access ==&lt;br /&gt;
In addition to the ClearQuest defined user permissions, the tool allows you to define its own equivalents. If you set up the system this way, the tool user admins would have user administration access within the User Admin Tool, but they would not be able to run the same operations using the standard user admin utility. It prevents from mistakes and unnecessary synchronizations between the databases.&amp;lt;br /&amp;gt;&lt;br /&gt;
In addition, the tool allows you to setup group administrators, users, that are allowed to administer specific group(s) only. If you are using ClearQuest authentication, you can also safely delegate password reset rights to your first-tier helpdesk personal. &lt;br /&gt;
&lt;br /&gt;
== Reporting ==&lt;br /&gt;
The system provides a set of out-of-the box reports. In just few clicks you can get printable list of active users, or find out user accounts or groups that were updated since yesterday. You can also use provided report formats to build your own reports. &lt;br /&gt;
&lt;br /&gt;
== Audit Trail ==&lt;br /&gt;
One of the most important for account management features is audit capability. When you use User Administration Tool, you can always answer the following questions: who, when, and what. More advanced audit capabilities are based on [[ClearQuest_Email_Notification_Package | Email Notification package]], and can be turned on at any time, and in case if it is not enough, you can use Audit Trail package to enhance audit capabilities.&lt;br /&gt;
&lt;br /&gt;
== Email Notifications ==&lt;br /&gt;
The system offers customizable and ultimately flexible notification rules based on [[ClearQuest_Email_Notification_Package | Email Notification package]] for IBM-Rational ClearQuest. Configurable email formats, recipients, and advanced conditions allows you to implement any possible notification scenario. &lt;br /&gt;
&lt;br /&gt;
== Additional Information==&lt;br /&gt;
The following links could be useful&lt;br /&gt;
* [[User_Admin_Tool_Installation | Installing User Administration Tool]]&lt;br /&gt;
* [[User_Admin_Tool_Configuration | Configuring User Administration Tool]]&lt;br /&gt;
* [[Managing_ClearQuest_Users | Managing ClearQuest Users]].&lt;br /&gt;
* [[Download | Downloads]]&lt;br /&gt;
* [http://forum.cqadmin.org/ Support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=259</id>
		<title>CQAdmin</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=259"/>
		<updated>2013-04-15T19:41:47Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Rational Administrators'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site was created to provide tools, information, and share experience that might be useful for Rational tools administrators. &lt;br /&gt;
&lt;br /&gt;
It is powered by [http://www.mediawiki.org MediaWiki] and opened for everyone. If you would like to contribute your materials, please feel free to do it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latest news ==&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: The User Administration Tool was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. It met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] has been released.'''&lt;br /&gt;
: The tool is implemented on IBM-Rational ClearQuest platform and does not require ClearQuest installation on administrator's desktop. It simplifies site management and adds other valuable features, such as ultimate query and search capabilities, customizable defaults and validations, user profiling and templates, granular access, reporting and audit, email notifications and more.&lt;br /&gt;
&lt;br /&gt;
* '''[[ClearQuest_Email_Notification_Package | Email Notification Package]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: Email Notification package was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. The package met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''Commercial Support'''&lt;br /&gt;
: ClearQuest Email Notification package is officially [http://store.cqadmin.com/index.php/clearquest/cq-email-notification/email-notification-package-support.html supported] by [http://cqadmin.com CQAdmin, inc]. Three levels or support are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
&lt;br /&gt;
* '''IBM-Rational VoiCE 2011'''&lt;br /&gt;
: ClearQuest Email Notification package was presented at IBM-Rational VoiCE 2011 conference in Reno, NV ([http://cqadmin.org/data/Reno_VoiCE-ClearQuest_Email.pdf presentation])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | Email Notification Package]] for IBM-Rational ClearQuest. &lt;br /&gt;
: If you would like to use flexible notification rules, reliable delivery, sending HTML emails with rich text, fonts, and colors, configuring reminders, and many other features, you might like the package.&lt;br /&gt;
&lt;br /&gt;
* [[User_Admin_Tool | User Administration Tool]] for IBM-Rational ClearQuest.&lt;br /&gt;
: It simplifies site management and adds other valuable features, such as customizable defaults and validations, user profiling and templates, reporting and audit, email notifications and more. &lt;br /&gt;
&lt;br /&gt;
* [[ClearQuest_Dynamic_List_Editor | Dynamic List Editor]] for IBM-Rational ClearQuest. &lt;br /&gt;
: Would you like to administer Dynamic Lists via the ClearQuest Web client? You might consider using the editor.&lt;br /&gt;
&lt;br /&gt;
* '''Support forum'''&lt;br /&gt;
: Support forum is available now. Please do not hesitate to ask questions or share your experience.&lt;br /&gt;
: [http://forum.cqadmin.org/ http://forum.cqadmin.org/]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=ClearQuest_Email_Notification_Package&amp;diff=258</id>
		<title>ClearQuest Email Notification Package</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=ClearQuest_Email_Notification_Package&amp;diff=258"/>
		<updated>2013-04-13T17:26:35Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''ClearQuest Email Notification Package'''&amp;lt;/big&amp;gt; &amp;lt;!--[[File:R4_Rational.jpg|right|140px]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Created by ClearQuest admin for ClearQuest admins.&lt;br /&gt;
&lt;br /&gt;
== Email Notification Package ==&lt;br /&gt;
It is NOT a solution that is provided and supported by IBM-Rational. It is a replacement of existing package that allows you to overcome drawbacks of standard solution and satisfy all notification requirements that you might possibly have, creating custom emails using text or HTML. &lt;br /&gt;
The package offers ultimately flexible way of customizing notifications with no need of modifying ClearQuest schema. Usually, you need to update schema once, when you installing the package and applying it to desirable record types. It offers you rich functionality from the beginning and allows your to enhance it.&lt;br /&gt;
&lt;br /&gt;
The package was initially released in 2004, and presented on [http://cqadmin.org/data/CCMA43.pdf RUC 2006] and [http://cqadmin.org/data/Reno_VoiCE-ClearQuest_Email.pdf IBM VoiCE 2011].&lt;br /&gt;
&lt;br /&gt;
Here is a quick overview of some of the features. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Centralized configuration and maintenance ===&lt;br /&gt;
Email settings are stored in the ClearQuest user database. You do not need to configure every client. You configured notification on the database, turned them on – and it is working for all users, regardless of the client type: Windows, CCWeb, UNIX. It also easy to turn off notifications when they are not necessary. For example, you copied your production database to a test environment, turned the plug off, and you do not bother your users with annoying emails while testing.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reliable delivery/Message Queue ===&lt;br /&gt;
If message cannot be delivered due to SMTP relay outage, delivery error or connectivity issue, it is saved in the message queue and will be re-delivered. You can optimize delivery mode based on your own requirements and needs. There are tree delivery modes offered by the package '''Light''', '''Deferred''' (default), and '''Queue'''.&lt;br /&gt;
&lt;br /&gt;
In case of '''Light''' delivery mode each client tries to deliver message to SMTP relay immediately, and store generated messages in the database for further re-delivery if attempt was unsuccessful only.&lt;br /&gt;
&lt;br /&gt;
'''Deferred''' delivery means that client stores all triggered messages in database message queue first, and then tries to deliver them, as well as other eligible messages that might be left from previous unsuccessful delivery attempts. All messages are sent in batch mode when rules evaluation is completed.&lt;br /&gt;
&lt;br /&gt;
In case of '''Queue''' delivery mode, client stores all messages in database and does not attempt to deliver. In this case,  SMTP delivery is performed by separate CQPerl script running from ClearQuest server.&lt;br /&gt;
&lt;br /&gt;
You can find out more about delivery modes [[ClearQuest_Email_Notification_Package_Delivery_Mode | here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Message Log/Audit trail ===&lt;br /&gt;
In Deferred and Queue delivery mode all generated messages are stored in the message queue, which is a ClearQuest table. You are able to validate what was sent and when, check for delivery errors, error messages. In addition to that you can update and re-deliver messages if necessary within the ClearQuest.&lt;br /&gt;
&lt;br /&gt;
Message queue is also useful to develop and debug email notification rules. For example, you can turn on email notifications on your test database, and set Queue delivery mode  without delivery script running. Email Rules will be evaluated, emails triggered and saved in the database, but users would not be disturbed. You can review generated emails and sent them manually, if necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Customizable message envelope and body ===&lt;br /&gt;
You can create almost any message you want. Most of the field in the notification rule that defines email message are free-text fields, where you can embed parameters, such as record fields, database properties, results of SQL statements execution, Package or Perl build-in, and user-defined function. At runtime, during the rules evaluation, these parameters will be expanded, substituted with actual field values and function's return results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, you configured subject in your email notification rule as: &lt;br /&gt;
  Defect $ID has been $State&lt;br /&gt;
and subject in the generated email message might look like &lt;br /&gt;
  Subject: Defect RATL0000001 has been closed &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also use html emails with rich formatting, colors, embedded images, links, etc.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:sample_email.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configurable email message priority ===&lt;br /&gt;
Users receive tons of emails, and sometimes you need to attract their attention to some of them. Priority field can be used to flag some messages. It can be a static priority specified for email notification rule, or dynamically evaluated priority. For example, you can flag messages that are generated by incident with Severity 1 only. Since your email body is also customizable, you can add there details instructions for the recipient on what needs to be done when they received such email.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Additional header information ===&lt;br /&gt;
It might be required to include some information not just to message body, but also to the message envelope. For example, to inform the mail agent about character set used in the message, or specify particular message type, such as html, etc. &lt;br /&gt;
It could be used for specifying reply-to address, references, or other special information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notification conditions ===&lt;br /&gt;
Notification condition filed provide you additional mechanism to customize message behavior. Along with fields, parameters and function, you can use logical comparison, arithmetic and other operators, as well as regular expressions patterns.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Message sender and reply-to address ===&lt;br /&gt;
You can send email using the current user email address in the “From:” field, select a dedicated email address that will be used for all emails generated in the database, or create from email address dynamically when email is triggered. It is flexible and can be used in many ways. For example, it can help you satisfying mail relaying policies in very restrictive environments. If necessary, you can configure different Reply-To address, that will be used when users try to reply to generated emails.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Site-specific settings in Multisited environment ===&lt;br /&gt;
If you use ClearQuest multisite, you might change some database settings based on the site where you are located. For example, to point your users to a site-specific SMTP relay. It is not a problem: the package allows you to create global, as well as site specific settings, to modify or unset global database properties on particular site.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Password authentication with SMTP relay ===&lt;br /&gt;
Optionally, you can configure password authentication with SMTP relay. Credentials used for notification can be saved as encrypted values in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reminders ===&lt;br /&gt;
Another nice feature of the package that it allows you to configure reminders, such as notifications about approaching due date,  or other important events. I called it [[Timed_Notification | Timed Notification]]. You can create a template using the same flexible email notification rules, and Timed Notification script will trigger them using dummy action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Notification Subscription ===&lt;br /&gt;
You can allow users to manage there email notification rules subscription preferences. This functionality is delivered with optional '''EmailSubscription''' package. It can be used as-is, enhanced, or taken as an example to implement your own, more sophisticated end-user subscription solution. Please check [[ClearQuest_Email_Subscription | Email Subscription]] page for details.&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
Would you like to try it? Then, '''create a backup of your schema and user database''', or (even better) create test environment with master and user databases. Many customers have been using the package for years, but it is always makes sense to test the package in your specific environment and check for conflicts with existing hooks, issues with particular database vendor and version, etc, and update production when you are sure that it would be safe to do it only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [[Download | Download]] the package.&lt;br /&gt;
# [[Package_installation | Install it]].&lt;br /&gt;
# Create your [[EmailNotification_Creating_First_Notification_Rule | first notification rule]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Information ==&lt;br /&gt;
# It could be useful to read [[Package_configuration | package configuration guide]] and&lt;br /&gt;
# [[ClearQuest_Email_Notification_Package_FAQ | Frequently Asked Questions ]]&lt;br /&gt;
# Please check [[Notification_Examples | Examples]] and&lt;br /&gt;
# [http://cqadmin.org/data/CCMA43.pdf Extending IBM(R) Rational(R) ClearQuest(R) Email Notifications] presentation&lt;br /&gt;
# [[Timed_Notification | Reminders / Timed Notifications]]&lt;br /&gt;
# [[ClearQuest_Email_Subscription | End users self-subscription to email notifications]]&lt;br /&gt;
# If you have questions or problems, welcome to the [http://forum.cqadmin.org/ support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== License == &lt;br /&gt;
&lt;br /&gt;
The ''ClearQuest Email Notification Package'' is licensed under the ''GNU Lesser General Public License'' (AKA, the &amp;quot;LGPL&amp;quot;), Version 2.1, February, 1999.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
: ClearQuest Email Notification package is [http://store.cqadmin.com/index.php/clearquest/cq-email-notification/email-notification-package-support.html officially supported] by [http://cqadmin.com CQAdmin, inc]. Three levels or support agreement are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=257</id>
		<title>User Admin Tool</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=257"/>
		<updated>2013-04-13T17:26:11Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''User Administration Tool for IBM-Rational ClearQuest'''&amp;lt;/big&amp;gt;  &amp;lt;!--[[File:R4_Rational.jpg|right|140px]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
IBM-Rational ClearQuest is one of the greatest tools available in the IBM portfolio. It became even more valuable with introduction of the enhanced ClearQuest Web interface. Having Web based user administrating tool was a dream of ClearQuest administrators for a long time.&lt;br /&gt;
I would like to present a Web based user administration tool that was implemented on IBM-Rational ClearQuest platform and does not require ClearQuest installation on an administrator's desktop. It simplifies remote site management and adds other features that were missing in the standard User Administrator.&lt;br /&gt;
&lt;br /&gt;
== Ultimate Query and Search Capabilities ==&lt;br /&gt;
The User Administration tool is based on ClearQuest and utilized its powerful query and search capabilities. Finding users or groups has never been easier. The basic search can be enhanced using full-text search engine.&lt;br /&gt;
&lt;br /&gt;
== Customizable Defaults ==&lt;br /&gt;
The tool allows you to setup defaults for most of the User and Group record fields. For example, you can choose default authentication mechanism to be LDAP instead of ClearQuest, specify default list of User Privileges, Groups, and Database subscription to simplify your life and save your valuable time. Even new user password can be randomly generated when you use ClearQuest authentication.   &lt;br /&gt;
&lt;br /&gt;
== Customizable Fields Validation ==&lt;br /&gt;
In addition to defaults, the tool offers enhanced validation features, and there would be no need to change schema. Most of the conditions can be specified in the database on the fly. For instance, you can check that user email is specified as an Internet email address from your company domain; use advanced validation for login name, full name, phone, etc.  &lt;br /&gt;
&lt;br /&gt;
== Managing Users Using Profiles and Templates ==&lt;br /&gt;
Have you ever tried creating user account that has &amp;quot;the same rights&amp;quot; as another user account in the enterprise database containing thousands of users and hundreds of groups? In this case you will like this feature. Mirroring user or adding &amp;quot;somebody else&amp;quot; rights has never been easier. You need to specify other user, and the system will take care of the rest.&lt;br /&gt;
Moreover, it allows to setup a set of template profiles or roles that can be used to expedite new users provisioning and guard you from mistakes. Setting up new &amp;quot;CM Manager&amp;quot; or &amp;quot;Project Admin&amp;quot; would take seconds.   &lt;br /&gt;
&lt;br /&gt;
== Granular Access ==&lt;br /&gt;
In addition to the ClearQuest defined user permissions, the tool allows you to define its own equivalents. If you set up the system this way, the tool user admins would have user administration access within the User Admin Tool, but they would not be able to run the same operations using the standard user admin utility. It prevents from mistakes and unnecessary synchronizations between the databases.&amp;lt;br /&amp;gt;&lt;br /&gt;
In addition, the tool allows you to setup group administrators, users, that are allowed to administer specific group(s) only. If you are using ClearQuest authentication, you can also safely delegate password reset rights to your first-tier helpdesk personal. &lt;br /&gt;
&lt;br /&gt;
== Reporting ==&lt;br /&gt;
The system provides a set of out-of-the box reports. In just few clicks you can get printable list of active users, or find out user accounts or groups that were updated since yesterday. You can also use provided report formats to build your own reports. &lt;br /&gt;
&lt;br /&gt;
== Audit Trail ==&lt;br /&gt;
One of the most important for account management features is audit capability. When you use User Administration Tool, you can always answer the following questions: who, when, and what. More advanced audit capabilities are based on [[ClearQuest_Email_Notification_Package | Email Notification package]], and can be turned on at any time, and in case if it is not enough, you can use Audit Trail package to enhance audit capabilities.&lt;br /&gt;
&lt;br /&gt;
== Email Notifications ==&lt;br /&gt;
The system offers customizable and ultimately flexible notification rules based on [[ClearQuest_Email_Notification_Package | Email Notification package]] for IBM-Rational ClearQuest. Configurable email formats, recipients, and advanced conditions allows you to implement any possible notification scenario. &lt;br /&gt;
&lt;br /&gt;
== Additional Information==&lt;br /&gt;
The following links could be useful&lt;br /&gt;
* [[User_Admin_Tool_Installation | Installing User Administration Tool]]&lt;br /&gt;
* [[User_Admin_Tool_Configuration | Configuring User Administration Tool]]&lt;br /&gt;
* [[Managing_ClearQuest_Users | Managing ClearQuest Users]].&lt;br /&gt;
* [[Download | Downloads]]&lt;br /&gt;
* [http://forum.cqadmin.org/ Support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=256</id>
		<title>CQAdmin</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=256"/>
		<updated>2013-02-18T17:31:38Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Rational Administrators'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site was created to provide tools, information, and share experience that might be useful for Rational tools administrators. &lt;br /&gt;
&lt;br /&gt;
It is powered by [http://www.mediawiki.org MediaWiki] and opened for everyone. If you would like to contribute your materials, please feel free to do it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latest news ==&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: The User Administration Tool was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. It met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] has been released.'''&lt;br /&gt;
: The tool is implemented on IBM-Rational ClearQuest platform and does not require ClearQuest installation on administrator's desktop. It simplifies site management and adds other valuable features, such as ultimate query and search capabilities, customizable defaults and validations, user profiling and templates, granular access, reporting and audit, email notifications and more.&lt;br /&gt;
&lt;br /&gt;
* '''Email Notification Package is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: Email Notification package was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational Software&amp;lt;/i&amp;gt;. The package met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''Commercial Support'''&lt;br /&gt;
: ClearQuest Email Notification package is officially [http://store.cqadmin.com/index.php/clearquest/cq-email-notification/email-notification-package-support.html supported] by [http://cqadmin.com CQAdmin, inc]. Three levels or support are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
&lt;br /&gt;
* '''IBM-Rational VoiCE 2011'''&lt;br /&gt;
: ClearQuest Email Notification package was presented at IBM-Rational VoiCE 2011 conference in Reno, NV ([http://cqadmin.org/data/Reno_VoiCE-ClearQuest_Email.pdf presentation])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | Email Notification Package]] for IBM-Rational ClearQuest. &lt;br /&gt;
: If you would like to use flexible notification rules, reliable delivery, sending HTML emails with rich text, fonts, and colors, configuring reminders, and many other features, you might like the package.&lt;br /&gt;
&lt;br /&gt;
* [[User_Admin_Tool | User Administration Tool]] for IBM-Rational ClearQuest.&lt;br /&gt;
: It simplifies site management and adds other valuable features, such as customizable defaults and validations, user profiling and templates, reporting and audit, email notifications and more. &lt;br /&gt;
&lt;br /&gt;
* [[ClearQuest_Dynamic_List_Editor | Dynamic List Editor]] for IBM-Rational ClearQuest. &lt;br /&gt;
: Would you like to administer Dynamic Lists via the ClearQuest Web client? You might consider using the editor.&lt;br /&gt;
&lt;br /&gt;
* '''Support forum'''&lt;br /&gt;
: Support forum is available now. Please do not hesitate to ask questions or share your experience.&lt;br /&gt;
: [http://forum.cqadmin.org/ http://forum.cqadmin.org/]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=255</id>
		<title>CQAdmin</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=CQAdmin&amp;diff=255"/>
		<updated>2013-02-18T17:31:02Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Rational Administrators'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site was created to provide tools, information, and share experience that might be useful for Rational tools administrators. &lt;br /&gt;
&lt;br /&gt;
It is powered by [http://www.mediawiki.org MediaWiki] and opened for everyone. If you would like to contribute your materials, please feel free to do it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Latest news ==&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: The User Administration Tool was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational software&amp;lt;/i&amp;gt;. It met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''The [[User_Admin_Tool | User Administration Tool for IBM-Rational ClearQuest]] has been released.'''&lt;br /&gt;
: The tool is implemented on IBM-Rational ClearQuest platform and does not require ClearQuest installation on administrator's desktop. It simplifies site management and adds other valuable features, such as ultimate query and search capabilities, customizable defaults and validations, user profiling and templates, granular access, reporting and audit, email notifications and more.&lt;br /&gt;
&lt;br /&gt;
* '''Email Notification Package is &amp;quot;Ready for IBM-Rational Software&amp;quot;'''&lt;br /&gt;
: Email Notification package was successfully validated to the requirements of &amp;lt;i style=&amp;quot;color:blue;&amp;quot;&amp;gt;Ready for IBM Rational software&amp;lt;/i&amp;gt;. The package met the requirements for the IBM Software Delivery Platform level of the program.&lt;br /&gt;
&lt;br /&gt;
* '''Commercial Support'''&lt;br /&gt;
: ClearQuest Email Notification package is officially [http://store.cqadmin.com/index.php/clearquest/cq-email-notification/email-notification-package-support.html supported] by [http://cqadmin.com CQAdmin, inc]. Three levels or support are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
&lt;br /&gt;
* '''IBM-Rational VoiCE 2011'''&lt;br /&gt;
: ClearQuest Email Notification package was presented at IBM-Rational VoiCE 2011 conference in Reno, NV ([http://cqadmin.org/data/Reno_VoiCE-ClearQuest_Email.pdf presentation])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | Email Notification Package]] for IBM-Rational ClearQuest. &lt;br /&gt;
: If you would like to use flexible notification rules, reliable delivery, sending HTML emails with rich text, fonts, and colors, configuring reminders, and many other features, you might like the package.&lt;br /&gt;
&lt;br /&gt;
* [[User_Admin_Tool | User Administration Tool]] for IBM-Rational ClearQuest.&lt;br /&gt;
: It simplifies site management and adds other valuable features, such as customizable defaults and validations, user profiling and templates, reporting and audit, email notifications and more. &lt;br /&gt;
&lt;br /&gt;
* [[ClearQuest_Dynamic_List_Editor | Dynamic List Editor]] for IBM-Rational ClearQuest. &lt;br /&gt;
: Would you like to administer Dynamic Lists via the ClearQuest Web client? You might consider using the editor.&lt;br /&gt;
&lt;br /&gt;
* '''Support forum'''&lt;br /&gt;
: Support forum is available now. Please do not hesitate to ask questions or share your experience.&lt;br /&gt;
: [http://forum.cqadmin.org/ http://forum.cqadmin.org/]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=254</id>
		<title>User Admin Tool</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=254"/>
		<updated>2013-02-18T16:59:20Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''User Administration Tool for IBM-Rational ClearQuest'''&amp;lt;/big&amp;gt;  [[File:R4_Rational.jpg|right|140px]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
IBM-Rational ClearQuest is one of the greatest tools available in the IBM portfolio. It became even more valuable with introduction of the enhanced ClearQuest Web interface. Having Web based user administrating tool was a dream of ClearQuest administrators for a long time.&lt;br /&gt;
I would like to present a Web based user administration tool that was implemented on IBM-Rational ClearQuest platform and does not require ClearQuest installation on an administrator's desktop. It simplifies remote site management and adds other features that were missing in the standard User Administrator.&lt;br /&gt;
&lt;br /&gt;
== Ultimate Query and Search Capabilities ==&lt;br /&gt;
The User Administration tool is based on ClearQuest and utilized its powerful query and search capabilities. Finding users or groups has never been easier. The basic search can be enhanced using full-text search engine.&lt;br /&gt;
&lt;br /&gt;
== Customizable Defaults ==&lt;br /&gt;
The tool allows you to setup defaults for most of the User and Group record fields. For example, you can choose default authentication mechanism to be LDAP instead of ClearQuest, specify default list of User Privileges, Groups, and Database subscription to simplify your life and save your valuable time. Even new user password can be randomly generated when you use ClearQuest authentication.   &lt;br /&gt;
&lt;br /&gt;
== Customizable Fields Validation ==&lt;br /&gt;
In addition to defaults, the tool offers enhanced validation features, and there would be no need to change schema. Most of the conditions can be specified in the database on the fly. For instance, you can check that user email is specified as an Internet email address from your company domain; use advanced validation for login name, full name, phone, etc.  &lt;br /&gt;
&lt;br /&gt;
== Managing Users Using Profiles and Templates ==&lt;br /&gt;
Have you ever tried creating user account that has &amp;quot;the same rights&amp;quot; as another user account in the enterprise database containing thousands of users and hundreds of groups? In this case you will like this feature. Mirroring user or adding &amp;quot;somebody else&amp;quot; rights has never been easier. You need to specify other user, and the system will take care of the rest.&lt;br /&gt;
Moreover, it allows to setup a set of template profiles or roles that can be used to expedite new users provisioning and guard you from mistakes. Setting up new &amp;quot;CM Manager&amp;quot; or &amp;quot;Project Admin&amp;quot; would take seconds.   &lt;br /&gt;
&lt;br /&gt;
== Granular Access ==&lt;br /&gt;
In addition to the ClearQuest defined user permissions, the tool allows you to define its own equivalents. If you set up the system this way, the tool user admins would have user administration access within the User Admin Tool, but they would not be able to run the same operations using the standard user admin utility. It prevents from mistakes and unnecessary synchronizations between the databases.&amp;lt;br /&amp;gt;&lt;br /&gt;
In addition, the tool allows you to setup group administrators, users, that are allowed to administer specific group(s) only. If you are using ClearQuest authentication, you can also safely delegate password reset rights to your first-tier helpdesk personal. &lt;br /&gt;
&lt;br /&gt;
== Reporting ==&lt;br /&gt;
The system provides a set of out-of-the box reports. In just few clicks you can get printable list of active users, or find out user accounts or groups that were updated since yesterday. You can also use provided report formats to build your own reports. &lt;br /&gt;
&lt;br /&gt;
== Audit Trail ==&lt;br /&gt;
One of the most important for account management features is audit capability. When you use User Administration Tool, you can always answer the following questions: who, when, and what. More advanced audit capabilities are based on [[ClearQuest_Email_Notification_Package | Email Notification package]], and can be turned on at any time, and in case if it is not enough, you can use Audit Trail package to enhance audit capabilities.&lt;br /&gt;
&lt;br /&gt;
== Email Notifications ==&lt;br /&gt;
The system offers customizable and ultimately flexible notification rules based on [[ClearQuest_Email_Notification_Package | Email Notification package]] for IBM-Rational ClearQuest. Configurable email formats, recipients, and advanced conditions allows you to implement any possible notification scenario. &lt;br /&gt;
&lt;br /&gt;
== Additional Information==&lt;br /&gt;
The following links could be useful&lt;br /&gt;
* [[User_Admin_Tool_Installation | Installing User Administration Tool]]&lt;br /&gt;
* [[User_Admin_Tool_Configuration | Configuring User Administration Tool]]&lt;br /&gt;
* [[Managing_ClearQuest_Users | Managing ClearQuest Users]].&lt;br /&gt;
* [[Download | Downloads]]&lt;br /&gt;
* [http://forum.cqadmin.org/ Support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=253</id>
		<title>User Admin Tool</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=253"/>
		<updated>2013-02-03T16:23:59Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''User Administration Tool for IBM-Rational ClearQuest'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
IBM-Rational ClearQuest is one of the greatest tools available in the IBM portfolio. It became even more valuable with introduction of the enhanced ClearQuest Web interface. Having Web based user administrating tool was a dream of ClearQuest administrators for a long time.&lt;br /&gt;
I would like to present a Web based user administration tool that was implemented on IBM-Rational ClearQuest platform and does not require ClearQuest installation on an administrator's desktop. It simplifies remote site management and adds other features that were missing in the standard User Administrator.&lt;br /&gt;
&lt;br /&gt;
== Ultimate Query and Search Capabilities ==&lt;br /&gt;
The User Administration tool is based on ClearQuest and utilized its powerful query and search capabilities. Finding users or groups has never been easier. The basic search can be enhanced using full-text search engine.&lt;br /&gt;
&lt;br /&gt;
== Customizable Defaults ==&lt;br /&gt;
The tool allows you to setup defaults for most of the User and Group record fields. For example, you can choose default authentication mechanism to be LDAP instead of ClearQuest, specify default list of User Privileges, Groups, and Database subscription to simplify your life and save your valuable time. Even new user password can be randomly generated when you use ClearQuest authentication.   &lt;br /&gt;
&lt;br /&gt;
== Customizable Fields Validation ==&lt;br /&gt;
In addition to defaults, the tool offers enhanced validation features, and there would be no need to change schema. Most of the conditions can be specified in the database on the fly. For instance, you can check that user email is specified as an Internet email address from your company domain; use advanced validation for login name, full name, phone, etc.  &lt;br /&gt;
&lt;br /&gt;
== Managing Users Using Profiles and Templates ==&lt;br /&gt;
Have you ever tried creating user account that has &amp;quot;the same rights&amp;quot; as another user account in the enterprise database containing thousands of users and hundreds of groups? In this case you will like this feature. Mirroring user or adding &amp;quot;somebody else&amp;quot; rights has never been easier. You need to specify other user, and the system will take care of the rest.&lt;br /&gt;
Moreover, it allows to setup a set of template profiles or roles that can be used to expedite new users provisioning and guard you from mistakes. Setting up new &amp;quot;CM Manager&amp;quot; or &amp;quot;Project Admin&amp;quot; would take seconds.   &lt;br /&gt;
&lt;br /&gt;
== Granular Access ==&lt;br /&gt;
In addition to the ClearQuest defined user permissions, the tool allows you to define its own equivalents. If you set up the system this way, the tool user admins would have user administration access within the User Admin Tool, but they would not be able to run the same operations using the standard user admin utility. It prevents from mistakes and unnecessary synchronizations between the databases.&amp;lt;br /&amp;gt;&lt;br /&gt;
In addition, the tool allows you to setup group administrators, users, that are allowed to administer specific group(s) only. If you are using ClearQuest authentication, you can also safely delegate password reset rights to your first-tier helpdesk personal. &lt;br /&gt;
&lt;br /&gt;
== Reporting ==&lt;br /&gt;
The system provides a set of out-of-the box reports. In just few clicks you can get printable list of active users, or find out user accounts or groups that were updated since yesterday. You can also use provided report formats to build your own reports. &lt;br /&gt;
&lt;br /&gt;
== Audit Trail ==&lt;br /&gt;
One of the most important for account management features is audit capability. When you use User Administration Tool, you can always answer the following questions: who, when, and what. More advanced audit capabilities are based on [[ClearQuest_Email_Notification_Package | Email Notification package]], and can be turned on at any time, and in case if it is not enough, you can use Audit Trail package to enhance audit capabilities.&lt;br /&gt;
&lt;br /&gt;
== Email Notifications ==&lt;br /&gt;
The system offers customizable and ultimately flexible notification rules based on [[ClearQuest_Email_Notification_Package | Email Notification package]] for IBM-Rational ClearQuest. Configurable email formats, recipients, and advanced conditions allows you to implement any possible notification scenario. &lt;br /&gt;
&lt;br /&gt;
== Additional Information==&lt;br /&gt;
The following links could be useful&lt;br /&gt;
* [[User_Admin_Tool_Installation | Installing User Administration Tool]]&lt;br /&gt;
* [[User_Admin_Tool_Configuration | Configuring User Administration Tool]]&lt;br /&gt;
* [[Managing_ClearQuest_Users | Managing ClearQuest Users]].&lt;br /&gt;
* [[Download | Downloads]]&lt;br /&gt;
* [http://forum.cqadmin.org/ Support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=MediaWiki:Sidebar&amp;diff=252</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=MediaWiki:Sidebar&amp;diff=252"/>
		<updated>2013-02-01T14:53:26Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|CQ Admin Home&lt;br /&gt;
** ClearQuest_Email_Notification_Package | Email notification package&lt;br /&gt;
** User_Admin_Tool | User Admin Tool&lt;br /&gt;
** ClearQuest_Dynamic_List_Editor | Dynamic List Editor&lt;br /&gt;
** Download | Downloads&lt;br /&gt;
** http://forum.cqadmin.org | Forum&lt;br /&gt;
** Category:Rational | Index&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=MediaWiki:Sidebar&amp;diff=251</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=MediaWiki:Sidebar&amp;diff=251"/>
		<updated>2013-02-01T14:52:50Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|CQ Admin Home&lt;br /&gt;
** ClearQuest_Email_Notification_Package | Email notification package&lt;br /&gt;
** User_Admin_Tool | User Admin Tool for ClearQuest&lt;br /&gt;
** ClearQuest_Dynamic_List_Editor | Dynamic List Editor for ClearQuest&lt;br /&gt;
** Download | Downloads&lt;br /&gt;
** http://forum.cqadmin.org | Forum&lt;br /&gt;
** Category:Rational | Index&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=250</id>
		<title>User Admin Tool</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=User_Admin_Tool&amp;diff=250"/>
		<updated>2013-02-01T14:47:20Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''User Administration Tool for IBM-Rational ClearQuest'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
IBM-Rational ClearQuest is one of the greatest tools available in the IBM portfolio. It became even more valuable with introduction of the enhanced ClearQuest Web interface. Having Web based user administrating tool was a dream of ClearQuest administrators for a long time.&lt;br /&gt;
I would like to present a Web based user administration tool that was implemented on IBM-Rational ClearQuest platform and does not require ClearQuest installation on an administrator's desktop. It simplifies remote site management and adds other features that were missing in the standard User Administrator.&lt;br /&gt;
&lt;br /&gt;
== Ultimate Query and Search Capabilities ==&lt;br /&gt;
The User Administration tool is based on ClearQuest and utilized its powerful query and search capabilities. Finding users or groups has never been easier. The basic search can be enhanced using full-text search engine.&lt;br /&gt;
&lt;br /&gt;
== Customizable Defaults ==&lt;br /&gt;
The tool allows you to setup defaults for most of the User and Group record fields. For example, you can choose default authentication mechanism to be LDAP instead of ClearQuest, specify default list of User Privileges, Groups, and Database subscription to simplify your life and save your valuable time. Even new user password can be randomly generated when you use ClearQuest authentication.   &lt;br /&gt;
&lt;br /&gt;
== Customizable Fields Validation ==&lt;br /&gt;
In addition to defaults, the tool offers enhanced validation features, and there would be no need to change schema. Most of the conditions can be specified in the database on the fly. For instance, you can check that user email is specified as an Internet email address from your company domain; use advanced validation for login name, full name, phone, etc.  &lt;br /&gt;
&lt;br /&gt;
== Managing Users Using Profiles and Templates ==&lt;br /&gt;
Have you ever tried creating user account that has &amp;quot;the same rights&amp;quot; as another user account in the enterprise database containing thousands of users and hundreds of groups? In this case you will like this feature. Mirroring user or adding &amp;quot;somebody else&amp;quot; rights has never been easier. You need to specify other user, and the system will take care of the rest.&lt;br /&gt;
Moreover, it allows to setup a set of template profiles or roles that can be used to expedite new users provisioning and guard you from mistakes. Setting up new &amp;quot;CM Manager&amp;quot; or &amp;quot;Project Admin&amp;quot; would take seconds.   &lt;br /&gt;
&lt;br /&gt;
== Granular Access ==&lt;br /&gt;
In addition to the ClearQuest defined user permissions, the tool allows you to define its own equivalents. If you set up the system this way, the tool user admins would have user administration access within the User Admin Tool, but they would not be able to run the same operations using the standard user admin utility. It prevents from mistakes and unnecessary synchronizations between the databases.&amp;lt;br /&amp;gt;&lt;br /&gt;
In addition, the tool allows you to setup group administrators, users, that are allowed to administer specific group(s) only. If you are using ClearQuest authentication, you can also safely delegate password reset rights to your first-tier helpdesk personal. &lt;br /&gt;
&lt;br /&gt;
== Reporting ==&lt;br /&gt;
The system provides a set of out-of-the box reports. In just few clicks you can get printable list of active users, or find out user accounts or groups that were updated since yesterday. You can also use provided report formats to build your own reports. &lt;br /&gt;
&lt;br /&gt;
== Audit Trail ==&lt;br /&gt;
One of the most important for account management features is audit capability. When you use User Administration Tool, you can always answer the following questions: who, when, and what. More advanced audit capabilities are based on [[ClearQuest_Email_Notification_Package | Email Notification package]], and can be turned on at any time, and in case if it is not enough, you can use Audit Trail package to enhance audit capabilities.&lt;br /&gt;
&lt;br /&gt;
== Email Notifications ==&lt;br /&gt;
The system offers customizable and ultimately flexible notification rules based on [[ClearQuest_Email_Notification_Package | Email Notification package]] for IBM-Rational ClearQuest. Configurable email formats, recipients, and advanced conditions allows you to implement any possible notification scenario. &lt;br /&gt;
&lt;br /&gt;
== Additional Information==&lt;br /&gt;
The following links could be useful&lt;br /&gt;
* [[User_Admin_Tool_Installation | Installing User Administration Tool]]&lt;br /&gt;
* [[User_Admin_Tool_Configuration | Configuring User Administration Tool]]&lt;br /&gt;
* [[Managing_ClearQuest_Users | Managing ClearQuest Users]].&lt;br /&gt;
* [[Download | Downloads]]&lt;br /&gt;
* [http://forum.cqadmin.org/ Support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Package_configuration&amp;diff=249</id>
		<title>Package configuration</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Package_configuration&amp;diff=249"/>
		<updated>2013-02-01T14:47:02Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Configuration guide'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
*The package is implemented in Perl and can be used with Perl-based as well as VBScript-based schemas. &lt;br /&gt;
*The package does not require Perl modules deployment on clients; all code elements are stored in ClearQuest schema. &lt;br /&gt;
*The packages use ClearQuest Security Context feature and require metaschema version 22 &lt;br /&gt;
(ClearQuest repository that created with CQ 2001a and higher or upgraded to 2001A from previous releases).&lt;br /&gt;
*The package works with ClearQuest clients 2001A, 2002, 2003, and v7 (as of 12/07/2008, 7.1 has not been tested yet). The following platforms are supported: Windows, old CQWeb (ASP-based version), CQWeb (Java Web), ClearQuest UNIX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Please refer to [[Package_installation | installation instructions]] page. You will need to install the latest version of EmailNotification package only. UDBProperties will be installed automatically for you. &amp;lt;br /&amp;gt;&lt;br /&gt;
EmailSubscription is an optional package delivering end-user self-subscription functionality.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Staring 1.4 release, the package can be installed on ClearQuest 7.0 Designer machine, but still can be used with older clients, if necessary.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
== Email Notification properties ==&lt;br /&gt;
Email notification package properties are ClearQuest records of udb_property record type. Configure property usually means submitting record of that record type.&lt;br /&gt;
&lt;br /&gt;
The following properties can be configured for Email Notifications package:&lt;br /&gt;
&lt;br /&gt;
===email_host===&lt;br /&gt;
It is your SMTP mail relay. If you need to specify non-default port, it can be done in ''host:port'' combination.&lt;br /&gt;
&lt;br /&gt;
Examples: ''mail.provider.net'', ''mail.provider.net:625''.&lt;br /&gt;
&lt;br /&gt;
===email_login (optional)===&lt;br /&gt;
login name that is used for password authentication with SMTP relay. If you SMTP relay does not require password authentication, you do not need to use this property, and it shoul not exist.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you would like, it can be a 'Secure' property.&lt;br /&gt;
&lt;br /&gt;
===email_password (optional)===&lt;br /&gt;
password that is used for password authentication. If you SMTP relay does not require password authentication, you do not need this property, and it should not exist.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is a good idea to use 'secure' property feature when storing it in a ClearQuest database.&lt;br /&gt;
&lt;br /&gt;
===email_address (optional)===&lt;br /&gt;
Static &amp;quot;From:&amp;quot; email address for notification. Email address of current ClearQuest user is used if property does not exist.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This feature might be useful to bypass mail relaying restrictions: some SMTP relays may restrict mail relaying based on FROM email address. In case of password authentication, it might be also critical: FROM email address could be restricted to email address of the account used for authentication. Ask your SMTP relay admin for additional information.&lt;br /&gt;
&lt;br /&gt;
===email_reply_to (optional)===&lt;br /&gt;
Static Reply-To address, if different from email_address can be specified. For example, you can configure mail replies to be sent to some distribution list.&lt;br /&gt;
&lt;br /&gt;
===email_enabled===&lt;br /&gt;
It is the second mandatory property (besides email_host). It has to be set to '1' to enable email notification for user database. By setting it to '''0''' (or by deleting property), you can disable email notification on entire ClearQuest database&lt;br /&gt;
&lt;br /&gt;
===EN_DeliveryMode (optional)===&lt;br /&gt;
The following delivery modes are available. Please check [[ClearQuest_Email_Notification_Package_Delivery_Mode | Email Notification delivery mode]] page for details.&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 88px; text-align: left&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 10%&amp;quot; | '''Light'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 60%&amp;quot; | deliver notifications &amp;quot;on the fly&amp;quot; and log only error messages for re-delivery,&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 10%&amp;quot; | '''Deferred'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 60%&amp;quot; | (default) save all messages before attempting delivery, and deliver them in the same notification hook&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 10%&amp;quot; | '''Queue'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 60%&amp;quot; | save all messages in the message queue, and do not attempt to deliver them. Delivery will be done by a separate script running by scheduler on the server. You can find simple delivery script on [[Download]] page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===EN_DeliveryTimeout (optional)===&lt;br /&gt;
Delivery timeout interval in seconds. If message in the message queue was not delivered it will be re-delivered (by other user, for example) after that.&lt;br /&gt;
:Default value: 300 (5 minutes)&lt;br /&gt;
&lt;br /&gt;
===EN_DeliveryAttempt (optional)===&lt;br /&gt;
Maximum number of delivery attempts performed for a message in the queue.&lt;br /&gt;
:Default value: 5&lt;br /&gt;
&lt;br /&gt;
===EN_DeliveryScript (script only)===&lt;br /&gt;
Should never be set in a ClearQuest database. To be used in Delivery script only.&lt;br /&gt;
&lt;br /&gt;
===EN_AdminGroup===&lt;br /&gt;
Email administrators group. It is used in en_email_message action access control hooks If it is not set, only user with superuser can modify or delete email messages in the queue.&lt;br /&gt;
&lt;br /&gt;
===Debug (optional)===&lt;br /&gt;
Debug level 1-9. Setting this property forces script to trace execution. Output could be captured by using dbwin32.exe utility&lt;br /&gt;
:Default value: NONE&lt;br /&gt;
&lt;br /&gt;
===Notification_Default_Security_Group (optional)===&lt;br /&gt;
Default visibility value. Existing udb_visibility record name that is used as a security context default value in Email_Notification_Rule submit action.&lt;br /&gt;
&lt;br /&gt;
===EN_Disable_Variable_Name_Validation (optional)===&lt;br /&gt;
By default syntax of all parameterized fields and variable names are validated. You can turn off variable names check by setting this property to non-zero value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notification Rules==&lt;br /&gt;
&lt;br /&gt;
To create notification rule, Submit new Email_Notification_Rule record.&lt;br /&gt;
Here are some important fields of this record type&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Name'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | any unique name&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Record_Type'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | desirable record type for which notification package is applied&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Order'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Notification Rules evaluation order, SHORT_STRING(10). The rules are sorted in ascending order.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Actions'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | notification can be restricted for set of actions. Notification is Triggered for any action if empty&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Field Change'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | notification can be triggered by filed change. &amp;lt;br /&amp;gt; Triggered regardless any of fields change if empty. &amp;lt;br /&amp;gt; Fields changed in Action or Field initialization hooks are not counted.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Condition'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Notification condition. Notification is triggered if notification condition evaluation result is TRUE. See section expression field syntax for reference. Assumed &amp;quot;TRUE&amp;quot; when the field is empty.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''Priority'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Message priority patameterized field, expression can be used. See expression field syntax section for reference. &lt;br /&gt;
if evaluation result&lt;br /&gt;
* &amp;lt; 0, message priority is Low.&lt;br /&gt;
* == 0, message priority is Normal&lt;br /&gt;
* &amp;gt; 0, message priority is High&lt;br /&gt;
&amp;lt;br /&amp;gt; Condition result is assumed 0 when the field is empty ('Normal' priority).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''From'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | &amp;quot;From:&amp;quot; addresses (parameterized). see parameter fields section for syntax reference. &lt;br /&gt;
&lt;br /&gt;
# when Notification Rule From field is not empty, it is expanded and used as from address on generated email&lt;br /&gt;
# when From field is empty, and '''email_from''' database property exists, email_from content is evaluated to be used as from address&lt;br /&gt;
# otherwise, email address of the user executing action triggering email is used as from email address&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; One email address is expected as evaluation result.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''To'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | &amp;quot;TO:&amp;quot; addresses (parameterized). see parameter fields section for syntax reference.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; One email address per line is expected as evaluation result.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''CC'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | &amp;quot;CC:&amp;quot; addresses (parameterized). One email address per line is expected as evaluation result.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''BCC'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | &amp;quot;BCC:&amp;quot; addresses (parameterized).&amp;lt;br /&amp;gt; One email address per line is expected as evaluation result.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''Header Add-in'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Additional lines to be included in message header (envelope) - parameterized field. You can use it to specify content type, charset, etc. Please check [[Notification_Examples | notification examples]] page (HTML emails, attachments)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Subject'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Subject - parameterized field. Can be multiline, converted to single line and included into the message header after evaluation.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Body'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | message body (parameterized).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Active'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Notification rule can be deactivated by clearing &amp;quot;active&amp;quot; flag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
*Notification is triggered only if Action AND Field restrictions are satisfied AND Condition is true AND any of message recipients (&amp;quot;To:&amp;quot;, &amp;quot;CC:&amp;quot;, or &amp;quot;BCC&amp;quot;) fields are not empty after evaluation. &lt;br /&gt;
*You can create site specific properties in multisited environment as &amp;lt;SiteName&amp;gt;PropertyName. If you would like to disable a global property on specific site, you could do it by setting &amp;lt;SiteName&amp;gt;PropertyName value to &amp;quot;EN_NONE&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Parameterized Text and Condition fields Syntax=&lt;br /&gt;
&lt;br /&gt;
==Parameterized Text fields==&lt;br /&gt;
Text field can contain plain text, variables that are expanded during rule evaluation, SQL statements, user-defined, pre-defined and Perl build-in functions.&lt;br /&gt;
&lt;br /&gt;
Any character in the field can be escaped with '''\''';&lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
&lt;br /&gt;
====Variable Syntax====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; | '''${var_name}'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | or&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; | '''$var_name'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Variables are evaluated (expanded) in the following order:&lt;br /&gt;
* Check if property with the same name defined in CQ database and return value&lt;br /&gt;
* Check predefined variable names and return value.&lt;br /&gt;
* Check record field with the same name. &amp;lt;br /&amp;gt; (you can use dot, '''.''', in the name for reference field data type - $name1.name2.name3) &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Predefined variable names====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; | '''$Action'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | current action name&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; | '''$EntityDefName'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | current entity definition.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''$SiteName'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Site name in multisited environment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''$UserLoginName'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Login name of user triggering email notification rule&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''$EmailNotificationRuleName'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Email Rule name that is currently evaluated&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Examples:====&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$State&amp;lt;/source&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | state field value&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$owner.email&amp;lt;/source&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | owner's email (REFERENCE field data type)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;${Property_Name}&amp;lt;/source&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | value of database property &amp;quot;Property_Name&amp;quot; (udb_property record)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Notes:''' &lt;br /&gt;
* Property names and Build-in Environment variables are case sensitive, while Field names are case insensitive!&lt;br /&gt;
* Date_Time variables: format that is used for Date_Time variable type inside ClearQuest hooks is '''yyyy-mm-dd hh:mm:ss'''. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SQL statements===&lt;br /&gt;
SQL statement that will be passed to the backend database when variable is expanded.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; | '''SQL(&amp;lt;statement&amp;gt;)'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | SQL execution function&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Statement could be Double-Quoted string with variables, functions and SQL statements, single-quoted non-expandable string, or result of function that returns scalar value. *Statement string (SQL function parameter) is not limited to single line.&lt;br /&gt;
*Statement is executed in run-time using BuildSQLQuery API call and inherited all restrictions related to the API call. Please check ClearQuest API documentation. &lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
* Get owner's email (the same result as $owner.email) &amp;lt;br /&amp;gt;&lt;br /&gt;
SQL(&amp;quot;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SELECT  T1.email &lt;br /&gt;
   FROM  users &lt;br /&gt;
   WHERE T1.login_name = '$owner'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;quot;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notify 'CHCD_Approvers' ClearQuest group members &amp;lt;br /&amp;gt;&lt;br /&gt;
SQL(&amp;quot;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SELECT  T2.email &lt;br /&gt;
   FROM  parent_child_links T1, groups T3, users T2&lt;br /&gt;
   WHERE T1.parent_dbid = T2.dbid&lt;br /&gt;
     AND T1.child_dbid = T3.dbid &lt;br /&gt;
     AND T3.name = 'CHCD_Approvers'&lt;br /&gt;
     AND T2.is_active = 1&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;quot;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Here is a little bit more complicated scenario: assume that we use AssignmentGroups stateless record type at our site. It has the following fields: &lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Name '''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 25%&amp;quot; | SHORT_STRING&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Unique group name&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Managers&amp;lt;br /&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 25%&amp;quot; | REFERENCE to users&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | group managers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Users&amp;lt;br /&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 25%&amp;quot; | REFERENCE to users&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | group members&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Active'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 25%&amp;quot; | INT&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | obsolete groups marked as ‘0’, valid groups as ‘1’&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt; &amp;quot;Request&amp;quot; record type has AssignedToGroup field (reference to &amp;quot;AssignmentGroups&amp;quot;). &amp;lt;br /&amp;gt; Request assigned to a Group first, then the Group Manager will assign it to somebody in the team. &amp;lt;br /&amp;gt; If we would like to notify the Group Managers about new request that has been assigned to the Team, &amp;lt;br /&amp;gt; we could set Email Notification Rule's &amp;quot;To:&amp;quot; field to the following value: &amp;lt;br /&amp;gt;&lt;br /&gt;
SQL(&amp;quot;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SELECT  T3.email&lt;br /&gt;
   FROM  parent_child_links T1, fielddef T2, users T3, assignmentgroups T4&lt;br /&gt;
   WHERE T1.parent_dbid = T4.dbid&lt;br /&gt;
     AND T1.child_dbid  = T3.dbid&lt;br /&gt;
     AND T1.parent_fielddef_id = T2.id&lt;br /&gt;
     AND T2.name = 'Managers'&lt;br /&gt;
     AND T4.name = '${AssignedToGroup}' &lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;quot;)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
'''function_name(parameter [, paramater1 …])'''&amp;lt;br /&amp;gt; &lt;br /&gt;
Function name is a name of build-in, pre-defined or user-defined function. Spaces between function name and '''(''' symbol are not allowed. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Parameter list is a comma-separated list of:&amp;lt;br /&amp;gt;&lt;br /&gt;
* variables,&lt;br /&gt;
* functions or SQL queries,&lt;br /&gt;
* single-quoted strings,&lt;br /&gt;
* double quoted strings with variables, functions, etc.&lt;br /&gt;
* expressions&lt;br /&gt;
* numeric constants&lt;br /&gt;
&lt;br /&gt;
Scalar value expected as function's return value.&lt;br /&gt;
&lt;br /&gt;
====Function name lookup order====&lt;br /&gt;
* check a database property with the same name. &lt;br /&gt;
** If found, property value assumed to be a valid Perl-syntax code, that will be executed as function. &lt;br /&gt;
** Function parameters are passed as &amp;quot;@_&amp;quot; array to the function. &lt;br /&gt;
** $entity global variable available in function. &amp;lt;br /&amp;gt; Return value becomes function result.&lt;br /&gt;
* check predefined functions&lt;br /&gt;
* function name is assumed to be a Perl function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
* Limit Subject line to 100 characters (Perl buld-in function &amp;quot;substr&amp;quot; is used):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
  substr( &amp;quot;some subject line with $parameters&amp;quot;, 0, 100)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Condition function:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
  IF($attempt &amp;gt; 0, 1, -1 )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Check whether &amp;quot;Description&amp;quot; field was updated during action and trigger a notification (an alternative way)&lt;br /&gt;
&lt;br /&gt;
:Notification Rule Condition filed:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
  IsFieldUpdatedThisAction('Description') != 0&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Property &amp;quot;IsFieldUpdatedThisAction&amp;quot; contains the following code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
  my ($name) = @_;&lt;br /&gt;
  my $result = 0 ;&lt;br /&gt;
  eval {&lt;br /&gt;
    my $fields = $entity-&amp;gt;GetFieldsUpdatedThisAction(); &lt;br /&gt;
    $result = 1 if defined( $fields-&amp;gt;ItemByName($name) );&lt;br /&gt;
  };&lt;br /&gt;
  $@ = '';&lt;br /&gt;
  return $result;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Use original value of &amp;quot;Description&amp;quot; field in the mail body&lt;br /&gt;
&lt;br /&gt;
:Email Notification Rule &amp;quot;Msg_Body&amp;quot; field: &amp;lt;br /&amp;gt;&lt;br /&gt;
  Original Description: &lt;br /&gt;
  &amp;quot;RT_GetFieldOriginalValue('Description')&amp;quot; &lt;br /&gt;
  was changed to: &lt;br /&gt;
  &amp;quot;$Description&amp;quot; &lt;br /&gt;
&lt;br /&gt;
:Property &amp;quot;RT_GetFieldOriginalValue&amp;quot; contains the following code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
  my ($name) = @_;&lt;br /&gt;
  my $value = '';&lt;br /&gt;
&lt;br /&gt;
  eval {&lt;br /&gt;
    $value = $entity-&amp;gt;GetFieldOriginalValue($name)-&amp;gt;GetValue();&lt;br /&gt;
  };&lt;br /&gt;
  $@ = '';&lt;br /&gt;
  return $value;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note:''' variables of CQPerlExt module in user defined functions scope can cause 'false' execution errors, because CQPerlExt objects usually do not clear $@ variable on destruction. It would be safer to destroy private objects references before leaving the function and clean $@ variable to avoid the problem, for example: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
  my $session = $entity-&amp;gt;GetSession();&lt;br /&gt;
  # ... &amp;lt;some code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  $session = undef;&lt;br /&gt;
  $@       = '';&lt;br /&gt;
  return $return_value;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Double-quoted string===&lt;br /&gt;
Variables, functions, SQL statements are expanded within double-quoted strings. &amp;lt;br /&amp;gt; Escape symbols are: &amp;quot;\n&amp;quot;, &amp;quot;\r&amp;quot;,&amp;quot;\t&amp;quot;, &amp;quot;\f&amp;quot;, &amp;quot;\b&amp;quot;, &amp;quot;\a&amp;quot; &amp;lt;br /&amp;gt; &amp;quot;\&amp;quot; symbol by the end of new lines will escape new line symbol, i.e. &amp;lt;br /&amp;gt; &amp;quot;\&amp;quot; in front of any other symbol escapes that symbol, i.e. \$, \&amp;quot;, etc&lt;br /&gt;
  &amp;quot;aaa\ &lt;br /&gt;
   bbb&amp;quot; &lt;br /&gt;
   is equal to &lt;br /&gt;
  &amp;quot;aaa bbb&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;some string here with $variable and function f1($par1, $SQL{'Statement'}, 'string') and others&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Single-quoted strings===&lt;br /&gt;
Single quoted strings are not expanded. Escape symbols are \\ and \'. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conditions==&lt;br /&gt;
Conditions are implemented in perl-like style (please check Perl manual for detailed syntax documentation).&amp;lt;br /&amp;gt; They can contain variable, single- and double-quoted strings, function and other elements described in previous section. &amp;lt;br /&amp;gt; You can group expressions with brackets ( ). &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''Operators''' (in priority order)===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | Operator&lt;br /&gt;
! style=&amp;quot;vertical-align: top&amp;quot; | Comments&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | '''&amp;lt;nowiki&amp;gt;!, ~, +, -&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Unary operators&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | '''&amp;lt;nowiki&amp;gt;=~, !~&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | regular expression at the right side can include modifiers (/m/i/…/)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''&amp;lt;nowiki&amp;gt;*, /, %, x &amp;lt;/nowiki&amp;gt;'''&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | mult, div, ... &amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''+, -, .'''&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | plus, minus, string concatenation&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | '''gt, ge, lt, le, &amp;gt;, &amp;gt;=, &amp;lt;, &amp;lt;='''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | String and numeric comparison&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | '''eq, ne, cmp, != , ==, &amp;lt;=&amp;gt;'''&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | String and numeric comparison&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | '''&amp;amp;&amp;amp;'''&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Logical AND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | '''&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;'''&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Logical OR&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' it has to be a space between '/' operator and operand.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
($field =~ /something/i) &amp;amp;&amp;amp; ($another_field &amp;gt; function($param1, $param2) || $another_value)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Build-in (Predefined) Functions==&lt;br /&gt;
&lt;br /&gt;
===IF( &amp;lt;expression&amp;gt;, &amp;lt;val1&amp;gt;, &amp;lt;val2) )===&lt;br /&gt;
'''Parameters:'''&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '''&amp;lt;expression&amp;gt; '''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 80%&amp;quot; | logical expression&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''&amp;lt;val1&amp;gt;'''&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | parameter returned if expression is true&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''&amp;lt;val2&amp;gt;'''&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | parameter returned if expression is false&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Returns:'''&amp;lt;br /&amp;gt; &lt;br /&gt;
&amp;lt;val1&amp;gt; or &amp;lt;val2&amp;gt; depending on expression result.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
IF( $owner.email ne '' , $owner.email, 'administrator@email-address.net' )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GetFieldOriginalValue(&amp;lt;fieldname&amp;gt;)===&lt;br /&gt;
'''Parameters:'''&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '''&amp;lt;fieldname&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 80%&amp;quot; | ClearQuest field name &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Returns:'''&amp;lt;br /&amp;gt; &lt;br /&gt;
ClearQuest field original value.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
IF( GetFieldOriginalValue('owner') ne $owner, GetFieldOriginalValue('owner.email'), $owner.email )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetGroupEmailAddresses(&amp;lt;group&amp;gt; [, &amp;lt;group2&amp;gt; [, ... ]])===&lt;br /&gt;
'''Parameters:'''&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '''&amp;lt;group&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 80%&amp;quot; | ClearQuest groups list &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Returns:'''&amp;lt;br /&amp;gt; &lt;br /&gt;
ClearQuest field original value.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
GetGroupEmailAddresses( 'Admins', 'Engineering' )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GetDateTime( [ &amp;lt;offset&amp;gt; ] )===&lt;br /&gt;
'''Parameters:'''&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '''&amp;lt;offset&amp;gt; '''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 80%&amp;quot; | offset from current date/time in the following format:&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
General offset format: [+-]?[\d+][smhd]? &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | none or ‘now’&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | offset = 0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | +1&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | + 1 second&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '+5s'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | + 5 seconds&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '-2m'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | - 2 minutes&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '+10h'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | + 10 hours&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '3d'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | + 3 days&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Returns:'''&amp;lt;br /&amp;gt; &lt;br /&gt;
Current date/time plus offset as date_time string in 'yyyy-mm-dd hh:mm:ss' format&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; width=&amp;quot;40%&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;GetDateTime()&amp;lt;/source&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; width=&amp;quot;60%&amp;quot; | now&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; width=&amp;quot;40%&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;GetDateTime('-1d')&amp;lt;/source&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; width=&amp;quot;60%&amp;quot; | yesterday&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 20%&amp;quot; width=&amp;quot;40%&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;GetDateTime( -300 )&amp;lt;/source&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; width=&amp;quot;60%&amp;quot; | five minutes before&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DateTimePlusOffset( &amp;lt;date_time&amp;gt; [, &amp;lt;offset&amp;gt; ] )===&lt;br /&gt;
'''Parameters: '''&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''&amp;lt;date_time&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | string in ''yyyy-mm-dd [hh:mm:ss]'' format&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '''&amp;lt;offset&amp;gt; '''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 80%&amp;quot; | offset from &amp;lt;date_time&amp;gt; in [+-]?[\d+][smhd]? format&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Returns:'''&amp;lt;br /&amp;gt; &lt;br /&gt;
Given date plus offset as a date_time string in 'yyyy-mm-dd hh:mm:ss' format &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;DateTimePlusOffset('2000-10-01 00:01:30', '+30m')&amp;lt;/source&amp;gt;&lt;br /&gt;
Returns: ''2000-10-02 00:31:30'' &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;DateTimePlusOffset( $Eneter_Date, '3d' )&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns: value of 'Enter_Date' field + 3 days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GetDateTimeFromTimestamp( &amp;lt;timestamp&amp;gt;)===&lt;br /&gt;
'''Parameters:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '''&amp;lt;timestamp&amp;gt; '''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 80%&amp;quot; | long number of seconds since 01/01/1970 (result of time() function)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Converts timestamp to local date/time.&lt;br /&gt;
&lt;br /&gt;
'''Returns:'''&amp;lt;br /&amp;gt; string in ''yyyy-mm-dd hh:mm:ss'' format&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;GateDateTimeFromTimestamp(time())&amp;lt;/source&amp;gt;&lt;br /&gt;
Returns current date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DateTimeToDate( &amp;lt;date_time&amp;gt; )===&lt;br /&gt;
'''Parameters:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''&amp;lt;date_time&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | string in ‘yyyy-mm-dd [hh:mm:ss]’ format&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Converts date/time string to date only string. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Returns:'''&amp;lt;br /&amp;gt; &lt;br /&gt;
Date String in ''yyyy-mm-dd'' format. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetDate( [ &amp;lt;offset&amp;gt; ] )===&lt;br /&gt;
'''Parameters: '''&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '''&amp;lt;offset&amp;gt; '''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 80%&amp;quot; | offset from current date/time in the following format:&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
General offset format: [+-]?[\d+][smhd]? &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | none or ''now''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | offset = 0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | +1&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | + 1 second&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '+5s'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | + 5 seconds&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '-2m'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | - 2 minutes&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '+10h'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | + 10 hours&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '3d'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | + 3 days&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Returns:'''&amp;lt;br /&amp;gt; &lt;br /&gt;
Current date/time plus &amp;lt;offset&amp;gt; as a date strings in ''yyyy-mm-dd'' format&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;GetDate()&amp;lt;/source&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | today&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;GetDate('-1d')&amp;lt;/source&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | yesterday&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;GetDate('+1d' )&amp;lt;/source&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | tomorrow&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DateTimeDiff( &amp;lt;date_time1&amp;gt;, &amp;lt;date_time2&amp;gt; [ , &amp;lt;modifier&amp;gt;])===&lt;br /&gt;
'''Parameters: '''&lt;br /&gt;
{| style=&amp;quot;width: 60%; height: 60px; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''&amp;lt;date_time1&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | string in ‘yyyy-mm-dd [hh:mm:ss]’ format&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | '''&amp;lt;date_time2&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | string in ‘yyyy-mm-dd [hh:mm:ss]’ format&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%&amp;quot; | '''&amp;lt;modifier&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 80%&amp;quot; | none/’s’/’m’/’h’/’d’&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Modifier changes returned result from difference in seconds, when it is ''s'' or absent, to minutes (''m''), hours (''h'') or days (''d'').&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | Modifier&amp;lt;br /&amp;gt;&lt;br /&gt;
! style=&amp;quot;vertical-align: top&amp;quot; | result in&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | undef&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | seconds&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | 's'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | seconds&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | 'm'&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | minutes&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | 'h'&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | hours&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 30%; text-align: center&amp;quot; | 'd'&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | days&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Returns:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
(&amp;lt;date_time1&amp;gt; - &amp;lt;date_time2&amp;gt;) in seconds or other metrics, according to modifier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;DateTimeDiff( $action_date, GetDateTime(), 'd')&amp;lt;/source&amp;gt;&lt;br /&gt;
Returns a difference between $action_date field and current date/time in days.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Access control =&lt;br /&gt;
'''udb_property''' and '''Email_Notification_Rule''' records are protected using security context (udb_visibility). By default, security context field is not set, and superuser only can submit, update, or delete configuration records. You can delegate maintenance tasks by creating desirable security context records and setting PropertyDefaultSecurityGroup and NotificationDefaultSecurityGroup database properties to populate security context field automatically when records are created (records existing before setting these properties would need to be updated manually). Default security group properties also affect action permissions.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Record Type&lt;br /&gt;
! Action&lt;br /&gt;
! Permissions&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|'''udb_visibility'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Security context group member&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|'''udb_property'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Default Security context group member&lt;br /&gt;
: (set by PropertyDefaultSecurityGroup database property)&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Security context group member&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|'''Email_Notification_Rule'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Default Security context group member&lt;br /&gt;
: (set by NotificationDefaultSecurityGroup database property)&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Security context group member&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|'''en_email_message'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* A member of group specified by EN_AdminGroup database property&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* A member of group specified by EN_AdminGroup database property&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
* A member of group specified by EN_AdminGroup database property&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|'''Email_Subscription'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Default Security context group member&lt;br /&gt;
: (set by NotificationDefaultSecurityGroup database property)&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Security context group member&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
| Subscribe_Me&lt;br /&gt;
| &lt;br /&gt;
* All users&lt;br /&gt;
|-&lt;br /&gt;
| Unsubscribe_Me&lt;br /&gt;
| &lt;br /&gt;
* All users&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR /&amp;gt;&lt;br /&gt;
Submit action can be enabled for all users by setting '''Notification_Bypass_Access_Control''' database property.&lt;br /&gt;
&amp;lt;BR /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
Additional examples can be found on [[Notification_Examples | Examples]] page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_1.4_Release_Notes&amp;diff=248</id>
		<title>Email Notification 1.4 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_1.4_Release_Notes&amp;diff=248"/>
		<updated>2013-02-01T14:46:41Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Email Notification Package 1.4'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Release Notes'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bug Fixed ==&lt;br /&gt;
&lt;br /&gt;
=== SMTP Header Line Length Limit ===&lt;br /&gt;
A workaround was implemented preventing address lines with multiple recipients exceeding 1000 characters. It could break SMTP header in previous version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Creating Perl interpreter failed ===&lt;br /&gt;
A fix for an intermittent issue was implemented. Thanks to Adam Skwersky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== A dot after variable name ===&lt;br /&gt;
In a parameterized text field, a dot placed immediately after variable name is no longer causing any issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multiline SQL queries and DB2 ===&lt;br /&gt;
An issue was resolved that was causing issues with some releases of DB2 database. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
&lt;br /&gt;
=== ClearQuest 7.1.x installation ===&lt;br /&gt;
ClearQuest 7.1.x installation was improved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Expressions in function list of parameters ===&lt;br /&gt;
In list of parameters, there no need to use brackets around expressions. For example,&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;IF( $a &amp;gt; $b, &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot; )&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $EmailNotificationRuleName built-in variable ===&lt;br /&gt;
New built-in variable, $EmailNotificationRuleName, was introduced to carry evaluated rule name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Rules Evaluation Order ===&lt;br /&gt;
You can change Notification Rules evaluation order. Sort key is a text field. All rules are sorted in ascending order by the Order field.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FROM Email address ===&lt;br /&gt;
A parameterized text field was added to Notification rule to customize From address.&lt;br /&gt;
# when Notification Rule From field is not empty, it is expanded and used as from address on generated email&lt;br /&gt;
# when From field is empty, and email_from database property exists, email_from content is evaluated to be used as from address&lt;br /&gt;
# otherwise, email address of the user executing action triggering email is used as from email address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Applying package to a stateless record ===&lt;br /&gt;
Package can be applied to a stateless record type using package wizard (using command line was required in previous release).&lt;br /&gt;
In order to apply to a record type that belongs to a package, package editing needs to be enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email self-subscription ===&lt;br /&gt;
Optional self-subscription functionality is available with optional EmailSubscription package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Access controls ===&lt;br /&gt;
Unified access control was implemented.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Record Type&lt;br /&gt;
! Action&lt;br /&gt;
! Permissions&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|'''udb_visibility'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Security context group member&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|'''udb_property'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Default Security context group member&lt;br /&gt;
: (set by PropertyDefaultSecurityGroup database property)&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Security context group member&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|'''Email_Notification_Rule'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Default Security context group member&lt;br /&gt;
: (set by NotificationDefaultSecurityGroup database property)&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Security context group member&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|'''en_email_message'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* A member of group specified by EN_AdminGroup database property&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* A member of group specified by EN_AdminGroup database property&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
* A member of group specified by EN_AdminGroup database property&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|'''Email_Subscription'''&lt;br /&gt;
| Submit&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Default Security context group member&lt;br /&gt;
: (set by NotificationDefaultSecurityGroup database property)&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| &lt;br /&gt;
* Superuser&lt;br /&gt;
* Security Administrator&lt;br /&gt;
* Security context group member&lt;br /&gt;
|-&lt;br /&gt;
| Remove&lt;br /&gt;
|&lt;br /&gt;
* Superuser&lt;br /&gt;
|-&lt;br /&gt;
| Subscribe_Me&lt;br /&gt;
| &lt;br /&gt;
* All users&lt;br /&gt;
|-&lt;br /&gt;
| Unsubscribe_Me&lt;br /&gt;
| &lt;br /&gt;
* All users&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR /&amp;gt;&lt;br /&gt;
Submit action can be enabled for all users by setting '''Notification_Bypass_Access_Control''' database property.&lt;br /&gt;
&amp;lt;BR /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
=== ClearQuest client version ===&lt;br /&gt;
The package can be '''installed''' using ClearQuest 7.0.0 or later. Nevertheless, it can be '''used''' with pre-7.0 clients as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Read More ==&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | ClearQuest Email Notification Package]]&lt;br /&gt;
* [[Package_configuration | Package configuration guide]]&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package_FAQ | Frequently Asked Questions ]]&lt;br /&gt;
* [[Notification_Examples | Examples]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
[http://cqadmin.org/wiki/Download Download Package]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Download&amp;diff=247</id>
		<title>Download</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Download&amp;diff=247"/>
		<updated>2013-02-01T14:46:22Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Downloads'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ClearQuest Email Notification Package ==&lt;br /&gt;
Please visit [[Package_installation | installation]] and [[Package_configuration | configuration]] pages for detailed instructions.&amp;lt;br /&amp;gt;&lt;br /&gt;
The package and supplementary scripts are available now at [http://store.cqadmin.com/index.php/clearquest/cq-email-notification.html CQAdmin store]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dynamic List Editor for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[ClearQuest_Dynamic_List_Editor | documentation]] page for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [http://store.cqadmin.com/index.php/dynamic-list-editor-for-ibm-rational-clearquest.html CQAdmin store].&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User Administration Tool for IBM-Rational ClearQuest ==&lt;br /&gt;
Please check the [[User_Admin_Tool_Installation | installation]] and [[User_Admin_Tool_Configuration | configuration]] pages for details.&amp;lt;br /&amp;gt;&lt;br /&gt;
The distribution is available at [http://store.cqadmin.com/index.php/clearquest/user-administration-tool.html CQAdmin store].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Download Instructions ==&lt;br /&gt;
=== Download Links in Email ===&lt;br /&gt;
In order to download products, you have to register at [http://store.cqadmin.com/index.php/ CQAdmin store] and place your order. In few minutes you will receive a confirmation email containing download links.&lt;br /&gt;
&lt;br /&gt;
[[File:email_links.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Downloading Products from the Store ===&lt;br /&gt;
Alternatively, you could use &amp;quot;My Downloadable Products&amp;quot; section of your account. You would need to click on the download link right to the order title.&lt;br /&gt;
&lt;br /&gt;
[[File:store_links.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== '''Microsoft Internet Explorer''' users === &lt;br /&gt;
'''Microsoft Internet Explorer''' users might need to use &amp;quot;Save As&amp;quot; option to download file correctly:&lt;br /&gt;
* Right click on the download link&lt;br /&gt;
* Select &amp;quot;Save As&amp;quot; option from the context menu&lt;br /&gt;
* Save downloaded file as &amp;quot;some_name.zip&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]] [[Category:Dynamic_List_Editor]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=ClearQuest_Email_Notification_Package_FAQ&amp;diff=246</id>
		<title>ClearQuest Email Notification Package FAQ</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=ClearQuest_Email_Notification_Package_FAQ&amp;diff=246"/>
		<updated>2013-02-01T14:45:52Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''ClearQuest Email Notification Package'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Frequently asked questions&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== What version of ClearQuest the package Can be used with? ===&lt;br /&gt;
EmailNotification 1.5 can be installed using ClearQuest Designer 7.0 or later. No additional modifications are required.&lt;br /&gt;
&lt;br /&gt;
For older versions of the package, ClearQuest 2001A and later versions are supported. In order to use EmailNotification 1.3 with ClearQuest 7.1, CodePage entry needs to be added in the '''[General]''' section of &amp;quot;package.ini&amp;quot; files. Detailed instructions are provided on the following page: [[ClearQuest_7.1]]&lt;br /&gt;
&lt;br /&gt;
=== Do I need to deploy the package on each ClearQuest client? ===&lt;br /&gt;
There is no need to install the package on CQ clients. ClearQuest package is applied to a schema and needs to be deployed on machines where you perform development of new schema versions only.&lt;br /&gt;
&lt;br /&gt;
=== Can I use the package with VBScript-based schema? ===&lt;br /&gt;
Yes, the package can be used with VBScript or Perl schema. Package extensions can be implemented with Perl.&lt;br /&gt;
&lt;br /&gt;
=== Can I apply package to a stateless record type? ===&lt;br /&gt;
It is possible. This option is now available in wizard, but you can use command line as well. Please check [[Applying_Package_to_Stateless_Records | applying package to a stateless records]] page for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
=== Can I create HTML emails? ===&lt;br /&gt;
Absolutely! You can set proper content-type in the email header (Header Add-in field), and use HTML the email body. This RFC-compliant email will be properly recognized by most of the email clients. Please check [[Notification_Examples#Sending_HTML_Emails | examples]] page.&lt;br /&gt;
&lt;br /&gt;
=== Can I send attachments with notifications? ===&lt;br /&gt;
It is not recommended to attach large files to notifications, as it can impact performance of ClearQuest application. Nevertheless, it is possible. You can find detailed instructions on the [[Notification_Examples#Sending_Emails_with_Attachments | examples]] page.&lt;br /&gt;
&lt;br /&gt;
=== Where can I find notification rule examples? ===&lt;br /&gt;
# [[Notification_Examples | Notification examples]]&lt;br /&gt;
# [[Package_configuration | Package configuration guide]]&lt;br /&gt;
# [http://cqadmin.org/data/CCMA43.pdf Extending IBM(R) Rational(R) ClearQuest(R) Email Notifications] presentation&lt;br /&gt;
# [http://forum.cqadmin.org/ Support forum]&lt;br /&gt;
&lt;br /&gt;
=== In multisited environment, can I use different SMTP relays for different sites? ===&lt;br /&gt;
Yes, it is possible by defining site-specific property for email_host, i.e. if your site name is '''Atlanta''', Atlantaemail_host would work as email_host property for that specific site only.&lt;br /&gt;
&lt;br /&gt;
You can also unset paticular property by using '''EN_NONE''' as a value.&lt;br /&gt;
&lt;br /&gt;
=== Can I call one User Defined function from another? ===&lt;br /&gt;
Yes, you can use '''EN_CALL_UDF''' function and supply other function name and parameters, but it is not the only way to reuse functionality. You can also define &amp;quot;common block&amp;quot; in a database property and &amp;quot;include&amp;quot; it in other user defined functions. &lt;br /&gt;
&lt;br /&gt;
For example, you can defined property that contains common function definitions&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;60%&amp;quot;&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Property Name&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| MY_COMMON_BLOCK&lt;br /&gt;
| &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;sub func1 { ... }&lt;br /&gt;
sub func2 { ... }&lt;br /&gt;
sub func3 { ... }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
and then re-use it in other user-defined functions&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;60%&amp;quot;&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; |Property Name&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| MY_FUNCTION&lt;br /&gt;
| &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt; &lt;br /&gt;
eval GetProperty('MY_COMMON_BLOCK');&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Can I customize the package for my own needs?  === &lt;br /&gt;
You can enable package editing and add customization.&lt;br /&gt;
# close ClearQuest designer and enable package editing from command line:&lt;br /&gt;
#; &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt; packageutil enableediting [-dbset &amp;lt;dbset&amp;gt;] &amp;lt;login_name&amp;gt; &amp;lt;password&amp;gt; -enable &amp;lt;login_name&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
#: where &amp;quot;[-dbset &amp;lt;dbset&amp;gt;]&amp;quot; is a specification of schema repository connection name that was configured in ClearQuest Maintenance Tool. It can be omitted if you have only one configured schema repository. &lt;br /&gt;
# open schema in Designer and update Submit action access controls for udb_property and Email_Notification_Rule record types (for example, limit to a group)&lt;br /&gt;
# test your changes&lt;br /&gt;
# disable package editing from command line to prevent accidental modifications&lt;br /&gt;
#; &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt; packageutil enableediting [-dbset &amp;lt;dbset&amp;gt;] &amp;lt;login_name&amp;gt; &amp;lt;password&amp;gt; -disable &amp;lt;login_name&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
# check the schema in, and promote changes to production database&lt;br /&gt;
&lt;br /&gt;
Nevertheless, I would recommend researching first, if is it possible to achieve what you are going to implement using functionality available in the package, as your changes will be overwritten when new package release is installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
What if the package is not doing something that you would expect it to do?&lt;br /&gt;
* Verify that the package is applied to selected record type. &lt;br /&gt;
: When package is applied, you should see &amp;quot;EN_NotifyHook&amp;quot; in the Perl Record Script section of the record.&lt;br /&gt;
* Verify that '''email_enabled''' database property (udb_property record) is created and set to non-zero value&lt;br /&gt;
* Check if en_email_message record is created. &lt;br /&gt;
: en_email_message records are always created when Queue or Deferred (default) delivery mode is used. If you are using Light delivery mode, switch to Deferred until troubleshooting is completed. &lt;br /&gt;
* Turn On Debugging&lt;br /&gt;
: Create '''Debug''' database property (udb_property record), set it to desirable log level (up to 9), and capture debug output using '''dbwin32.exe''' utility.&lt;br /&gt;
* You can always ask for help on [http://forum.cqadmin.org/ support forum].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=ClearQuest_Dynamic_List_Editor&amp;diff=245</id>
		<title>ClearQuest Dynamic List Editor</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=ClearQuest_Dynamic_List_Editor&amp;diff=245"/>
		<updated>2013-02-01T14:45:27Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''ClearQuest Dynamic List Editor'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Created by ClearQuest admin for ClearQuest admins.&lt;br /&gt;
&lt;br /&gt;
= Dynamic List Editor =&lt;br /&gt;
This is NOT a solution that is provided and supported by IBM-Rational. &lt;br /&gt;
The Dynamic List Editor is an add-on to your existing ClearQuest schema, VBScript or Perl based, that provides a unified interface to administer Dynamic Lists for Windows, Eclipse, UNIX clients, and (most importantly) the Web client. Additionally, it adds basic audit capabilities that can be enhanced using the Audit Trail package.&lt;br /&gt;
The enhancement is distributed as a ClearQuest schema integration, and it can be easily removed from the schema when it is no longer required.&lt;br /&gt;
&lt;br /&gt;
In the Editor, all dynamic lists are represented by correspondent stateless records of the Dynamic_List record type.&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Editor.png|center]] &lt;br /&gt;
&lt;br /&gt;
Dynamic List administrators work with the stateless records, and when the update is completed and records are submitted to the database, the correspondent dynamic lists are updated automatically.&lt;br /&gt;
&lt;br /&gt;
== Installation Instruction ==&lt;br /&gt;
'''Please create a backup of schema and user databases before the installation.'''&amp;lt;br /&amp;gt;&lt;br /&gt;
The package is an add-on to your existing ClearQuest schema. In order to install it, you will need ClearQuest administrative access and administrative tools (ClearQuest designer). When the configuration is completed, users with the &amp;quot;Dynamic List Admin&amp;quot; privilege or super users can modify the content of the Dynamic Lists using ClearQuest Web or other ClearQuest clients.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Install ===&lt;br /&gt;
* Unpack the distribution to your local or network drive (you cannot start the installation from a network share using UNC path)&lt;br /&gt;
* Launch &amp;quot;install.bat&amp;quot; in the root of the distribution&lt;br /&gt;
* Accept license agreement&lt;br /&gt;
* Provide administrative user credentials, ClearQuest connection, database name, and click on &amp;quot;Connect&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When installation is completed, login to the user database and run &amp;quot;Public Queries/Administration/Dynamic_Lists&amp;quot; query to verify Dynamic list data. You can start using the tool immediately.&lt;br /&gt;
&lt;br /&gt;
=== Manual Install ===&lt;br /&gt;
If you prefer to install the Editor manually, please follow the steps below &lt;br /&gt;
It is highly recommended to test the procedure in your development environment, and backup master and user databases before you start.&lt;br /&gt;
&lt;br /&gt;
==== Download and Unpack Schema Integration ====&lt;br /&gt;
Save the downloaded archive to your administrative machine hard drive and unpack it. The integration is a text file that can be easily scanned or inspected.&lt;br /&gt;
&lt;br /&gt;
====  Apply Integration to ClearQuest Schema ====&lt;br /&gt;
* Verify that the ClearQuest schema is checked in, and that there are no pending schema changes that have not been applied to the user database.&lt;br /&gt;
* Open the command line tool, (Start-&amp;gt;Run &amp;quot;cmd&amp;quot;) and change the directory to the location where the integration package was extracted.&lt;br /&gt;
* Import integration using the &amp;quot;cqload importintegration&amp;quot; command. For example:&lt;br /&gt;
 cqload importintegration -dbset &amp;lt;db_connection_name&amp;gt; &amp;lt;admin_user&amp;gt; &amp;lt;admin_password&amp;gt; &amp;lt;ClearQuest_Schema_Name&amp;gt; &amp;quot;&amp;quot; &amp;quot;Dynamic List Editor&amp;quot; 1.0 Dynamic_List_Editor.txt &amp;quot;&amp;quot;&lt;br /&gt;
* Verify that the schema update was imported and no issues were detected.&lt;br /&gt;
&lt;br /&gt;
[[File:cqload_completed.png|center]]&lt;br /&gt;
&lt;br /&gt;
==== Upgrade User Database ====&lt;br /&gt;
Now, you can apply changes to the user database using ClearQuest Designer. For Eclipse Designer, in the ClearQuest Database Admin section, right click on the user database that you are going to apply changes to, and select &amp;quot;Upgrade Database&amp;quot; from the context menu. (In legacy Windows Designer, select the &amp;quot;Upgrade Database...&amp;quot; option from the database menu and select your user database).&lt;br /&gt;
&lt;br /&gt;
[[File:upgrade_db.png|center]]&lt;br /&gt;
&lt;br /&gt;
Apply the change that you imported on the previous step by clicking the &amp;quot;OK&amp;quot; button. Verify that user database was upgraded successfully.&lt;br /&gt;
&lt;br /&gt;
[[File:upgrade_db_completed.png|center]]&lt;br /&gt;
&lt;br /&gt;
==== Import First Dynamic List ====&lt;br /&gt;
The rest of the configuration can be completed from a ClearQuest client. You can use any client of your choice. The instructions are based on ClearQuest Web client, version 8.0.&lt;br /&gt;
Login as an administrator (super user), and submit a new record of the &amp;quot;Dynamic_List&amp;quot; type:&lt;br /&gt;
&lt;br /&gt;
[[File:Submit_Dynamic_List_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Select one of the list names from the &amp;quot;Name&amp;quot; drop-down list.&lt;br /&gt;
&lt;br /&gt;
[[File:Submit_Dynamic_List_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Dynamic list values will be populated automatically.&lt;br /&gt;
&lt;br /&gt;
[[File:Submit_Dynamic_List_3.png|center]]&lt;br /&gt;
&lt;br /&gt;
click &amp;quot;Save&amp;quot; to commit the record to the database&lt;br /&gt;
&lt;br /&gt;
==== Creating Dynamic List Administration Query ====&lt;br /&gt;
Now, you will need to create a simple query that will be used by Dynamic Lists administrators. Right click on the folder you are going to save the query to, and select &amp;quot;New Query&amp;quot; from the context menu.&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Query _1.png|center]] &lt;br /&gt;
&lt;br /&gt;
Select &amp;quot;Dynamic_Query&amp;quot; as a record type&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Query _2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Provide a query name (for instance, &amp;quot;Dynamic Lists&amp;quot;), add the &amp;quot;Name&amp;quot; field to the presentation/display section, and specify the &amp;quot;Ascending&amp;quot; (A-Z) sort order. Save the query.&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Query _3.png|center]]&lt;br /&gt;
&lt;br /&gt;
==== Importing Dynamic Lists ====&lt;br /&gt;
Run the &amp;quot;Dynamic Lists&amp;quot; query that we created on the previous step. You should see one Dynamic List record in the result set. Select the record, and in the &amp;quot;Utilities&amp;quot; section, chose the &amp;quot;SyncAllLists&amp;quot; action.&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Sync_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
The action syncs ClearQuest records with the correspondent dynamic lists:&lt;br /&gt;
* when the ClearQuest record already exists, its content is updated from the dynamic list&lt;br /&gt;
* when the ClearQuest record does not exist, a new record is created&lt;br /&gt;
* when a dynamic list for the existing ClearQuest record does not exist, the record is deleted.&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Sync_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
If no error occurred, a confirmation is displayed. Otherwise, you would see an error message.&lt;br /&gt;
Refresh the query to verify that all dynamic lists with their proper content are loaded.&lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic_List_Sync_3.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Administering Dynamic Lists ==&lt;br /&gt;
When all the Dynamic_List records are populated, List Administrators can start using the query you created and Dynamic_Lists records to modify the content of the linked dynamic lists. Most of the time, the &amp;quot;Update&amp;quot; action is sufficient. In addition, the Editor offers the following actions to simplify administration:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Action Name&lt;br /&gt;
! Action Type&lt;br /&gt;
! Access Control&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Submit&lt;br /&gt;
| Submit&lt;br /&gt;
| Super User&lt;br /&gt;
| Submit allows the creation of new records when a new Dynamic List added to the ClearQuest schema. You can also use the &amp;quot;SyncAllLists&amp;quot; utility action to synchronize all the records at once.&lt;br /&gt;
|-&lt;br /&gt;
| Update&lt;br /&gt;
| Modify&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Update is the primary action for administering Dynamic Lists content. When an action is initialized, the record is refreshed with the latest content of the dynamic list (please check &amp;quot;Dynamic List Caching&amp;quot; section). When the updated record is saved, its content is saved in the correspondent dynamic list as well.&lt;br /&gt;
|-&lt;br /&gt;
| Delete&lt;br /&gt;
| Utilities / Delete&lt;br /&gt;
| Super User&lt;br /&gt;
| This action allows you to delete existing Dynamic_List records, such as when a correspondent dynamic list is removed from the schema. Alternatively, you can use the &amp;quot;SyncAllLists&amp;quot; utility action to synchronize all records at once after a database upgrade.&lt;br /&gt;
|-&lt;br /&gt;
| LoadList&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Load List action updates the current ClearQuest record with the content of the correspondent dynamic list. Please be aware that in order to see the update you might need to refresh the ClearQuest query or even to close and re-run it.&lt;br /&gt;
|-&lt;br /&gt;
| SaveList&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Save List action saves the content of the current ClearQuest records into a correspondent dynamic list.&lt;br /&gt;
|-&lt;br /&gt;
| SaveAllLists&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User, Dynamic List Admins&lt;br /&gt;
| Save all lists saves the content of all ClearQuest Dynamic List records into correspondent dynamic lists. It might be useful when records are imported from an external source.&lt;br /&gt;
|-&lt;br /&gt;
| SyncAllLists&lt;br /&gt;
| Utilities / Script&lt;br /&gt;
| Super User&lt;br /&gt;
| This action syncs ClearQuest records with their correspondent dynamic lists:&lt;br /&gt;
* when the ClearQuest record already exists, its content is updated from the dynamic list&lt;br /&gt;
* when the ClearQuest record does not exist, a new record is created&lt;br /&gt;
* when a dynamic list for the existing ClearQuest record does not exist, the record is deleted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Dynamic Lists Caching ==&lt;br /&gt;
In order to improve performance, ClearQuest caches the content of dynamic lists. When you update the content of dynamic lists using native tools, the update is not available to all existing clients and sessions immediately. Your clients might need to re-login to the database in order to see the changes.&lt;br /&gt;
Similarly, the dynamic list editor is using an actual dynamic list as a primary trusted source of data for the records. When you initiate a record update, the record content is loaded from the dynamic list first. In an environment where dynamic lists are actively updated from many clients simultaneously, it might cause overwriting, because the cached list values could be used by ClearQuest. In a so changing environment, it is recommended to re-login to the database before starting a dynamic list modification (the same issue exists when you use native tools in the legacy ClearQuest Windows Client). &lt;br /&gt;
If you rarely use native tools to update dynamic lists (for instance, when a ClearQuest full client is not installed on the Dynamic List Admins' machines, and they use the Editor's Web Client capability to modify lists only), you can select the ClearQuest records as a trusted source of data for the dynamic lists. In order to do so, you need to remove the &amp;quot;Update&amp;quot; action initialization hook from the Dynamic_List record type, and upgrade the user database to apply changes. This would ensure that the most accurate data is used for list modification.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
: ClearQuest Dynamic List Editor  is supported by [http://cqadmin.com CQAdmin, inc]. Three levels or support agreement are currently offered, starting with '''free''' community support at [http://forum.cqadmin.org http://forum.cqadmin.org]. Consulting services are also available.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Dynamic_List_Editor]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=User_Admin_Tool_Installation&amp;diff=244</id>
		<title>User Admin Tool Installation</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=User_Admin_Tool_Installation&amp;diff=244"/>
		<updated>2013-02-01T14:45:05Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''User Administration Tool Installation'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Planing the Installation ==&lt;br /&gt;
User Administration Tool for IBM-Rational ClearQuest is a ClearQuest database. The installer will add a custom schema to your schema repository, create user database associated with the schema, and load all data. Before you proceed, you need to collect:&lt;br /&gt;
* Physical Database information of empty database (DB vendor, server, database name, database user account, and connect options). The database needs to be created in advance (unless you are going to use Microsoft Access).&lt;br /&gt;
* Email notification settings - SMTP server name and email user credentials (if password authentication is required with SMTP relay). You can check [[Package_configuration | Email Notification Package Configuration]] page for additional information.&lt;br /&gt;
* Obtain local administrative rights on the machine where you are going to perform the installation.&lt;br /&gt;
* Create (or use an existing) ClearQuest account with Super User right that will be used for user account management. It is recommended to use ClearQuest authentication for the account to avoid problems related to password expiration.&lt;br /&gt;
&lt;br /&gt;
== Backup Schema Repository Database ==&lt;br /&gt;
It is always a good idea to create a backup before you making any change to the schema repository to roll back the change if necessary, and I strongly recommend to install the tool in your testing environment first: you would be able to validate that it is compatible with your environment and database vendor. It would minimize risks associated with deployment of the tool in your production environment later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing User Admin Tool ==&lt;br /&gt;
You can install the tool using any machine that has IBM-Rational ClearQuest installed and ClearQuest connection configured. &lt;br /&gt;
First, unpack User Administration Tool distribution to local or network drive (you cannot start installation from network location referenced via UNC path), and launch '''install.bat''' located in the root of the distribution. &lt;br /&gt;
[[File:user_admin_install.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;On Windows 7 and Windows 2008 machines you need to select &amp;quot;Run as Administrator&amp;quot; option explicitly, and allow making changes&lt;br /&gt;
[[File:user_admin_install_2.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Login to the ClearQuest using connection (dbset) that you would like to enable for user administration using Super User account you created on the &amp;quot;planning...&amp;quot; step.&lt;br /&gt;
[[File:user_admin_install_login.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Provide required information to create ClearQuest User Administration database. Depending on your database vendor and environment, you might need to provide additional connection options. Please check ClearQuest administration manual for details. If you aborted the installation for any reason after user database was created, you would be allowed to select user database created earlier instead of creating a new one.&lt;br /&gt;
[[File:user_admin_db_settings.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Verify that you entered all information and click on &amp;quot;Create DB&amp;quot; button. The installer will start creating user database and importing all user data. There is no progress indicator, please be patient. Depending on database server load and number of user accounts the initial load might take significant time. For example, in my local environment it takes about 15 minutes to load 3000 users and groups.&lt;br /&gt;
&lt;br /&gt;
When user database is created and data import is completed, the installer will offer you to configure email notification setting. Please provide required information and save settings. The installer will validate SMTP server connectivity.&lt;br /&gt;
[[File:user_admin_en_config.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;It is the last step in the installation procedure, and no error occurred, you should receive the following confirmation. &lt;br /&gt;
[[File:user_admin_install_completed.png|none]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Congratulations! You have completed your installation. Log in to the ClearQuest database you created and you can start using it immediately.&lt;br /&gt;
&lt;br /&gt;
== Additional Information==&lt;br /&gt;
The following links could be useful&lt;br /&gt;
* [[User_Admin_Tool_Configuration | Configuring User Administration Tool]]&lt;br /&gt;
* [[Managing_ClearQuest_Users | Managing ClearQuest Users]].&lt;br /&gt;
* [http://forum.cqadmin.org/ Support forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:User_Admin_Tool]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Timed_Notification&amp;diff=243</id>
		<title>Timed Notification</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Timed_Notification&amp;diff=243"/>
		<updated>2013-02-01T14:44:47Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Timed Notification=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What does Timed Notification mean? == &lt;br /&gt;
Sometimes we would like to implement notifications that are not triggered by particular action. You might need a reminder that defect approached a resolution deadline, or that a trouble ticket passed due date, was not implemented in time frame required by the Service Level Agreement, was not assigned for implementation in a reasonable time frame. I call such kind of requests Timed Notifications or Reminders.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How Timed Notifications / Reminders are implemented? ==&lt;br /&gt;
There are two parts of the complicated task&lt;br /&gt;
# find records that could be eligible for notification&lt;br /&gt;
# trigger notifications based on information in selected records&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How to find records? ===&lt;br /&gt;
To make it flexible and to avoid waste of resources, the selection process is implemented in two phases: &lt;br /&gt;
# '''Initial records selection''' selects records that might be eligible, define notification scope. &lt;br /&gt;
#: It would be too expensive to check evaluate every ClearQuest record to determine whether or not notification condition met. In order to improve performance and reduce load on the database, we need to reduce number or records for evaluation. For example, when implementing due date reminder, we could safely exclude closed or resolved defects. It could be different in other cases, but the main goal would always be defining potential notification scope, then &lt;br /&gt;
# '''Final selection''' evaluates notification rules on selected at step (1) records and triggers notification if condition is met (for example, the record passed due date). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initial records selection ====&lt;br /&gt;
It is limiting scope based on simple criteria that can be used in a SQL Query to retrieve records. For example, you can limit records based on record type, current state, severity, assignment, etc.&lt;br /&gt;
Timed Notification script offers you two possibilities: &lt;br /&gt;
# create a ClearQuest query, and save it in the public workspace &lt;br /&gt;
# specify criteria to create the query dynamically during the execution&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Final selection ====&lt;br /&gt;
In addition, records can be filtered based on Email Notification Rule ''Condition'' field.&lt;br /&gt;
It is performed during evaluation of notification rules on the record set selected on the previous step. Rules evaluation is expensive process that is why it very is important to have good initial record selection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Triggering notifications ===&lt;br /&gt;
Since we are using extremely customizable email notification rules for other actions, it makes sense to use the same functionality, and keep timed notification rules at the same place.&lt;br /&gt;
Regular notifications are triggered by ''actions'', timed notifications - by ''pseudo-actions''. It means that in reality no action is executed, but the script evaluates email notification rules on selected records in the same way as it would be done if the real action would be invoked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you noticed, selection of actions on Email Notification Rule record is not limited to actions defined for the record type, and it is done on purpose: you can specify there non-existent, '''pseudo-action''' name.&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
To make all thins working, you just need to&lt;br /&gt;
* create a notification rule, using ''pseudo-action''&lt;br /&gt;
* run the script using the ''pseudo-action'' as a parameter&lt;br /&gt;
* let script know the record types that it will be running on and the way to limit record set for notification rules evaluation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ClearQuest does not have any server based process like cron that can trigger actions. It can be changed in the future (the new ClearQuest Web Server includes request manager that does not have any public interface so far), but as of today, the only way to trigger timed email notification is to run timed notification script from UNIX cron or Windows scheduler on your ClearQuest server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can download timed notification script [[Download | here]].&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
For example, we would like to notify assignees about defects that will pass due date in the next 24 hours. I will name pseudo action used in this example '''DailyNotification''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following tasks need to be accomplished&lt;br /&gt;
&lt;br /&gt;
=== Configure Scheduler on a ClearQuest server ===&lt;br /&gt;
CQ Web server could be a good candidate to run the script. The following script need to be configured to run daily, let's say at 4 AM&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  cqperl TimedNotification.pl &amp;lt;cq_login&amp;gt; &amp;lt;password&amp;gt; &amp;lt;database&amp;gt; &amp;lt;dbset&amp;gt; &amp;quot;DailyNotification&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enable Notification for the record type  ===&lt;br /&gt;
In this example, we need to inform the script that it is running on ''Defect'' record type.&lt;br /&gt;
In order to do it, '''TN_RecordTypes''' property need to be set to '''Defect'''&lt;br /&gt;
(udb_property record type has to be submitted with &amp;quot;Defect&amp;quot; value)&lt;br /&gt;
&lt;br /&gt;
'''Note''': '''TN_RecordTypes''' property value can contain more then one record type. A list of enabled record types has to be specified as '''one-record-type-per-line'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create email notification rule ===&lt;br /&gt;
Email Notification Rule for Defect record type (major fields)&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot; valign=&amp;quot;top&amp;quot; &lt;br /&gt;
! Field&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| Defect_Reminder&lt;br /&gt;
|-&lt;br /&gt;
| Record Type&lt;br /&gt;
| Defect&lt;br /&gt;
|-&lt;br /&gt;
| Actions&lt;br /&gt;
| '''DailyNotification'''&lt;br /&gt;
|-&lt;br /&gt;
| Condition&lt;br /&gt;
| &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt; $Due_Date ne '' &amp;amp;&amp;amp; DateTimeDiff( $Due_Date, GetDateTime('+1d') ) &amp;lt; 0 &amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| To:&lt;br /&gt;
| &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt; ${owner.email} &amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Subject: &lt;br /&gt;
| &amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Defect $ID will pass due date $Due_Date soon&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Body:&lt;br /&gt;
| &amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;You need to do something with defect $ID&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Limit record set for notification rules evaluation ===&lt;br /&gt;
It would be too expensive to evaluate the notification rule on each record. It is a good idea to limit an evaluation scope. As it was discussed above, there are 2 ways to do it.&lt;br /&gt;
&lt;br /&gt;
==== Create query in ClearQuest client ====&lt;br /&gt;
For example, we can create query that will filter open defect, save as &amp;quot;Public Queries\Admin\DailyNotificationQuery&amp;quot; and set '''TN_Query-Defect-DailyNotification''' property to that value.&lt;br /&gt;
&lt;br /&gt;
When script is executed, it checks '''TN_Query-{record type}-{pseudo action name}''' or '''TN_Query-{record type}''' properties if the first one is not defined. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note:''' You could have both '''TN_Query-{record type}''' and '''TN_Query-{record type}-{pseudo action name}''' properties in your database. The first one would work as a default value for all action names, while '''TN_Query-{record type}-{pseudo action name}''' would overwrite default value if specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== OR provide filter criteria for dynamic query ====&lt;br /&gt;
This way you can specify state names that have to be excluded from the notification. Based on information provided, script will create a query at run time. &lt;br /&gt;
The states can be specified using '''TN_QueryExcludeStates-{record type}-{pseudo action name}''' or '''TN_QueryExcludeStates-{record type}''' property in one-state-per-line style.&lt;br /&gt;
In our case, we can submit '''TN_QueryExcludeStates-Defect-DailyNotification''' property with the following values:&lt;br /&gt;
  Submit&lt;br /&gt;
  Closed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If 'TN_Query-{record type}-{pseudo action name}' and 'TN_Query-{record type}' properties do not exist, the script checks for excluded state properties and uses them as a filter in run-time created query.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note:''' You could have both '''TN_QueryExcludeStates-{record type}''' and '''TN_QueryExcludeStates-{record type}-{pseudo action name}''' properties in your database. The first one would work as a default value for all action names, while '''TN_QueryExcludeStates-{record type}-{pseudo action name}''' would overwrite default value if specified.&lt;br /&gt;
&lt;br /&gt;
== Properties used in Timed Notification script ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot; valign=&amp;quot;top&amp;quot; &lt;br /&gt;
! Property name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''''TN_RecordTypes'''''&lt;br /&gt;
| list of record types enabled for the timed notification script&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''''TN_Query-{record type}-{action name}'''''&lt;br /&gt;
| Workspace path to a ClearQuest query that will be used to extract record for email notification rules evaluation for pseudo action {action name} (from the script command line)&amp;lt;br /&amp;gt; Overwrites TN_Query-{record type} property when exists.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''''TN_Query-{record type}'''''&lt;br /&gt;
| Workspace path to a ClearQuest query that will be used to extract record for email notification rules evaluation for any pseudo action name&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''''TN_QueryExcludeStates-{record type}-{action name}'''''&lt;br /&gt;
| a set of record states, one per line, that will be filtered out in run-time query for pseudo action {action name}, when TN_Query-{record type}-{action name} or TN_Query-{record type} properties do not exist.&amp;lt;br /&amp;gt;&lt;br /&gt;
Overwrites TN_QueryExcludeStates-{record type} property when exists.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''''TN_QueryExcludeStates-{record type}'''''&lt;br /&gt;
| a set of record states, one per line, that will be filtered out in run-time query for any pseudo action, when TN_Query-{record type}-{action name} or TN_Query-{record type} properties do not exist.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Notification_Examples&amp;diff=242</id>
		<title>Notification Examples</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Notification_Examples&amp;diff=242"/>
		<updated>2013-02-01T14:44:29Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&amp;lt;big&amp;gt;'''&amp;lt;big&amp;gt;Examples&amp;lt;/big&amp;gt;'''&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Defect state updates''' ==&lt;br /&gt;
Send notification to submitter ('Submitter' CQ field - reference to users) when Defect is postponed (with action postpone), rejected (with action reject) or closed (action close).&amp;lt;br /&amp;gt; Do not send notification if submitter is the same user that perform action to avoid email flooding.&amp;lt;br /&amp;gt; We have to test notification rule in test database and migrate it to production without changes (database name in http link should be updated automatically).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
We will define two supplementary functions in database properties:&lt;br /&gt;
&amp;lt;br /&amp;gt; udb_property records:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | nm_value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | GetUserLoginName&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;  return $session-&amp;gt;GetUserLoginName();&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | GetCurrentDatabaseName&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
  my $dbname = $session-&amp;gt;GetSessionDatabase()-&amp;gt;GetDatabaseName();&lt;br /&gt;
  return $dbname;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Email_Notification_Rule fields:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Form Field Name&amp;lt;br /&amp;gt; (CQ field name)&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | Value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt; (name)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | State change submitter notification (any unique name)&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Record Type&amp;lt;br /&amp;gt; (Entity_Def)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Actions&amp;lt;br /&amp;gt; (actions)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Postpone&amp;lt;br /&amp;gt; Reject&amp;lt;br /&amp;gt; Close&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Condition&amp;lt;br /&amp;gt; (Msg_Condition)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''GetUserLoginName()''' ne '''$Submitter'''&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | To&amp;lt;br /&amp;gt; (Msg_To_Users)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''$Submitter.email'''&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Subject&amp;lt;br /&amp;gt; (Msg_Subject)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Your Defect ''''$ID'''' has been '''${state}'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Body&amp;lt;br /&amp;gt; (Msg_Body)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Your Defect ''''$ID'''' has been '''${state}'''.&amp;lt;br /&amp;gt; Defect title: ''''$Headline''''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;http://newcqweb-server/cqweb/main?USE_CASE=GO&amp;amp;service=CQ&amp;amp;schema=DBSET&amp;amp;contextid=&amp;lt;/nowiki&amp;gt;'''GetCurrentDatabaseName()'''&amp;amp;entityID='''${dbid}'''&amp;amp;entityDefName=Defect&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Subject will be evaluated when email notification is triggered, for example:&amp;lt;br /&amp;gt; &amp;quot;Your Defect 'SAMPL00000001' has been Rejected.&amp;quot;&amp;lt;br /&amp;gt; We use ${State} notation for state field to avoid ambiguity, because it is followed by '.' (valid symbol for variable name).&amp;lt;br /&amp;gt;&lt;br /&gt;
Starting version 1.5, '''$UserLoginName''' predefined package variable can be used instead of GetUserLoginName user-defined function&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Using SQL query''' ==&lt;br /&gt;
Send notification to clearquest user group 'CCB_Approvers' and submitter when request been resolved&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Form Field Name&amp;lt;br /&amp;gt; (CQ field name)&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | Value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt; (name)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Resolution Notification (any unique name)&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Record Type&amp;lt;br /&amp;gt; (Entity_Def)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Actions&amp;lt;br /&amp;gt; (actions)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Resolve&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | To&amp;lt;br /&amp;gt; (Msg_To_Users)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''$Submitter.email&amp;lt;br /&amp;gt; SQL(&amp;quot;SELECT T2.email &amp;lt;br /&amp;gt; FROM parent_child_links T1, groups T3, users T2 &amp;lt;br /&amp;gt; WHERE T1.parent_dbid = T2.dbid &amp;lt;br /&amp;gt; AND T1.child_dbid = T3.dbid &amp;lt;br /&amp;gt; AND T3.name = 'CCB_Approvers' &amp;lt;br /&amp;gt; AND T2.is_active = 1&amp;quot;)&amp;lt;br /&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Subject&amp;lt;br /&amp;gt; (Msg_Subject)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect ''''$ID'''' has been resolved. Resolution ''''$Resolution''''&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Body&amp;lt;br /&amp;gt; (Msg_Body)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect ''''$ID'''' has been resolved. &amp;lt;br /&amp;gt; Defect title: ''''$Headline''''&amp;lt;br /&amp;gt; Resolution: ''''$Resolution''''&amp;lt;br /&amp;gt; Description: &amp;lt;br /&amp;gt;'''$Description'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;http://newcqweb-server/cqweb/main?USE_CASE=GO&amp;amp;service=CQ&amp;amp;schema=DBSET&amp;amp;contextid=&amp;lt;/nowiki&amp;gt;'''GetCurrentDatabaseName()'''&amp;amp;entityID='''${dbid}'''&amp;amp;entityDefName=Defect&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; You can also create reusable function and put it into properties &amp;lt;br /&amp;gt; udb_property record&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | nm_value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | GetGroupEmailAddresses&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;  my ($groupname) = @_;&lt;br /&gt;
  my $return_string;&lt;br /&gt;
&lt;br /&gt;
  # SQL statement&lt;br /&gt;
  my $result_set = $session-&amp;gt;BuildSQLQuery(&lt;br /&gt;
    &amp;quot;SELECT  T2.email&lt;br /&gt;
       FROM  parent_child_links T1, groups T3, users T2&lt;br /&gt;
       WHERE T1.parent_dbid = T2.dbid&lt;br /&gt;
         AND T1.child_dbid = T3.dbid&lt;br /&gt;
         AND T3.name = '$groupname'&lt;br /&gt;
         AND T2.is_active = 1&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  $result_set-&amp;gt;Execute();&lt;br /&gt;
  # fetch email addresses&lt;br /&gt;
  while( $result_set-&amp;gt;MoveNext() == $CQPerlExt::CQ_SUCCESS ){&lt;br /&gt;
    my $tmp_str = $result_set-&amp;gt;GetColumnValue(1);&lt;br /&gt;
    $return_string .= &amp;quot;$tmp_str\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  # clear 'errors'&lt;br /&gt;
  $result_set = undef;&lt;br /&gt;
  $@ = '';&lt;br /&gt;
&lt;br /&gt;
  return $return_string;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; In this case 'To' field in Notification rule could be changed to:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Form Field Name&amp;lt;br /&amp;gt; (CQ field name)&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | Value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | To&amp;lt;br /&amp;gt; (Msg_To_Users)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''$Submitter.email&amp;lt;br /&amp;gt; GetGroupEmailAddresses( 'CCB_Approvers' )&amp;lt;br /&amp;gt;'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''SQL query and dynamically assigned message priority''' ==&lt;br /&gt;
To simplify defect management, we use assignment or functional group idea.&amp;lt;br /&amp;gt; Defect submitters do not know who is responsible for particular feature, but can guess, what functional area is.&amp;lt;br /&amp;gt; Submitter needs to select Assignment group only.&amp;lt;br /&amp;gt; We need to notify Assignment group manager(s) about new defect assigned to group.&amp;lt;br /&amp;gt; If defect Severity is '1-Critical' or Priority is '1-Resolve Immediately', email message has to be flagged as 'High Priority'.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Possible AssignmentGroups stateless record type implementation: &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 60%; text-align: left&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Name '''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 25%&amp;quot; | SHORT_STRING&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | Unique group name&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Managers&amp;lt;br /&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 25%&amp;quot; | REFERENCE to users&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | group managers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Users&amp;lt;br /&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 25%&amp;quot; | REFERENCE to users&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | group members&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 15%&amp;quot; | '''Active'''&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 25%&amp;quot; | INT&amp;lt;br /&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot; | obsolete groups marked as '0', valid groups as '1'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; ''Defect'' record type has Assigned_To_Group field (reference to ''AssignmentGroups''). &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Form Field Name&amp;lt;br /&amp;gt; (CQ field name)&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | Value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt; (name)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Notify Group Managers (any unique name)&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Record Type&amp;lt;br /&amp;gt; (Entity_Def)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Field Change&amp;lt;br /&amp;gt; (Field_Change)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Assigned_To_Group&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Priority&amp;lt;br /&amp;gt; (Msg_Priority)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''$Priority''' =~ /^1/ &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; '''$Severity''' =~ /^1/&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | To&amp;lt;br /&amp;gt; (Msg_To_Users)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''SQL(&amp;quot;SELECT T3.email&amp;lt;br /&amp;gt; FROM parent_child_links T1, fielddef T2, users T3, assignmentgroups T4&amp;lt;br /&amp;gt; WHERE T1.parent_dbid = T4.dbid&amp;lt;br /&amp;gt; AND T1.child_dbid = T3.dbid&amp;lt;br /&amp;gt; AND T1.parent_fielddef_id = T2.id&amp;lt;br /&amp;gt; AND T2.name = 'Managers'&amp;lt;br /&amp;gt; AND T4.name = '${Assigned_To_Group}' &amp;quot;)&amp;lt;br /&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Subject&amp;lt;br /&amp;gt; (Msg_Subject)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect ''''$ID'''' with severity: ''''$Severity'''' and priority: ''''$Priority'''' has been assigned to your team. Please assign it to somebody in your team.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Body&amp;lt;br /&amp;gt; (Msg_Body)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect ''''$ID'''' has been assigned to your team. &amp;lt;br /&amp;gt; Please assign Defect to somebody in your team or re-assign it to another team if initial assignment was incorrect.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Defect title: ''''$Headline''''&amp;lt;br /&amp;gt; Severity: ''''$Severity''''&amp;lt;br /&amp;gt; Priority: ''''$Priority''''&amp;lt;br /&amp;gt; Description: &amp;lt;br /&amp;gt;'''$Description'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;http://newcqweb-server/cqweb/main?USE_CASE=GO&amp;amp;service=CQ&amp;amp;schema=DBSET&amp;amp;contextid=&amp;lt;/nowiki&amp;gt;'''GetCurrentDatabaseName()'''&amp;amp;entityID='''${dbid}'''&amp;amp;entityDefName=Defect&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Using original field value''' ==&lt;br /&gt;
Starting version 1.4, original value can be accessed using '''GetFieldOriginalValue''' package-defined function, but this example can be used in earlier versions of the package.&lt;br /&gt;
Notify assignee that defect priority assigned to him has been raised. Valid priorities are '1- something', '2 - something', etc. That simplifies comparison.&amp;lt;br /&amp;gt; Lets create user-defined function that retrieves previous value for field.&amp;lt;br /&amp;gt; udb_property record&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | nm_value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | GetFieldOriginalValue&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
  my $name = shift;&lt;br /&gt;
  my $value = '' ;&lt;br /&gt;
  eval {&lt;br /&gt;
    $value = $entity-&amp;gt;GetFieldOriginalValue($name)-&amp;gt;GetValue();&lt;br /&gt;
  };&lt;br /&gt;
  $@ = '';&lt;br /&gt;
  return $value;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Notification rule:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Form Field Name&amp;lt;br /&amp;gt; (CQ field name)&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | Value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt; (name)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Priority has been raised - notify assignee&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Record Type&amp;lt;br /&amp;gt; (Entity_Def)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Field Change&amp;lt;br /&amp;gt; (Field_Change)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Priority&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Condition&amp;lt;br /&amp;gt; (Msg_Condition)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''$Priority''' gt '''GetFieldOriginalValue('Priority')'''&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | To&amp;lt;br /&amp;gt; (Msg_To_Users)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''$owner.email&amp;lt;br /&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Subject&amp;lt;br /&amp;gt; (Msg_Subject)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Priority has been raised for defect ''''$ID'''' from ''''GetFieldOriginalValue('Priority')' '''to ''''$Priority''''&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Body&amp;lt;br /&amp;gt; (Msg_Body)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Priority has been raised for defect ''''$ID'''' from ''''GetFieldOriginalValue('Priority')' '''to ''''$Priority''''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; Defect title: ''''$Headline''''&amp;lt;br /&amp;gt; Severity: ''''$Severity''''&amp;lt;br /&amp;gt; Priority: ''''$Priority''''&amp;lt;br /&amp;gt; Description: &amp;lt;br /&amp;gt;'''$Description'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;http://newcqweb-server/cqweb/main?USE_CASE=GO&amp;amp;service=CQ&amp;amp;schema=DBSET&amp;amp;contextid=&amp;lt;/nowiki&amp;gt;'''GetCurrentDatabaseName()'''&amp;amp;entityID='''${dbid}'''&amp;amp;entityDefName=Defect&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Sending HTML Emails''' ==&lt;br /&gt;
We need to specify proper '''content type''' in the message header (&amp;quot;Header add-in&amp;quot; field). When it is done, we can use HTML in the message body, highlighting text, using different fonts and colors, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Notification rule:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Form Field Name&amp;lt;br /&amp;gt; (CQ field name)&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | Value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt; (name)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | My first HTML email&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Record Type&amp;lt;br /&amp;gt; (Entity_Def)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Header add-in&amp;lt;br /&amp;gt; (Msg_Header)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''Content-Type: text/html; charset=us-ascii'''&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | To&amp;lt;br /&amp;gt; (Msg_To_Users)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''$owner.email&amp;lt;br /&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Subject&amp;lt;br /&amp;gt; (Msg_Subject)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | HTML test message for defect ''''$ID''''&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Body&amp;lt;br /&amp;gt; (Msg_Body)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt; &amp;lt;BODY&amp;gt;&lt;br /&gt;
&amp;lt;H2 ALIGN=&amp;quot;left&amp;quot;&amp;gt;$EntityDefName $ID&amp;lt;/H2&amp;gt;&lt;br /&gt;
&amp;lt;TABLE ALIGN=&amp;quot;left&amp;quot; BORDER=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;b&amp;gt;ID&amp;lt;/b&amp;gt; &amp;lt;/TD&amp;gt; &amp;lt;TD&amp;gt;$id &amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;b&amp;gt;headline&amp;lt;/b&amp;gt;&amp;lt;/TD&amp;gt; &amp;lt;TD&amp;gt;$Headline&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;b&amp;gt;Priority&amp;lt;/b&amp;gt;&amp;lt;/TD&amp;gt; &amp;lt;TD&amp;gt;$Priority&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;b&amp;gt;Severity&amp;lt;/b&amp;gt;&amp;lt;/TD&amp;gt; &amp;lt;TD&amp;gt;$Severity&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;b&amp;gt;Description&amp;lt;/b&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;TD&amp;gt;&amp;lt;PRE&amp;gt;$Description&amp;lt;/PRE&amp;gt; &amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt; &amp;lt;/BODY&amp;gt; &amp;lt;/HTML&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Sending Emails with Attachments''' ==&lt;br /&gt;
&lt;br /&gt;
Fist of all, it is not recommended to attach large files to email messages. It might significantly impact your application performance.&lt;br /&gt;
It would work better if you could send an URL to the record, or the file, but sometimes, attaching files to emails is the only solution.&lt;br /&gt;
&lt;br /&gt;
In this case, we will define two supplementary functions: one to check for attachments, and another to add attachments to email.&lt;br /&gt;
&amp;lt;br /&amp;gt; udb_property records:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | nm_value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | RT_HasAttachments&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt; &lt;br /&gt;
# checks for attachment on current entity&lt;br /&gt;
# returns true or false respectively&lt;br /&gt;
my ($result, $i);&lt;br /&gt;
my $att_fields = $entity-&amp;gt;GetAttachmentFields();&lt;br /&gt;
# check for attachments in all Attachment type fields&lt;br /&gt;
for($i = 0; $i &amp;lt; $att_fields-&amp;gt;Count(); $i++ ){&lt;br /&gt;
  my $att_field = $att_fields-&amp;gt;Item($i);&lt;br /&gt;
  if($att_field-&amp;gt;GetAttachments()-&amp;gt;Count() &amp;gt; 0 ){&lt;br /&gt;
    $result = 1; # attachment exists&lt;br /&gt;
    last;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
# TRUE if current record has attachment&lt;br /&gt;
return $result; &amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | RT_InsertAttachments&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
# add attachments to email&lt;br /&gt;
require MIME::Base64;&lt;br /&gt;
my ($result, $tmp, $attachments, $attachment, $file, $tmpfile, $nload, $i, $k, $num);&lt;br /&gt;
&lt;br /&gt;
# get all fields of attachment type&lt;br /&gt;
my $att_fields = $entity-&amp;gt;GetAttachmentFields();&lt;br /&gt;
my $dbid = $entity-&amp;gt;GetFieldValue('dbid')-&amp;gt;GetValue();&lt;br /&gt;
&lt;br /&gt;
# create unique boundary separator&lt;br /&gt;
my $boundary = &amp;quot;Boundary_($dbid)&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# get temporary directory location where to extract attachments&lt;br /&gt;
$tmp .= '/' if (($tmp = $ENV{TMP}) ne '' || ($tmp = $ENV{TEMP}) ne '');&lt;br /&gt;
$tmp = '/tmp/' if ( $tmp eq '' &amp;amp;&amp;amp; $^O ne 'MSWin32' );&lt;br /&gt;
&lt;br /&gt;
for($i = 0; $i &amp;lt; $att_fields-&amp;gt;Count(); $i++ ){&lt;br /&gt;
  # for all attachment fields:&lt;br /&gt;
  my $att_field = $att_fields-&amp;gt;Item($i);&lt;br /&gt;
  if( ($num = ($attachments = $att_field-&amp;gt;GetAttachments())-&amp;gt;Count()) &amp;gt; 0 ){&lt;br /&gt;
    for($k=0; $k &amp;lt; $num; $k++){&lt;br /&gt;
      # for all attachments in the field&lt;br /&gt;
      # get attachment&lt;br /&gt;
      $attachment = $attachments-&amp;gt;Item($k);&lt;br /&gt;
      # get the file name&lt;br /&gt;
      $file = $attachment-&amp;gt;GetFileName(); &lt;br /&gt;
      if( $file =~ /[\\\/]/ ){&lt;br /&gt;
        # if the file has path delimiters – it has not been loaded yet&lt;br /&gt;
        # (file attached in current action?)&lt;br /&gt;
        # we can use its original location&lt;br /&gt;
        $tmpfile = $file;&lt;br /&gt;
        # remove path delimiters&lt;br /&gt;
        #  and set ‘do not load’ flag&lt;br /&gt;
        $file =~ s/.*[\\\/]//; &lt;br /&gt;
        $nload = 1;&lt;br /&gt;
      }else{&lt;br /&gt;
        # otherwise - create a temporary file name&lt;br /&gt;
        $tmpfile = &amp;quot;$tmp$dbid.$k.txt&amp;quot;;&lt;br /&gt;
        # unset ‘do not load’ flag&lt;br /&gt;
        $nload = 0;&lt;br /&gt;
      }&lt;br /&gt;
      # load attachment from record into temporary file&lt;br /&gt;
      if( $nload || $attachment-&amp;gt;Load($tmpfile) ){&lt;br /&gt;
        # open the attachment file&lt;br /&gt;
        open(TMPFILE, $tmpfile) or die &amp;quot;Cannot open file '$tmpfile'\n&amp;quot;;&lt;br /&gt;
        # set file handle to binary mode&lt;br /&gt;
        binmode TMPFILE;&lt;br /&gt;
        # unset record delimiter&lt;br /&gt;
        local $/ = undef;&lt;br /&gt;
        # encode content of the file with Base64 encoding&lt;br /&gt;
        my $content = MIME::Base64::encode_base64(&amp;lt;TMPFILE&amp;gt;);&lt;br /&gt;
        # close the file&lt;br /&gt;
        close(TMPFILE);&lt;br /&gt;
        # and delete it, if it was a temporary file&lt;br /&gt;
        # created to save the attachment&lt;br /&gt;
        unlink($tmpfile) unless $nload;&lt;br /&gt;
          &lt;br /&gt;
        # add header and encoded attachment to the message&lt;br /&gt;
        $result .= &amp;quot;&lt;br /&gt;
--$boundary&lt;br /&gt;
Content-type: application/octet-stream&lt;br /&gt;
Content-transfer-encoding: base64&lt;br /&gt;
Content-disposition: attachment; filename=$file&lt;br /&gt;
&lt;br /&gt;
$content\n&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
# return encoded attachment&lt;br /&gt;
return $result;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Email_Notification_Rule fields:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Form Field Name&amp;lt;br /&amp;gt; (CQ field name)&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | Value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt; (name)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Sample notification with attachments&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Record Type&amp;lt;br /&amp;gt; (Entity_Def)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Header Add-in&amp;lt;br /&amp;gt; (Msg_Header)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |  &amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;IF( RT_HasAttachments(), &amp;quot;MIME-Version: 1.0&lt;br /&gt;
Content-type: multipart/mixed;&lt;br /&gt;
 boundary=\&amp;quot;Boundary_\($dbid)\&amp;quot;&amp;quot;)&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | To&amp;lt;br /&amp;gt; (Msg_To_Users)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | '''$Submitter.email'''&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Subject&amp;lt;br /&amp;gt; (Msg_Subject)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Defect ''''$ID'''' has been '''${state}'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Body&amp;lt;br /&amp;gt; (Msg_Body)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |  &amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;IF( RT_HasAttachments(), &amp;quot;--Boundary_\($dbid)&lt;br /&gt;
Content-type: text/plain; charset=us-ascii&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Defect $ID&lt;br /&gt;
Headline: $Headline&lt;br /&gt;
Description: $Description&lt;br /&gt;
&lt;br /&gt;
RT_InsertAttachments() &amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Sending Consolidated Queries or Reports Using Timed Notification''' ==&lt;br /&gt;
Timed notification was created to trigger alerts for individual records, but can it be used to send consolidated reports? &lt;br /&gt;
There are few ways to achieve it. If you are using CQWeb 7.1 or later, you can employ data-pull reports and send URL to the users. No notification would be ever required in this case.&lt;br /&gt;
Another way would be to create scheduled notification to run some queries (or reports) and send results to the users.&lt;br /&gt;
First of all, I would like to create new record type, scheduled_queries, that might look like this&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Field Name&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Field Type&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | '''Name'''&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | SHORT_STRING&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |  unique identifier of the scheduled query&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | '''Frequency'''&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | SHORT_STRING&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |  choice list: daily, weekly, monthly, etc&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | '''Active'''&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | INT&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |  active/inactive 1/0 checkbox to deactivate entry without removing it from the database&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | '''Path'''&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | MULTILINE_STRING&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |  path to the query in the workspace. Multiline type is preferred to avoid 254 symbols limitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
After creating the record type, applying Email Notification package to the record, and upgrading user database, you can configure timed notifications for the new record type. The scope can include all active records of the new record type. No condition is required. The following user-defined function can be used to execute query and extract query result in the form of HTML table (we can call it &amp;quot;RETURN_QUERY_RESULTS_AS_HTML_TABLE&amp;quot;):&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | nm_value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | RETURN_QUERY_RESULTS_AS_HTML_TABLE&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $query_path = shift;&lt;br /&gt;
&lt;br /&gt;
# change path to UNIX style&lt;br /&gt;
$query_path =~ s/\\+/\//g;&lt;br /&gt;
# resulting HTML table&lt;br /&gt;
my $table = &amp;quot;&amp;lt;TABLE BORDER=\&amp;quot;1\&amp;quot; CELLPADDING=\&amp;quot;10\&amp;quot;&amp;gt;\n&amp;quot;;&lt;br /&gt;
# query fields&lt;br /&gt;
my @fields     = ();&lt;br /&gt;
# get workspace&lt;br /&gt;
my $ws         = $session-&amp;gt;GetWorkSpace();&lt;br /&gt;
# get query definition&lt;br /&gt;
my $qdef       = $ws-&amp;gt;GetQueryDef($query_path);&lt;br /&gt;
my $field_defs = $qdef-&amp;gt;GetQueryFieldDefs();&lt;br /&gt;
my $count      = $field_defs-&amp;gt;Count();&lt;br /&gt;
for( my $i = 1; $i &amp;lt; $count; $i++ ){&lt;br /&gt;
  my $field_def = $field_defs-&amp;gt;Item($i);&lt;br /&gt;
  my $name      = $field_def-&amp;gt;GetLabel();&lt;br /&gt;
  my $type      = $field_def-&amp;gt;GetFieldType();&lt;br /&gt;
  push(@fields, { name =&amp;gt; $name, type =&amp;gt; $type });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Create Table Header row&lt;br /&gt;
$table .= '&amp;lt;TR&amp;gt;';&lt;br /&gt;
foreach my $field (@fields){&lt;br /&gt;
  $table .= &amp;quot;&amp;lt;TH&amp;gt;&amp;lt;b&amp;gt;$field-&amp;gt;{name}&amp;lt;/b&amp;gt;&amp;lt;/TH&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
$table .= &amp;quot;&amp;lt;/TR&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# execute query&lt;br /&gt;
my $resultset = $session-&amp;gt;BuildResultSet($qdef);&lt;br /&gt;
$resultset-&amp;gt;Execute();&lt;br /&gt;
&lt;br /&gt;
# create data rows&lt;br /&gt;
while( $resultset-&amp;gt;MoveNext() == $CQPerlExt::CQ_SUCCESS ){&lt;br /&gt;
  $table .= '&amp;lt;TR&amp;gt;';&lt;br /&gt;
  for( my $i = 2; $i &amp;lt;= $count; $i++ ){&lt;br /&gt;
    my $value = $resultset-&amp;gt;GetColumnValue($i);&lt;br /&gt;
    $table .= &amp;quot;&amp;lt;TD&amp;gt;$value&amp;lt;/TD&amp;gt;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  $table .= &amp;quot;&amp;lt;/TR&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$table .= &amp;quot;&amp;lt;/TABLE&amp;gt;\n&amp;quot;;&lt;br /&gt;
#return HTML table&lt;br /&gt;
$@ = '';&lt;br /&gt;
return $table;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Then we can use it in the timed notification rule body field, something like:&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Form Field Name&amp;lt;br /&amp;gt; (CQ field name)&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | Value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Header Add-in&amp;lt;br /&amp;gt; (Msg_Header)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |  &amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Content-type: text/plain; charset=us-ascii&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Body&amp;lt;br /&amp;gt; (Msg_Body)&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |  &amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt;&amp;lt;BODY&amp;gt;&lt;br /&gt;
something you would like to to say about scheduled query $Name&lt;br /&gt;
RETURN_QUERY_RESULTS_AS_HTML_TABLE($Path)&lt;br /&gt;
&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Timed Notification triggers the rule, all query records are selected, query executed and formatted as HTML table, and email is sent to the users.&lt;br /&gt;
From that moment, it is easy to maintain: you can add new scheduled queries just by submitting new records of the &amp;quot;scheduled queries&amp;quot; record type and specifying new query path, and you can update content of the emails by editing queries in the workspace.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Notification_1.6_Release_Notes&amp;diff=241</id>
		<title>Email Notification 1.6 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Notification_1.6_Release_Notes&amp;diff=241"/>
		<updated>2013-02-01T14:44:05Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Email Notification Package 1.5'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Release Notes'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
&lt;br /&gt;
=== Support for Non-ASCII code pages ===&lt;br /&gt;
Safe support of non-ascii code pages was added, with few limitations.&lt;br /&gt;
&lt;br /&gt;
==== Using non-ascii field names ====&lt;br /&gt;
Currently, the parser does not provide full support non-ascii characters in field names using variable-like notation. For instance, the following field name would not be recognized: '''${моё_самое_любимое_имя}'''. One of the possible workarounds is to use '''GetFieldValue''' function to access such fields in email notification rules. For instance, in my example, I could use the following syntax: '''GetFieldValue('моё_самое_любимое_имя')'''&lt;br /&gt;
&lt;br /&gt;
==== Using non-ascii characters in message envelope ====&lt;br /&gt;
Using non-ascii characters email envelope is permitted. Nevertheless, you might hit some limitations in your environment. Please check the following page for details: [[Email_Envelope_and_UTF-8 | Non-ASCII Characters in Email]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
=== ClearQuest client version ===&lt;br /&gt;
The package can be used with ClearQuest 7.0.0 or later. Earlier versions are supported in version 1.5 only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other Notes ==&lt;br /&gt;
=== Supplementary scripts ===&lt;br /&gt;
Supplementary script, such as Delivery Script for Queue delivery mode and Timed Notification script for reminders, need to be updated in order to support non-ascii databases. New versions are available for download from [http://store.cqadmin.com/index.php/clearquest.html CQAdmin store].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Read More ==&lt;br /&gt;
* [[Email_Notification_1.5_Release_Notes | Email Notification Package Release 1.5 Notes]]&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package | ClearQuest Email Notification Package]]&lt;br /&gt;
* [[Package_configuration | Package configuration guide]]&lt;br /&gt;
* [[ClearQuest_Email_Notification_Package_FAQ | Frequently Asked Questions ]]&lt;br /&gt;
* [[Notification_Examples | Examples]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
[http://cqadmin.org/wiki/Download Download Package]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=Email_Envelope_and_UTF-8&amp;diff=240</id>
		<title>Email Envelope and UTF-8</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=Email_Envelope_and_UTF-8&amp;diff=240"/>
		<updated>2013-02-01T14:43:41Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''Support of National Charsets'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== International Characters in Email Messages ==&lt;br /&gt;
Most of the modern email clients support national character in the email body. Encoding can be specified in the message envelope using '''Content-Type''' header. For instance, the following line added to the message header would inform email client that email body should be treated as HTML using UTF-8 character set.&lt;br /&gt;
 Content-Type: text/html; charset=utf-8&lt;br /&gt;
&lt;br /&gt;
Nevertheless, what do we suppose to do with international characters in the message envelope, such as email subject or &amp;quot;From&amp;quot; email address? Depending on your environment, there are few options.&lt;br /&gt;
&lt;br /&gt;
=== Transfer unicode characters in UTF-8 ===&lt;br /&gt;
While it was not originally supported in SMTP protocol, using UTF-8 encoding in message envelopes became standard de facto, and eventually was documented in RFCs extending SMTP protocol. &lt;br /&gt;
In most of the environments, and for most of the modern email clients it is safe to assume that UTF-8 content can be transferred as-is, and it is default behavior for the Email Notification package. Nevertheless, you still need to specify character set using '''Content-Type''' header as described above.&lt;br /&gt;
&lt;br /&gt;
=== Transcoding unicode characters ===&lt;br /&gt;
In some rare cases when email client or email server cannot handle UTF-8 encoded characters in the message envelope, a workaround documented in the [http://tools.ietf.org/html/rfc2047|RFC 2047] can be used.&lt;br /&gt;
The following is an example of user-defined function that can be used to encode UTF-8 strings using Base64 encoding and presenting it in the format specified in the RFC.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | Name&amp;lt;br /&amp;gt;&lt;br /&gt;
! valign=&amp;quot;top&amp;quot; | nm_value&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; valign=&amp;quot;top&amp;quot; | RT_Encode_Envelope&amp;lt;br /&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;my $string = shift;&lt;br /&gt;
&lt;br /&gt;
require utf8;&lt;br /&gt;
require MIME::Base64;&lt;br /&gt;
&lt;br /&gt;
utf8::encode($string);&lt;br /&gt;
$string = MIME::Base64::encode($string);&lt;br /&gt;
&lt;br /&gt;
return &amp;quot;=?UTF-8?B?$string?=&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
When udb_property record is submitted, this user-defined function can be used to safely encode envelope fields that can contain unicode characters, for instance message subject:&lt;br /&gt;
 RT_Encode_Envelope(&amp;quot;Defect $ID - $headline&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
	<entry>
		<id>https://cqadmin.org/w/index.php?title=ClearQuest_Email_Subscription&amp;diff=239</id>
		<title>ClearQuest Email Subscription</title>
		<link rel="alternate" type="text/html" href="https://cqadmin.org/w/index.php?title=ClearQuest_Email_Subscription&amp;diff=239"/>
		<updated>2013-02-01T14:42:30Z</updated>

		<summary type="html">&lt;p&gt;Paul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;'''ClearQuest Email Subscription'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can allow users to manage their email notification rules subscription preferences. This functionality is delivered with optional EmailSubscription package. It can be used as-is, enhanced, or taken as an example to implement your own, more sophisticated end-user subscription solution.&lt;br /&gt;
For example, you have constant request from users to be notified about new defects. In order to avoid excessive administrative task, you can open Email Notification rule for self-subscription. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Notification Rule ===&lt;br /&gt;
In our example, Email notification rule record would trigger a notification when new defect is created, by &amp;quot;Submit&amp;quot; action. We can either leave recipients list empty, or specify emails where the notification would be sent regardless of subscription. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create Email Subscription Record ===&lt;br /&gt;
When Email Notification Rule exists, it can be opened for end-users self-subscription by creating Email Subscription record. You can give the record descriptive name, for example, &amp;quot;New Defects Subscription&amp;quot; and specify email notification rule. When record is committed, '''ES_GetSubscribersEmails()''' function will be added in the '''To:''' field of Email Notification Rule. You can update Email Notification Rule to move ES_GetSubscribersEmails() to CC or BCC fields if necessary.&lt;br /&gt;
&lt;br /&gt;
End users can manage their subscription by using '''Subscribe_Me''' or '''Unsubscribe_Me''' actions on the correspondent Email_Subscription record.&lt;br /&gt;
&lt;br /&gt;
More than one Notification Rule can be associated with Email Subscription record.&lt;br /&gt;
&lt;br /&gt;
In multisited environment, Email Subscription record needs to be created for each site where subscription is enabled: end users would be able to update subscription records that are mastered on their local site only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ClearQuest_Email_Notification_Package | Back to the package page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rational]] [[Category:ClearQuest]] [[Category:Email_Notification_Package]]&lt;/div&gt;</summary>
		<author><name>Paul</name></author>
		
	</entry>
</feed>