Thanks for the fast response, but I guess I didn't word my question well!
I have had a lot of success creating elements in dialogs for users to specify. And then I have successfully edited CatalogItemInitialization to process the user input and drive the provisioning process. So far so good.
But now I want to have data available within CatalogItemInitialization that the user does not have access to except by the Catalog Item they have selected. This data will always be the same for that Catalog Item, but might be different for another Catalog Item. The way to do this seems to be to set tags via policy within Services\Catalog Items\Plocy Button\Edit tags. This works perfectly because when the VM provisioning is complete the object within CloudForms has the appropriate tags set. What I can't see how to do is to use those tags within CatalogItemInitialization.
For a real world example - I have a field in my dialog that asks the user if an inventory item should be created for the newly provisioned VM or not. That works by a tag control element that sets tag_0_inv. The problem is that the end user does not know the answer to the question - it is something determined by the catalog item they have selected and they should never have to think about it. I can set the tag by Catalog Item , but somewhere in the provisioning process I need to make a decision based on that tag as to if the inventory item needs to be created or not and to initiate that process if it is.
That's just one example though - there are many more, the first of which I hot in the CatalogItemInitialization method.