Example | Synchronizing Additional Appointment Fields
An example illustrates how to synchronize additional text information from Aurea CRM to a user defined field in Outlook appointments and vice versa.
Assumption: You have created a (generic) field Text_New
for the MA
table in Aurea CRM and added a text field Additional Information
for meetings in
Outlook.
The realization consists on the following steps:
- Adding the additional field to forms.xml. You have to add the field
Aurea CRM
Text_New
to ensure that this field is exchanged during synchronization.Add
<field fieldname='Text_New'/>
to the<form type="vevent"><table tablename="Contact">
section.<form type='vevent'> <table tablename='Contact'> <field fieldname='StatNo'/> <field fieldname='SeqNo'/> ... <field fieldname='Text_New'/> </table> ... </form>
- Adding the additional field to the style sheet SyncML_gw2mm.xslt.
Add the nodes listed below to the
<xsl:template name='Convertvevent'> <!--other fields-->
section:<xsl:template name='Convertvevent'> ... <!--other fields--> <xsl:if test='syncml:Text_New'> <xsl:element name='field'> <xsl:attribute name='name'>Text_New</xsl:attribute> <xsl:attribute name='tablename'>Contact</xsl:attribute> <xsl:attribute name='fieldname'>Text_New</xsl:attribute> <xsl:value-of select='syncml:Text_New'/> </xsl:element> </xsl:if>
- Adding the additional field to the style sheet SyncML_mm2gw.xslt.
Add the nodes listed below to the
<xsl:template name='ConvertContact'>
section:<xsl:template name='ConvertContact'> <!--Reminder--> ... <!—Reminder end --> <xsl:if test='syncml:Text_New'> <xsl:element name='Text_New' namespace='SYNCML:SYNCML1.1'> <xsl:value-of select='syncml:Text_New'/> </xsl:element> </xsl:if> ...
- Adding the additional field to the mapping table
FieldMapping.xml.
Add the field to the "mappable fields" list:
<Appointments> <MappableFields> <FieldExtName MapFieldID="1" MSExFieldName="Additional Information"/> </MappableFields> <FieldMapping> <Map UpdFieldName = "Text_New" MapFieldID="1"/> </FieldMapping> </Appointments>
Note: In case you want to map a field, which is part of the standard EWS field schema (e.g. "location" you have to use the following convention to declare the field:<FieldFullName MapFieldID="1" MSExFieldFullName="Location" OLDisplName="Location"/>
For user defined fields, connector assumes that they are of type
PT_TSTRING
if there is noMSExFieldType
attribute specified. - Restart CRM.interface application pool and connector service.