Auto Recipient Criteria

Auto Recipient criteria enable you to automatically address and deliver reports and subreports to destinations defined in either the Cypress Address Book or the Windows Active Directory.

You can format your Auto Recipient criteria to search for Cypress recipients or users defined in the Windows Active Directory. You can include the criteria in your subreports using the recipient (shortcut: rcp) InLine command (see Using the Recipient InLine Command) or enter Auto Recipient criteria from the Destination tab of a subreport definition (see To configure a subreport’s Auto Recipient criteria using the Destination tab).

Using Cypress Recipient Criteria

To distribute a subreport to one or more Cypress recipients

  • Use this syntax:

<Destination Criteria> <DocuVault Criteria> <Recipient Selection Criteria> <Notify Criteria>

where:

<Destination Criteria> specifies the type of destination to which Cypress should send the subreport.

<DocuVault Criteria> specifies the DocuVault whose Address Book you want to search for recipients.

<Selection Criteria> specifies the recipients to whom you want to send the subreport.

<Notify Criteria> specifies the type of e-mail notification messages you want to send when Cypress distributes the documents.

Only destination and selection criteria are required; DocuVault and notify criteria are optional.

Using Destination Criteria

This is the general syntax for destination criteria:

To create a destination criteria expression that sends documents to a particular destination type

  • Use this syntax:

select <destination type>

where <destination type> is one of these values:

printer
fax
email
inbox

To create a destination criteria expression that sends documents to any destination type

  • Use this syntax:

select any <destination type>

where <destination type> is one of these values:

printer
fax
email
inbox

If you do not specify a destination type, Cypress sends the subreport to the single highest priority device defined for a recipient.

To use more than one of the destination types, enclose the types in parentheses and separate them with commas. Both of these expressions are valid examples of destination criteria:

select any

select any (printer, email)

To create a destination criteria expression that sends documents to multiple destination types

  • Use this syntax:

select all <destination type>

where <destination type> is a combination of these values:

printer
fax
email
inbox

If you do not specify any destination types, Cypress sends the subreport to all devices defined for a recipient.

To use more than one of the destination types, enclose the types in parentheses and separate them with commas. Both of these expressions are valid examples of destination criteria:

select all

select all (printer, email)

Note the difference between select any and select all.

The statement select any (printer, email) will deliver a subreport to a printer or e-mail device defined for each recipient. Cypress will choose the device with the higher priority for each recipient.
The statement select all (printer, email) will deliver a copy of the subreport to the highest priority printer and the highest priority e-mail device defined for each recipient.

Using DocuVault Criteria

This is the general syntax for Auto Recipient DocuVault criteria:

To specify the DocuVault or DocuVaults that hold the Address Book whose recipients you want to search

  • Use this syntax:

from DocuVault ("<DV Name>")

Or  

from DV ("<DV Name>")

where <DV Name> is the name of the DocuVault with the appropriate Address Book.

If you want to search the Address Books of multiple DocuVaults, you can separate the names of the DocuVaults with commas. Enclose each DocuVault name in quotation marks.

These expressions are valid examples of DocuVault criteria:

from DocuVault ("ABC_DocuVault")

from DV ("ABC_DocuVault")

from DV ("ABC_DocuVault", "XYZ_DocuVault")

Using Selection Criteria

This is the general syntax for Auto Recipient selection criteria:

This is the syntax for <Recipient Selection>:

This is the syntax for <Location Selection>:

This is the syntax for <Attribute Criteria>:

To create a recipient selection criteria expression

  • Use this syntax:

recip (<Attribute>)

Or  

recipient (<Attribute>)

where <Attribute> is a string of valid attribute criteria expressions connected by the Boolean operators AND and/or OR.

These examples show valid recipient selection criteria:

where recipient ([job_title] = "Department Manager")

and recipient ([region] != "United States")

where recipient ([organization] = "Administration"

or [organization] = "Facilities")

where recipient ([organization] = org_var)

To create a location selection criteria expression

loc (<Attribute>)

