Platform SDK: Exchange 2000 Server |
[This is preliminary documentation and subject to change.]
Creating property definition requires creating an item to contain the definition, assigning it a name, data type, and specifying urn:content-classes:propertydef as its content class.
Additionally, the property can specify any number of attributes such as indexed, and multivalued.
Const adModeReadWrite = 3 Const adFailIfNotExists = -1 Const adCreateNonCollection = 0 Dim strURL strURL = "file://./backofficestorage/microsoft.com/public folders/cookbook/schema/" Dim Rec Set Rec = CreateObject("ADODB.Record") ' A urn scheme is used for the namespace. ' This task creates the following properties for the cookbook scenario: ' urn:schemas-microsoft-com-cookbook:submitdate ' urn:schemas-microsoft-com-cookbook:cuisine ' urn:schemas-microsoft-com-cookbook:title ' urn:schemas-microsoft-com-cookbook:ingredients ' urn:schemas-microsoft-com-cookbook:instructions ' urn:schemas-microsoft-com-cookbook:rating ' Create the property definition in the schema folder for submitdate Rec.Open strURL & "submitdate",,adModeReadWrite, adCreateNonCollection Set Flds = Rec.Fields With Flds .Item("DAV:contentclass") = "urn:content-classes:propertydef" .Item("urn:schemas-microsoft-com:xml-data#name") = "urn:schemas-microsoft-com-cookbook:submitdate" .Item("urn:schemas-microsoft-com:datatypes#type") = "date" .Item("urn:schemas-microsoft-com:exch-data:ismultivalued") = False .Item("urn:schemas-microsoft-com:exch-data:isindexed") = True .Item("urn:schemas-microsoft-com:exch-data:isreadonly") = False .Update End With Rec.Close ' Create the property definition in the schema folder for cuisine Rec.Open strURL & "cuisine",,adModeReadWrite, adCreateNonCollection Set Flds = Rec.Fields With Flds .Item("DAV:contentclass") = "urn:content-classes:propertydef" .Item("urn:schemas-microsoft-com:xml-data#name") = "urn:schemas-microsoft-com-cookbook:cuisine" .Item("urn:schemas-microsoft-com:datatypes#type") = "string" .Item("urn:schemas-microsoft-com:exch-data:ismultivalued") = False .Item("urn:schemas-microsoft-com:exch-data:isindexed") = True .Item("urn:schemas-microsoft-com:exch-data:isreadonly") = False .Update End With Rec.Close ' Create the property definition in the schema folder for title Rec.Open strURL & "title",,adModeReadWrite, adCreateNonCollection Set Flds = Rec.Fields With Flds .Item("DAV:contentclass") = "urn:content-classes:propertydef" .Item("urn:schemas-microsoft-com:xml-data#name") = "urn:schemas-microsoft-com-cookbook:title" .Item("urn:schemas-microsoft-com:datatypes#type") = "string" .Item("urn:schemas-microsoft-com:exch-data:ismultivalued") = False .Item("urn:schemas-microsoft-com:exch-data:isindexed") = True .Item("urn:schemas-microsoft-com:exch-data:isreadonly") = False .Update End With Rec.Close ' Create the property definition in the schema folder for ingredients Rec.Open strURL & "ingredients",,adModeReadWrite, adCreateNonCollection Set Flds = Rec.Fields With Flds .Item("DAV:contentclass") = "urn:content-classes:propertydef" .Item("urn:schemas-microsoft-com:xml-data#name") = "urn:schemas-microsoft-com-cookbook:ingredients" .Item("urn:schemas-microsoft-com:datatypes#type") = "string" ' Note that ismultivalued is set to true for handling multiple ingredients .Item("urn:schemas-microsoft-com:exch-data:ismultivalued") = True .Item("urn:schemas-microsoft-com:exch-data:isindexed") = True .Item("urn:schemas-microsoft-com:exch-data:isreadonly") = False .Update End With Rec.Close ' Create the property definition in the schema folder for instructions Rec.Open strURL & "instructions",,adModeReadWrite, adCreateNonCollection Set Flds = Rec.Fields With Flds .Item("DAV:contentclass") = "urn:content-classes:propertydef" .Item("urn:schemas-microsoft-com:xml-data#name") = "urn:schemas-microsoft-com-cookbook:instructions" .Item("urn:schemas-microsoft-com:datatypes#type") = "string" ' Note that ismultivalued is set to true for handling multiple instructions .Item("urn:schemas-microsoft-com:exch-data:ismultivalued") = True .Item("urn:schemas-microsoft-com:exch-data:isindexed") = True .Item("urn:schemas-microsoft-com:exch-data:isreadonly") = False .Update End With Rec.Close ' Create the property definition in the schema folder for rating Rec.Open strURL & "rating",,adModeReadWrite, adCreateNonCollection Set Flds = Rec.Fields With Flds .Item("DAV:contentclass") = "urn:content-classes:propertydef" .Item("urn:schemas-microsoft-com:xml-data#name") = "urn:schemas-microsoft-com-cookbook:rating" .Item("urn:schemas-microsoft-com:datatypes#type") = "int" .Item("urn:schemas-microsoft-com:exch-data:ismultivalued") = False .Item("urn:schemas-microsoft-com:exch-data:isindexed") = True .Item("urn:schemas-microsoft-com:exch-data:isreadonly") = False .Update End With Rec.Close