I figured out how to add additional fields from the Profile Import into the People Search today.
This requirement occured to me after discussing how this might be done with Aaron Saikovshi at the APAC SharePoint Conference.
In this particular case, I wanted to add one of the extended properties from the Exchange Users into both the Search Box control and the results page. I suspect, but have not confirmed that this process would work for extensions to the AD Schema too.
There are several steps to make this happen:
1. Assuming that you have a property with data in it, go to the Shared Services Administration page and click on 'User Profiles and Properties' link.
2. Add a new Profile Property for the property you want to include by clicking the 'Add profile property' link at the bottom of the page. The things to pay attention to are the policy settings (properties will need to be available to all those who need to see them!) and the Property Import Mapping (you need to map your property to a physical property crawled by the indexer - just like Managed Properties in MOSS Search - which is actually what this property becomes). In the case of my Exchange extended property this was extensionAttribute1.
3. At this point I did a full import, just to make sure I could see the values coming through when I viewed the user profiles.
[Ishai has a nice post with pictures for the remaining steps...]
4. Go to the people search page in the Search Centre (or wherever you put the people search). Edit the page and then edit the properties of the People Search Box. Open the Properties property and add a new Property element to the list, eg:
<Property Name="NewProp" ManagedName="NewProp" ProfileURI="urn:schemas-microsoft-com:sharepoint:portal:profile:NewProp"/>
where NewProp is the name you gave to the new Profile Property above.
5. In the Results Query Options section of the properties for the People Search Core Results web part, edit the Selected Columns property. If your default value is like mine, it will look like there is nothing in there - which tricked me for a while, but click the ... button and add a new Column element for your property equal to the name of your new Profile Property.
6. Edit the Data View Properties of the People Search Core Results web part to add the new column (in lower case), somewhere in the XSL eg. <xsl:value-of select="newprop"/>. Click Apply and Publish (if you have content management turned on). Don't worry if you get a nasty looking error in the web part unless it happens after you publish! You did backup the XSL before you modified it, right?!
I also had to do some crawling of the Content Sources once I had added the new Property and at one point had to reset and re-crawl. I think there is something strange going on there, because the first property I added only seemed to require a Crawl to be available, but the second would not work as a Selected Column until I reset and re-crawled! I'm not 100% on what requires what level of crawling. I can understand a full crawl being required for new properties because that probably updates the property store, but a Reset Crawled Content?!
If anyone has, or tries to get this working with a custom Active Directory column it would be great to know and complete the puzzle!