Late last night, someone posted a question to the microsoft.public.crm newsgroup regarding the fact that a new field they created in the Schema Manager wasn't showing up in the Advanced Find tool.
This is a pretty easy one... The simple answer is that once you add a custom attribute to an entity via the Schema Manager, you need to add that field to the form in the Form Editor and then save and publish it.
Now here's why:
In v1.x the XML generated by the Form Editor is used to publish a Search XML file for each entity that the Advanced Find tool uses to display the list of fields. This file gets built for each entity when you publish your customizations in the Deployment Manager. In this XML file we store the Display Name (set in the properties dialog of the attribute in the Form Editor) of the attribute; if it's a picklist we store all of the picklist values and the attribute's datatype. The Advanced Find tool then uses this information to show the list of fields and the appropriate criteria when you choose an attribute to filter on.
Sounds great, what if I only want the field to be searchable, but not on the form?
In this case you still need to add it to the form via the Form Editor, set the attribute's properties, and then remove it from the form when you're done. This won't modify the layout of the form, but behind the scenes, the properties you set will be added to the Properties XML the Form Editor controls. In v1.x, the only way to set the properties of attributes in Microsoft CRM is via the Form Editor. Once you publish your changes, the field will show up in Advanced Find, even though it is not on the form anymore. At this point, you'll also be able to add that field to Views.
If anyone shows interest, I might write up a description of the entire form publication process next time.
- Jason
This posting is provided "AS IS" with no warranties, and confers no rights.