ColdFusion 9.0 Resources |
cfexchangecontactDescriptionCreates, deletes, modifies, and gets Microsoft Exchange contact records, and gets contact record attachments. Syntaxcreate <cfexchangecontact required action = "create" contact = "#contact information structure#" optional connection = "connection ID" result = "variable for contact UID"> delete <cfexchangecontact required action = "delete" uid = "contact UID,contact UID, ..." optional connection = "connection ID"> deleteAttachments <cfexchangecontact required action = "deleteAttachments" uid = "contact UID" optional connection = "connection ID"> get <cfexchangecontact required action = "get" name = "query identifier" optional connection = "connection ID"> getAttachments <cfexchangecontact required action = "getAttachments" name = "query identifier" uid = "contact UID" optional attachmentPath = "directory path" connection = "connection ID" generateUniqueFilenames = "no|yes"> modify <cfexchangecontact required action = "modify" contact = "#contact information structure#" uid = "contact UID" optional connection = "connection ID>" Note: If
you omit the connection attribute, create a temporary
connection by specifying cfexchangeconnection tag
attributes in the cfexchangecontact tag. In this
case, ColdFusion closes the connection when the tag completes. For
details, see the cfexchangeconnection tag open action.
Note: You can specify this tag’s attributes in an attributeCollection attribute
whose value is a structure. Specify the structure name in the attributeCollection attribute
and use the tag’s attribute names as structure keys.
See alsocfexchangecalendar, cfexchangeconnection, cfexchangefilter, cfexchangemail, cfexchangetask, Interacting with Microsoft Exchange Servers in the Developing ColdFusion Applications Attributes
When you specify the create or modify action, the contact attribute must specify a structure that contains information that defines the events. The structure can have the following elements. Include only the elements that you are setting or changing.
All fields except the BusinessAddress, HomeAddress, and OtherAddress fields contain text; the three address fields must contain structures with the following text fields:
The Attachments field must contain the pathnames of any attachments to include in the contact. To specify multiple files, separate filepaths with semicolons (;) for Windows, and colons (:) for UNIX and Linux. Use absolute paths. If you specify one or more attachments for a modify action, they are added to any existing attachments; the pre-existing attachments are not deleted. The Categories field can have a comma-delimited list of the contact’s categories. If you do not specify a DisplayAs field, Exchange sets the display name to FirstName, LastName. UsageThe cfexchangecontact tag manages contact records on the Exchange server. Use the cfexchangecontact tag to perform the following actions:
To use this tag, you must have a connection to an Exchange server. If you are using multiple tags that interact with the Exchange server, such as if you are creating several contact records, use the cfexchangeconnection tag to create a persistent connection. You then specify the connection identifier in each cfexchangecontact, or any other ColdFusion Exchange tag, if you are also accessing tasks, contacts, or mail. Doing this eliminates the overhead of creating and closing the connection for each tag. Alternatively, you can create a temporary connection that lasts only for the time that ColdFusion processes the single cfexchangecontact tag. To do this, you specify the connection attributes directly in the cfexchangecontact tag. For details on the connection attributes, see the cfexchangeconnection tag open action. attachmentPath attributeUse the following syntax to specify an in-memory attachmentPath directory. In-memory files are not written to disk and speed processing of transient data. attachmentpath = "ram:///filepath" The path can include multiple directories, for example ram:///petStore/orders/messageAttachments. Create all directories in the path before you specify the file. For more information on using in-memory files, see Optimizing transient files in the Developing ColdFusion Applications. The delete actionWhen you specify the delete action you must specify a uid attribute with a comma-delimited list of one or more Exchange UIDs that identify the contacts to delete. You can use the get action, with an appropriate filter expression, to determine the UID values to specify. If all UIDs that you specify are invalid, the cfexchangecontact tag generates an error. If at least one UID is valid, the tag ignores any invalid UIDs and deletes the items specified by the valid UID. The get actionWhen you specify the get action, the query object specified by the name attribute contains one record for each retrieved contact. The query object has columns with the same names and data formats as the fields listed for the contact attribute structure, with the following changes:
You use child cfexchangefilter tags to specify the messages to get. For detailed information, see cfexchangefilter. The getAttachments actionWhen you use the getAttachments action, specify a single UID and a name attribute. The cfexchangecontact tag populates a query object with the specified name. Each record has the following information about an attachment to the contact specified by the UID:
The tag places the attachments in the directory specified by the attachmentPath attribute. If you omit the attachmentPath attribute, ColdFusion does not get any attachments, it gets the information about the attachments. This lets you determine the attachments without incurring the overhead of getting the attachment files. Use the following syntax to specify an in-memory attachmentPath directory. In-memory files are not written to disk and speed processing of transient data. attachmentpath = "ram:///path" The path can include multiple directories, for example ram:///petStore/orders/messageAttachments. Create all directories in the path before you specify the file. For more information on using in-memory files, see Optimizing transient files in the Developing ColdFusion Applications. The getAttachments action works only if authentication for EWS (Exchange Web Services) is set to basic in the server setup of Exchange. IWA (Integrated Windows Authentication) is not supported. The modify actionIf you specify the modify action, the uid attribute must specify a single Exchange UID. The contact structure must specify only the fields that you are changing. Any fields that you do not specify remain unchanged. If a contact has attachments and you specify attachments when you modify the contact, the new attachments are added to the previous attachments, and do not replace them. Use the deleteAttachments action to remove any attachments. ExampleThe following example lets a user enter information in a form and creates a contact on the Exchange server with the information: <!--- Create a structure to hold the contact information. ---> <cfset sContact="#StructNew()#"> <!--- A self-submitting form for the contact information ---> <cfform format="flash" width="550" height="460"> <cfformitem type="html"><b>Name</b></cfformitem> <cfformgroup type="horizontal" label=""> <cfinput type="text" label="First" name="firstName" width="200"> <cfinput type="text" label="Last" name="lastName" width="200"> </cfformgroup> <cfformgroup type="VBox"> <cfformitem type="html"><b>Address</b></cfformitem> <cfinput type="text" label="Company" name="Company" width="435"> <cfinput type="text" label="Street" name="street" width="435"> <cfinput type="text" label="City" name="city" width="200"> <cfselect name="state" label="State" width="100"> <option value="CA">CA</option> <option value="MA">MA</option> <option value="WA">WA</option> </cfselect> <cfinput type="text" label="Country" name="Country" width="200" Value="U.S.A."> <cfformitem type="html"><b>Phone</b></cfformitem> <cfinput type="text" validate="telephone" label="Business" name="businessPhone" width="200"> <cfinput type="text" validate="telephone" label="Mobile" name="cellPhone" width="200"> <cfinput type="text" validate="telephone" label="Fax" name="fax" width="200"> <cfformitem type="html"><b>Email</b></cfformitem> <cfinput type="text" validate="email" name="email" width="200"> </cfformgroup> <cfinput type="Submit" name="submit" value="Submit" > </cfform> <!--- If a form was submitted, populate the contact structure from it. ---> <cfif isDefined("Form.Submit")> <cfscript> sContact.FirstName=Form.firstName; sContact.Company=Form.company; sContact.LastName=Form.lastName; sContact.BusinessAddress.Street=Form.street; sContact.BusinessAddress.City=Form.city; sContact.BusinessAddress.State=Form.state; sContact.BusinessAddress.Country=Form.country; sContact.BusinessPhoneNumber=Form.businessPhone; sContact.MobilePhoneNumber=Form.cellPhone; sContact.BusinessFax=Form.fax; sContact.Email1=Form.email; </cfscript> <!--- Create the contact in Exchange ---> <cfexchangecontact action="create" username ="#user1#" password="#password1#" server="#exchangeServerIP#" contact="#sContact#" result="theUID"> <!--- Display a confirmation that the contact was added. ---> <cfif isDefined("theUID")> <cfoutput>Contact Added. UID is#theUID#</cfoutput> </cfif> </cfif> |