I need to create a UDP mapped (bidirectionally) to a custom Inventor iProperty. To do this I think I need the moniker of the Inventor iProperty. My application will be installed on many computers with different Vaults.
Could I end up with different monikers for the same property? If so, how do I create the UDP mapped to the iProperty via API?
The Inventor iProperty should always show up with the same Monkier value for all Vaults. I usually don't recommend reverse engineering, but it's the only good way to figure out the Monkier.
In Vault Explorer, create the UDP and set up the mapping. Then go to the API and look up the PropDefInfo object for your new UDP. That object will contain everything you need, including the Monkier, to call PropertyService.AddPropertyDefinition(..) in your code.
Here are some articles you may find helpful:
http://justonesandzeros.typepad.com/blog/2010/06/properties-in-vault-2011---part-2.html
http://justonesandzeros.typepad.com/blog/2010/07/properties-in-vault-2011---part-4.html
After some tinkering I've finally reached to generate Vault UDP by software, but the next hurdle is already there.
It was said that the moniker is constant across different vaults. This is true for Inventor iProperties and probably for Autcad dwg file properties (not tested) but for AutoCAD Title block mapped attributes seems to be different.
The moniker is a combination of two strings.
Example moniker: „ABCDEFG!{D5CDD505-2E9C-101B-9397-08002B2CF9AE}!nvarchar“
The first part of this is „ABCDEFG“ is the UDP-nameID of the property (on my machine same to the DispName). The second part in the brackets is the the CLSID for user defined properties (in Vault2012\Explorer\ProviderConfig_Inventor.xml: the Microsoft User Defined Property Set Id)
All my UDP’s have the same „!{D5CDD505-2E9C-101B-9397-08002B2CF9AE}!nvarchar“ an only the first part of the moniker is different for each property, but same to the property name.
I want to mapp other content source properties such autocad title block attributes to the same UDP‘s by soft .
I declared each AutoCAD Title block with Attributes on the Vault server. On the vault Client I mapped the vault UDP to the TitleBlockName.AttributName. Each moniker is different for each attribute (it’s ok) but the second part of the moniker string is also different for each property and not the same on different Vault-Server.
Is a fault of mine or is it?