Or  

location (<Attribute>)

where <Attribute> is a string of valid attribute criteria expressions connected by the Boolean operators AND and/or OR.

These examples show valid location selection criteria:

where location ([region] != rpt_region)

where location ([region] = "Midwest" or [region] = "Southeast")

where location ([region] = "Midwest") and location ([office] = "Sales")

You also can combine recipient and location criteria in one selection criteria expression, for example:

where recipient ([organization] = "Administration" or

[organization] = "Facilities") and location ([region] = "Midwest")

Using Notify Criteria

This is the general syntax for Auto Recipient notify criteria:

This is the syntax for <Recipient Notification>:

This is the syntax for <Sender Notification>:

This is the syntax for <Basic Notification>:

Although ASG continues to support basic notification to enable backward compatibility, using recipient notification or sender notification criteria is strongly recommended in all future Auto Recipient criteria.

To notify a recipient of a job ticket’s progress

  • Use this syntax:

notify recipient when jtic (<event>)

where <event> is a combination of these values:

create
start_print
finish_print
print_incomplete
stock_wait

If you want to notify a recipient of more than one event, separate the values with commas, for example:

notify recipient when jtic (finish_print, print_incomplete)

To notify a recipient of a document ticket’s progress

  • Use this syntax:

notify recipient when dtic (create)

You can combine job ticket and document ticket notifications, if necessary. Separate the notifications with commas, for example:

notify recipient when jtic (create), dtic (create)

To notify a sender of a job ticket’s progress

  • Use this syntax:

notify sender ("<Sender>") when job (<event>)

where:

<Sender> is the name of the sender in the Cypress Address Book.

<event> is one of these expressions:

failed
completed
failed, completed

Examples of Cypress Recipient Criteria

Example 1

This expression sends the subreport to the highest priority printer of all CompanyABC recipients who have a Department location attribute set to Acct_Payable. It notifies the recipient when the job finishes printing, and notifies the sender when the job fails:

Select printer

from DV ("CompanyABC"}

where loc([Department]=["Acct_Payable"])

notify recipient when jtic (finish_print)

notify sender("Dennis Masters") when job(failed)

Example 2

This expression sends the subreport to the highest priority destination of any type to all recipients who have a Job Title attribute set to Manager, a Department Number attribute set to the distribution ID, and a Report Type location attribute set to Sales. It notifies the recipient either when a document ticket is created or when a job finishes printing:

Select any

where recipient([Job Title]=["Manager"] and

[Department number]=dist_id) and

location([Report Type]=["Sales"])

notify recipient when dtic (create), jtic (finish_print)

Using LDAP Recipient Criteria

This discussion explains how you can format LDAP queries for use with Cypress. It does not provide instructions for creating valid LDAP queries. For information on creating these queries, see msdn.microsoft.com.

To distribute a subreport to one or more users defined in the Windows Active Directory

ldap (<Selection Criteria> <From Criteria> <Where Criteria>

<To Criteria> <Notify Criteria>)

where:

<Selection Criteria> identifies the type of information that you want Cypress to retrieve from the Active Directory.

<From Criteria> specifies the LDAP server on which you want to perform the query.

<Where Criteria> specifies the scope of the Active Directory search and the attributes on which you want to filter the search.

<To Criteria> identifies the e-mail or fax device that you want Cypress to use to distribute the documents.

<Notify Criteria> specifies the conditions under which you want the sender notified of a job’s progress.

Selection criteria, where criteria, and To criteria are required; From criteria and notify criteria are optional.

Using Selection Criteria

This is the general syntax for LDAP selection criteria:

To retrieve a user’s e-mail address from the Active Directory

  • Use this syntax:

select email (<Attribute>)

where <Attribute> is the LDAP attribute that contains the e-mail address. If you do not specify an attribute, Cypress looks for an LDAP attribute called email.

To retrieve a user’s fax number from the Active Directory

  • Use this syntax:

select fax (<Attribute>)

