Nov 272007
 

This msdn article is tempting, but the following page does not explain how to use the decoration tags. I have created a sample that uses a resx file, but also show how to use decoration tags (there are three groups BAM, Polling, and Server, coupled with a password entry)

<?xml version="1.0" encoding="utf-16"?> <xs:schema xmlns:baf="BiztalkAdapterFramework.xsd" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" targetNamespace="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import namespace="BiztalkAdapterFramework.xsd" /> <xs:element name="Config"> <xs:complexType> <xs:sequence> <xs:element name="BAMServer" type="xs:string"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="BAMServerName">Edit this field in the resource file</baf:displayname> <baf:description _locID="BAMServerDesc">Edit this field in the resource file</baf:description> <baf:category _locID="BAMGroup">Edit this field in the resource file</baf:category> <!-- Here is the Group Identifier --> </baf:designer> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="BAMDatabase" type="xs:string"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="BAMDatabaseName">Edit this field in the resource file</baf:displayname> <baf:description _locID="BAMDatabaseDesc">Edit this field in the resource file</baf:description> <baf:category _locID="BAMGroup">Edit this field in the resource file</baf:category> <!-- Here is the same Group Identifier --> </baf:designer> </xs:appinfo> </xs:annotation> </xs:element> <xs:element minOccurs="1" default="10" name="pollingInterval" type="xs:int"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="pollingIntervalName">Polling Interval</baf:displayname> <baf:description _locID="pollingIntervalDesc">The elapsed time between transactions against the database.</baf:description> <baf:category _locID="categoryGroup">Edit this field in the resource file</baf:category> <!-- Here is the second Group Identifier --> </baf:designer> </xs:appinfo> </xs:annotation> </xs:element> <xs:element minOccurs="1" default="minutes" name="pollingIntervalUnit"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="pollingIntervalUnitName">Polling Interval Unit</baf:displayname> <baf:description _locID="pollingIntervalUnitDesc">The unit of time measure for the Polling Interval.</baf:description> <baf:category _locID="categoryGroup">Edit this field in the resource file</baf:category> <!-- Here is the second Group Identifier --> </baf:designer> </xs:appinfo> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <!-- Here is a drop down list of the available options for pollingIntervalUnit --> <xs:enumeration value="milliseconds"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="">Milliseconds</baf:displayname> </baf:designer> </xs:appinfo> </xs:annotation> </xs:enumeration> <xs:enumeration value="seconds"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="">Seconds</baf:displayname> </baf:designer> </xs:appinfo> </xs:annotation> </xs:enumeration> <xs:enumeration value="minutes"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="">Minutes</baf:displayname> </baf:designer> </xs:appinfo> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Server" type="xs:string"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="ServerName">Edit this field in the resource file</baf:displayname> <baf:description _locID="ServerDesc">Edit this field in the resource file</baf:description> <baf:category _locID="ftpGroup">Edit this field in the resource file</baf:category> </baf:designer> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="UserName" type="xs:string"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="UserNameName">Edit this field in the resource file</baf:displayname> <baf:description _locID="UserNameDesc">Edit this field in the resource file</baf:description> <baf:category _locID="ftpGroup">Edit this field in the resource file</baf:category> </baf:designer> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="Password" type="xs:string"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="PasswordName">Edit this field in the resource file</baf:displayname> <baf:description _locID="PasswordDesc">Edit this field in the resource file</baf:description> <baf:category _locID="ftpGroup">Edit this field in the resource file</baf:category> <!-- Here is the start of the code to mask the passowrd --> <baf:editor assembly="%BTSROOT%\\Developer Tools\\Microsoft.BizTalk.Adapter.Framework.dll">Microsoft.BizTalk.Adapter.Framework.ComponentModel.PasswordUITypeEditor</baf:editor> <baf:converter assembly="%BTSROOT%\\Developer Tools\\Microsoft.BizTalk.Adapter.Framework.dll">Microsoft.BizTalk.Adapter.Framework.ComponentModel.PasswordTypeConverter</baf:converter> </baf:designer> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="Folder" type="xs:string"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="FolderName">Edit this field in the resource file</baf:displayname> <baf:description _locID="FolderDesc">Edit this field in the resource file</baf:description> <baf:category _locID="ftpGroup">Edit this field in the resource file</baf:category> </baf:designer> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="Mask" type="xs:string"> <xs:annotation> <xs:appinfo> <baf:designer xmlns:baf="BiztalkAdapterFramework.xsd"> <baf:displayname _locID="MaskName">Edit this field in the resource file</baf:displayname> <baf:description _locID="MaskDesc">Edit this field in the resource file</baf:description> <baf:category _locID="ftpGroup">Edit this field in the resource file</baf:category> </baf:designer> </xs:appinfo> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Nov 012007
 

A recent post on the forum sparked my interest. It asked how a person could find where the position of a functiod is based on the X-Cell/Y-Cell attribute is as in this example

<Functoid FunctoidID="1" X-Cell="52" Y-Cell="184" Functoid-FID="260" Functoid-Name="Scripting" Label="">

The maximum X-Cell attribute is 98 and the maximum Y-Cell attribute is 418. (Just as a FTY, the reason why it is not an ‘even’ number is because in the grid the border cell is outside of the map bounds)

So if you want to start counting cells, knock yourself out.

A much easier way is to simply add a label to the functoid (of course something unique) and then search the btm file for that unique identifier as in this example (zxcvb)

<Functoid FunctoidID="1" X-Cell="52" Y-Cell="184" Functoid-FID="260" Functoid-Name="Scripting" Label="zxcvb">