I was working on updating my Search demo for #spshou and my BCS search results were really ugly. I didn’t have a default action specified on my search results, nor did I have a profile page, so instead the search results would give me the BDC protocol URL which is not usable by an end user.
In MOSS 2007, if you did not create a default action, it would automatically create a profile page for you. In SharePoint 2010, this is not the case. It’s pretty easy but there are a few steps involved.
Start by opening SharePoint Designer and open your external content type in question. In the top right, you will find the Create Profile Page button.
Give it a click. However, if you haven’t configured a profile host URL, you will get the following error. Chances are you haven’t configured one of these yet.
Unable to provision profile page because the profile host URL was not specified.
After doing a search, I found only one usable result on the Internet on MSDN forums. It had the answer, but it wasn’t clear to me at first. It said to use the Configure button in the ribbon. However, I was looking in SPD, and in fact its in the Service Application instead as you can see below.
Select the application you want to edit and then you can click Configure. This brings up the popup shown below which prompts you for a URL of the site that to keep you profile pages in. I like this since you can configure these at a per application definition level now instead of one location for every entity on the SSP.
I decided that I wanted my profile pages in a specific subsite, so I went ahead and created a new one.
After I finished configuring my site and setting up the Profile Page Host, I was able to go back to SPD and click the button. This pops up a progress bar, but it doesn’t really give you any visual indication that anything is done. I then went back to my content sources and recrawled my BCS content source. When it finished, I executed a new search, and now I get actual usable URLs in my search results.
As you can see it generated kind of a long URL with _bdc in it. I believe the http and sp2010 come from the namespace specified in SharePoint Designer. Finally it names a page after the entity itself. So far, I’m not sure if any of the page name stuff is configurable or not, so I need to look into that. Once you click on the page, you get a simple profile page to display the results.
It’s simple, but it has all the pertinent information from the underlying database table. It beats what I had before. I think a custom default action can be specified just like in MOSS 2007, but I get the feeling you have to edit the application definition XML manually to make it happen. I’m still looking into it. Anyhow, I hope this helps, the next time you try to use the BCS.