where <Attribute> is the LDAP attribute that contains the fax number. If you do not specify an attribute, Cypress looks for an LDAP attribute called fax.

These examples are all valid LDAP selection criteria expressions:

select email

select fax

select email ("user email")

Using From Criteria

This is the general syntax for LDAP from criteria:

To specify an LDAP server on which you want to perform a query

  • Use this syntax:

from host ( "<LDAP Server>" )

where <LDAP Server> is the DNS name of the Active Directory server.

This example shows a valid LDAP from criteria expression:

from host ("CompanyABC")

Using Where Criteria

This is the general syntax for LDAP where criteria:

To specify the scope of an Active Directory search and set search attributes

where base (<search base>) scope (<scope token>) filter (<query string>)

where:

<search base> is the LDAP node with which you want to begin your search.

<scope token> is one of these values:

basenode, which indicates that you want to search only the specified node.
onelevel, which indicates that you want to search the specified node and all nodes one level below it.
subtree, which indicates that you want to search the entire subtree of the specified node.
<query string> is a valid LDAP query.

These examples are all valid LDAP where criteria expressions:

where base("ABCRoot") scope(basenode) filter

("&(objectCategory=user)(emailAddress=*)")

where base("ABCUsers") scope(onelevel) filter

("|(lastname=A*)(lastname=B*)(lastname=C*)(lastname=D*)")

where base("ABCUsers") scope(subtree) filter ("&(dept=Sales)(fax=*)")

Using To Criteria

This is the general syntax for LDAP to criteria:

To identifying the e-mail or fax device for Cypress to use to distribute the documents

  • Use this syntax:

to device ( <device name> )

where <device name> is the name of the Cypress e-mail or fax device.

The type of device you specify must match the attribute type in your LDAP selection criteria. If you are selecting an e-mail address, you must send the document to an e-mail device; if you are selecting a fax number, you must send the document to a fax device.

These examples are all valid LDAP to criteria expressions:

to device ("ABCEmail\"")
to device (dist_id)
to device("ABCFax.Sales\"")

Using Notify Criteria

This is the general syntax for LDAP notify criteria:

To notify a sender of a job ticket’s progress

notify sender ("<Sender>") when job (<event>)

where:

<Sender> is the name of the sender in the Cypress Address Book.

<event> is one of these expressions:

failed
completed
failed, completed

This example shows a valid LDAP notify criteria expression:

notify sender ("Admin") when job (failed, completed)

Examples of LDAP Criteria

The examples in this section show valid, complete LDAP queries:

Example 1

This expression retrieves the e-mail address attribute emailAddress from the CompanyABC Active Directory. It searches the ABCRoot node for all users with defined e-mail addresses and sends the subreport to each of the users using the ABCEmail e-mail device:

ldap{select email ("emailAddress") from host("CompanyABC")

where base("ABCRoot") scope(basenode) filter

("&(objectCategory=user)(emailAddress=*)") to device("ABCEmail")}

Example 2

This expression retrieves the default e-mail address attribute from the CompanyABC Active Directory. It searches the ABCUsers node and all nodes one level below it for users with last names that begin with A, B, C, or D. It sends the subreport to the users via the ABCEmail device and notifies the RDM administrator if the job fails.

ldap{select email from host("CompanyABC") where

base("ABCUsers") scope(onelevel) filter ("|(lastname=A*)

(lastname=B*)(lastname=C*)(lastname=D*)") to device("ABCEmail")

notify sender ("RDM Admin") when job (failed)}

Example 3

This expression retrieves the default fax number attribute from the CompanyABC Active Directory. It searches the ABCUser node and its entire subtree for users who belong to the Sales department and who have a defined fax number. It sends the subreport to these users via the ABCFax.Sales device and notifies the RDM administrator when the job fails or completes.

ldap{select fax from host("CompanyABC") where

base("ABCUsers") scope(subtree) filter ("&(dept=Sales)(fax=*)")

to device("ABCFax.Sales") notify sender ("Admin")

when job (failed, completed)}