<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnetmafia.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Corey Roth [MVP] : Business Connectivity Services</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx</link><description>Tags: Business Connectivity Services</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Slides from my talks at SPTechCon Boston 2011</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/06/20/slides-from-my-talks-at-sptechcon-boston-2011.aspx</link><pubDate>Mon, 20 Jun 2011 21:54:46 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:4801</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=4801</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/06/20/slides-from-my-talks-at-sptechcon-boston-2011.aspx#comments</comments><description>&lt;p&gt;This post is long overdue, but better late than never.&amp;#160; I had a great time at SPTechCon 2011 in Boston.&amp;#160; I had the chance to meet a lot of people in person for the first time that I had only previously known through twitter.&amp;#160; I gave two talks this year.&amp;#160; The first being my Instant ECM talk showing you how to leverage out-of-the-box SharePoint ECM features.&amp;#160; My second talk was an advanced developer talk discussing how to build Business Data Connectivity models and custom connectors.&amp;#160; My slides can be found on SlideShare.&amp;#160; It was definitely great to get out to the east coast and see how people were using SharePoint.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.slideshare.net/CoreyRoth/instant-ecm-with-sharepoint-2010-sptechcon-boston-2011"&gt;Instant ECM with SharePoint 2010 - SPTechCon Boston 2011 Slides&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.slideshare.net/CoreyRoth/advanced-bcs-business-data-connectivity-models-and-custom-connectors-sptechcon-boston-2011"&gt;Advanced BCS: Business Data Connectivity Models and Custom Connectors – SPTechCon 2011 Slides&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Follow me on twitter &lt;a href="http://twitter.com/coreyroth"&gt;@coreyroth&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=4801" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Data+Catalog/default.aspx">Business Data Catalog</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/ECM/default.aspx">ECM</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPTechCon/default.aspx">SPTechCon</category></item><item><title>Slides from my BCS talk at Houston TechFest posted</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/10/12/slides-from-my-bcs-talk-at-houston-techfest-posted.aspx</link><pubDate>Tue, 12 Oct 2010 14:39:00 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:4105</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=4105</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/10/12/slides-from-my-bcs-talk-at-houston-techfest-posted.aspx#comments</comments><description>&lt;p&gt;I had a great time at Houston TechFest this weekend.&amp;#160; I met a lot of new people and I got to see a lot of old friends.&amp;#160; At TechFest, I spoke about how to code advanced SharePoint BCS solutions using BCS entity models and custom connectors.&amp;#160; The slide deck is posted on &lt;a href="http://www.slideshare.net/CoreyRoth/advanced-bcs-business-data-connectivity-models-and-custom-connectors"&gt;slide share&lt;/a&gt;.&amp;#160; I’ve also attached the code for the custom connector I used at the bottom of this post.&amp;#160; If you have any additional questions, feel free to ask.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=4105" width="1" height="1"&gt;</description><enclosure url="http://dotnetmafia.com/blogs/dotnettipoftheday/attachment/4105.ashx" length="59933" type="application/x-zip-compressed" /><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/TechFest/default.aspx">TechFest</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category></item><item><title>How to: Debug a Custom Index Connector</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/09/08/how-to-debug-a-custom-index-connector.aspx</link><pubDate>Wed, 08 Sep 2010 16:17:51 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:3989</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=3989</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/09/08/how-to-debug-a-custom-index-connector.aspx#comments</comments><description>&lt;p&gt;I have been researching Custom Index Connectors in SharePoint 2010 over the past few weeks.&amp;#160; I have been working with the &lt;a href="http://msdn.microsoft.com/en-us/library/ff625800.aspx"&gt;MyFileConnector&lt;/a&gt; sample provided in the SDK, but after I made some changes, I realized it wasn’t immediately obvious how to debug my code.&amp;#160; Luckily, &lt;a href="mailto:m@mwiselka"&gt;@mwiselka&lt;/a&gt; helped me out and pointed me in the right direction.&amp;#160; When it comes to debugging an index connector, timing is critical as well as picking the right process.&amp;#160; In this case it’s not a matter of picking the right w3wp.exe process. It’s a matter of picking the right search process.&amp;#160; If you don’t do the process right, your symbols will never be loaded and your break point will never be hit.&lt;/p&gt;  &lt;p&gt;To get started, compile your connector and copy the assembly to the GAC.&amp;#160; Now you need to restart the search service.&amp;#160; It is critical that you restart the service any time you make a change or try to debug again.&amp;#160; I would also do an iisreset as this seems to be required as well most of the time.&amp;#160; If this is your first time installing the custom index connector be sure and follow all of the steps in the &lt;a href="http://msdn.microsoft.com/en-us/library/ff625800.aspx"&gt;SDK&lt;/a&gt; which includes making registry changes and configuring the content source.&amp;#160; I usually restart the service from PowerShell or a command prompt.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;net stop osearch14&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;net start osearch14&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The process we need to debug is called &lt;em&gt;mssdmn.exe&lt;/em&gt;.&amp;#160; When you restart the service you will only see one of these listed in your processes list.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/DebugCustomIndexConnectorAttachProcess1_2A34B505.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="DebugCustomIndexConnectorAttachProcess1" border="0" alt="DebugCustomIndexConnectorAttachProcess1" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/DebugCustomIndexConnectorAttachProcess1_thumb_644381E4.png" width="462" height="311" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You may be tempted to attach to that process right away and kick off a full crawl of your new content source.&amp;#160; Don’t do that.&amp;#160; It will not work.&amp;#160; When you kick off your first crawl, a second instance of mssdmn.exe is launched.&amp;#160; That is the process you attach to.&amp;#160; I remind you that timing is critical.&amp;#160; After you start the crawl, you need to refresh the process list quickly and attach it if you are trying to catch something early in the process.&amp;#160; It really just depends on the speed of your server, sometimes it takes quite a while for the process to show up.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/DebugCustomIndexConnectorAttachProcess2_552CA30A.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="DebugCustomIndexConnectorAttachProcess2" border="0" alt="DebugCustomIndexConnectorAttachProcess2" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/DebugCustomIndexConnectorAttachProcess2_thumb_4615C430.png" width="465" height="315" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Notice the new process listed.&amp;#160; Once you attach to the correct process, you should have no issue with your breakpoint being hit.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/DebugCustomIndexConnectorBreakPoint_6C0B7486.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="DebugCustomIndexConnectorBreakPoint" border="0" alt="DebugCustomIndexConnectorBreakPoint" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/DebugCustomIndexConnectorBreakPoint_thumb_0B4E1B5A.png" width="361" height="296" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now, you might be thinking, &lt;em&gt;I’ll just wait and attach to all mssdmn.exe processes that show up&lt;/em&gt;.&amp;#160; I thought that might work but it doesn’t.&amp;#160; What I have found is that any time you attach to the original mssdmn.exe process, it causes your breakpoint not to be hit.&amp;#160; I have no idea why it behaves this way, but from what I have seen so far, you only attach to the newly spawned mssdmn.exe process.&amp;#160; If you are having trouble getting the timing right, one thing that @mwiselka recommended was to start a crawl of another content source to spawn the mssdmn.exe process and attach to it.&amp;#160; Then when you do your crawl, it should use the same spawned process.&lt;/p&gt;  &lt;p&gt;You would think that you could use something like System.Diagnostics.Debugger.Launch() like I have done with &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/04/01/debugging-a-feature-when-using-stsadm-exe.aspx"&gt;features&lt;/a&gt;, but I have had no luck getting that to work.&amp;#160; You can see from my code snippet above, that adding a Thread.Sleep() can be a useful way to buy yourself time to attach to the process as well.&amp;#160; It’s kind of hack, but it does seem to work.&amp;#160; If the above technique doesn’t work, try it again.&amp;#160; Recompile, restart osearch14, and iisreset.&amp;#160; This technique can also be used with regular BCS Custom Connectors as well if you want to debug them while indexing.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=3989" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Enterprise+Search/default.aspx">Enterprise Search</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category></item><item><title>Slides from my talks at NWA TechFest</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/07/09/slides-from-my-talks-at-nwa-techfest.aspx</link><pubDate>Fri, 09 Jul 2010 19:32:00 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:3684</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=3684</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/07/09/slides-from-my-talks-at-nwa-techfest.aspx#comments</comments><description>&lt;p&gt;I had the opportunity to give two talks at NWA TechFest yesterday in Rogers, AR.&amp;#160; It was a pretty good event organized by the one and only &lt;a href="http://twitter.com/davidwalker"&gt;@DavidWalker&lt;/a&gt;.&amp;#160; I got to meet a lot of new people and talk about all sorts of things related to SharePoint.&amp;#160; There were plenty of non-SharePoint people to talk to there too.&amp;#160; As promised, I am making my slides available and they are already up on SlideShare.net.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.slideshare.net/CoreyRoth/how-the-sharep-2010-bcs-will-change-your-life-nwatechfest-2010"&gt;How the SharePoint 2010 Business Connectivity Services will change your life&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.slideshare.net/CoreyRoth/introduction-to-sharepoint-2010-enterprise-search"&gt;Introduction to SharePoint 2010 Enterprise Search&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thanks for coming and I’m looking forward to seeing a lot of you at &lt;a href="http://techfests.com/Tulsa/2009/default.aspx"&gt;Tulsa TechFest&lt;/a&gt; this fall.&amp;#160; Also, I’m speaking at the &lt;a href="http://www.tulsasharepoint.com/Lists/Events%20Calendar/DispForm.aspx?ID=26"&gt;Tulsa SharePoint Interest Group&lt;/a&gt; this Monday about PowerShell, so come on by.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=3684" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Enterprise+Search/default.aspx">Enterprise Search</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category></item><item><title>How to: Create a BCS Profile Page in SharePoint 2010</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/15/how-to-create-a-bcs-profile-page-in-sharepoint-2010.aspx</link><pubDate>Thu, 15 Apr 2010 20:36:42 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:3095</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>16</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=3095</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/15/how-to-create-a-bcs-profile-page-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;I was working on updating my Search demo for &lt;a href="http://twitter.com/#search?q=spshou"&gt;#spshou&lt;/a&gt; and my BCS search results were really ugly.&amp;#160; 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.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSearchResults_79677100.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSSearchResults" border="0" alt="BCSSearchResults" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSearchResults_thumb_58E0314E.png" width="364" height="255" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In MOSS 2007, if you did not create a default action, it would automatically create a profile page for you.&amp;#160; In SharePoint 2010, this is not the case.&amp;#160; It’s pretty easy but there are a few steps involved.&lt;/p&gt;  &lt;p&gt;Start by opening SharePoint Designer and open your external content type in question.&amp;#160; In the top right, you will find the &lt;em&gt;Create Profile Page&lt;/em&gt; button.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSharePointDesignerNewProfilePageButton_2D2F6752.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSSharePointDesignerNewProfilePageButton" border="0" alt="BCSSharePointDesignerNewProfilePageButton" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSharePointDesignerNewProfilePageButton_thumb_5807CB64.png" width="80" height="91" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Give it a click.&amp;#160; However, if you haven’t configured a profile host URL, you will get the following error.&amp;#160; Chances are you haven’t configured one of these yet.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSharePointDesignerProfilePageError_5EBAD4E7.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSSharePointDesignerProfilePageError" border="0" alt="BCSSharePointDesignerProfilePageError" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSharePointDesignerProfilePageError_thumb_774A7237.png" width="353" height="116" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Unable to provision profile page because the profile host URL was not specified.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;After doing a search, I found only one usable result on the Internet on &lt;a href="http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/90923a9c-0bc6-40a4-b00e-82eed95e2b25?prof=required"&gt;MSDN forums&lt;/a&gt;.&amp;#160; It had the answer, but it wasn’t clear to me at first.&amp;#160; It said to use the &lt;em&gt;Configure &lt;/em&gt;button in the ribbon.&amp;#160; However, I was looking in SPD, and in fact its in the Service Application instead as you can see below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSServiceApplicationConfigureButton_04B0853E.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSServiceApplicationConfigureButton" border="0" alt="BCSServiceApplicationConfigureButton" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSServiceApplicationConfigureButton_thumb_4B2D7546.png" width="453" height="270" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Select the application you want to edit and then you can click &lt;em&gt;Configure&lt;/em&gt;.&amp;#160; This brings up the popup shown below which prompts you for a URL of the site that to keep you profile pages in.&amp;#160; 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.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSConfigureProfileSite_718F5891.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSConfigureProfileSite" border="0" alt="BCSConfigureProfileSite" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSConfigureProfileSite_thumb_510818DF.png" width="344" height="167" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I decided that I wanted my profile pages in a specific subsite, so I went ahead and created a new one.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSProfileNewProfileSite_02938675.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSProfileNewProfileSite" border="0" alt="BCSProfileNewProfileSite" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSProfileNewProfileSite_thumb_1403E74D.png" width="561" height="192" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;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.&amp;#160; This pops up a progress bar, but it doesn’t really give you any visual indication that anything is done.&amp;#160; I then went back to my content sources and recrawled my BCS content source.&amp;#160; When it finished, I executed a new search, and now I get actual usable URLs in my search results.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSearchResultsProfilePage_4F574D0B.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSSearchResultsProfilePage" border="0" alt="BCSSearchResultsProfilePage" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSearchResultsProfilePage_thumb_67E6EA5B.png" width="383" height="334" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As you can see it generated kind of a long URL with _bdc in it.&amp;#160; I believe the http and sp2010 come from the namespace specified in SharePoint Designer.&amp;#160; Finally it names a page after the entity itself.&amp;#160; So far, I’m not sure if any of the page name stuff is configurable or not, so I need to look into that.&amp;#160; Once you click on the page, you get a simple profile page to display the results.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSProfilePageComplete_0E48CDA7.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSProfilePageComplete" border="0" alt="BCSProfilePageComplete" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSProfilePageComplete_thumb_6DC18DF4.png" width="244" height="218" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It’s simple, but it has all the pertinent information from the underlying database table.&amp;#160; It beats what I had before.&amp;#160; I think a &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/01/29/adding-a-default-action-to-a-business-data-catalog-entity.aspx"&gt;custom default action&lt;/a&gt; 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.&amp;#160; I’m still looking into it.&amp;#160; Anyhow, I hope this helps, the next time you try to use the BCS.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=3095" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Data+Catalog/default.aspx">Business Data Catalog</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+Designer/default.aspx">SharePoint Designer</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category></item><item><title>Mapping Enterprise Search managed properties from the BCS in SharePoint 2010</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/15/mapping-enterprise-search-managed-properties-from-the-bcs-in-sharepoint-2010.aspx</link><pubDate>Thu, 15 Apr 2010 18:59:28 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:3094</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=3094</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/15/mapping-enterprise-search-managed-properties-from-the-bcs-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;When I was mapping some managed properties from one of my Content Sources using the BCS, I noticed that the crawled properties were named slightly different in SharePoint 2010.&amp;#160; I thought this was worth a quick note, so here we are.&amp;#160; In MOSS 2007, each crawled property was prefixed by the application definition name, followed by the entity name.&amp;#160; Now (as of Beta 2) everything seems to be prefixed by &lt;em&gt;Read ListElement&lt;/em&gt;.&amp;#160; Here is what some of my properties look like.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/EnterpriseSearchBCSCrawledProperties_294E4BFF.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="EnterpriseSearchBCSCrawledProperties" border="0" alt="EnterpriseSearchBCSCrawledProperties" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/EnterpriseSearchBCSCrawledProperties_thumb_4F43FC55.png" width="321" height="250" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Notice it actually shows a space now instead of x0020.&amp;#160; The naming convention appears to be static here so unfortunately you don’t really have a way of telling what entity each item is coming from.&amp;#160; This might be a good thing though.&amp;#160; Since before, if you had a field with the same name in 10 different entities, you had to map each one to the managed property.&amp;#160; The prefix appears to always be the same too (even if you change the name of the operation).&amp;#160; Read List is the name of the operation used to iterate a BCS list now as you can see in SharePoint Designer.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSharePointDesignerOperations_15C0EC5E.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSSharePointDesignerOperations" border="0" alt="BCSSharePointDesignerOperations" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSharePointDesignerOperations_thumb_397A13F8.png" width="265" height="150" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The name can be changed in SPD, however it appears that the prefix never changes as far as crawled properties go. Anyhow, I just wanted to quickly share this change I noticed today.&amp;#160; I’ll be posting more on the BCS and Search soon.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=3094" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Enterprise+Search/default.aspx">Enterprise Search</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+Designer/default.aspx">SharePoint Designer</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category></item><item><title>Slides from my talk on the SharePoint 2010 BCS at Tulsa SharePoint Interest Group</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/13/slides-from-my-talk-on-the-sharepoint-2010-bcs-at-tulsa-sharepoint-interest-group.aspx</link><pubDate>Tue, 13 Apr 2010 14:45:04 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:3080</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=3080</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/13/slides-from-my-talk-on-the-sharepoint-2010-bcs-at-tulsa-sharepoint-interest-group.aspx#comments</comments><description>&lt;p&gt;We had a great turnout last night for my talk on &lt;em&gt;How the SharePoint 2010 Business Connectivity Services&lt;/em&gt; will change your life.&amp;#160; The talk went quite well despite the long wait times in SharePoint Designer 2010. :-)&amp;#160; I really enjoyed giving this talk because it truly wows a lot of people.&amp;#160; When they see how you can bring data in from a backend system, edit it in SharePoint and then sync it with SharePoint Workspace or edit it directly from Microsoft Outlook, they are truly impressed.&amp;#160; I can’t wait to give this talk again on a release build.&amp;#160; If you want to see my awesome slide deck, I’ve posted it on &lt;a href="http://www.slideshare.net/CoreyRoth/how-the-share-point-2010-bcs-will-change-your-life"&gt;SlideShare&lt;/a&gt;.&amp;#160; Thanks for coming.&lt;/p&gt;  &lt;p&gt;Follow me on &lt;a href="http://twitter.com/coreyroth"&gt;twitter&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=3080" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+Designer/default.aspx">SharePoint Designer</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/InfoPath/default.aspx">InfoPath</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Tulsa+SharePoint+Interest+Group/default.aspx">Tulsa SharePoint Interest Group</category></item><item><title>Tulsa SharePoint Interest Group – How the SharePoint 2010 BCS will change your life</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/09/tulsa-sharepoint-interest-group-how-the-sharepoint-2010-bcs-will-change-your-life.aspx</link><pubDate>Fri, 09 Apr 2010 14:51:49 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:3059</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=3059</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/09/tulsa-sharepoint-interest-group-how-the-sharepoint-2010-bcs-will-change-your-life.aspx#comments</comments><description>&lt;p&gt;I’m excited to bring a SharePoint 2010 talk to the Tulsa SharePoint Interest Group this Monday (4/12).&amp;#160; Here is a brief summary.&lt;/p&gt;  &lt;p&gt;How many hours have your wasted building simple ASP.NET applications to do nothing more than simple CRUD operations against a database?&amp;#160; Many tools have made this easier, but now it&amp;#39;s so easy, you&amp;#39;ll be up and running in minutes.&amp;#160; This session will show you hot easy it is to get started integrating external data from your line of business systems in SharePoint 2010.&amp;#160; You will learn how to register an external content type using SharePoint Designer based upon a database table or web service and then build an external list.&amp;#160; With external lists, you will see how you can perform CRUD operations on your line of business directly from SharePoint without ever having to do manual configuration in XML files.&amp;#160; Finally, we will walk through how to create custom edit forms for your list using InfoPath 2010.&lt;/p&gt;  &lt;p&gt;For more information or to register, click &lt;a href="http://www.tulsasharepoint.com/Lists/Events%20Calendar/DispForm.aspx?ID=16&amp;amp;Source=http://www.tulsasharepoint.com/default.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Also, Tulsa SharePoint Interest Group is now on twitter &lt;a href="http://twitter.com/TulsaSPIG"&gt;@TulsaSPIG&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=3059" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Data+Catalog/default.aspx">Business Data Catalog</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+Designer/default.aspx">SharePoint Designer</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Tulsa+SharePoint+Interest+Group/default.aspx">Tulsa SharePoint Interest Group</category></item><item><title>Speaking about How Business Connectivity Services (BCS) may change your life in SharePoint 2010 at Tulsa SharePoint Interest Group on 4/12</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/03/09/speaking-about-how-business-connectivity-services-bcs-may-change-your-life-in-sharepoint-2010-at-tulsa-sharepoint-interest-group-on-4-12.aspx</link><pubDate>Tue, 09 Mar 2010 23:00:09 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:2936</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=2936</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/03/09/speaking-about-how-business-connectivity-services-bcs-may-change-your-life-in-sharepoint-2010-at-tulsa-sharepoint-interest-group-on-4-12.aspx#comments</comments><description>&lt;p&gt;Ok, so the title may be overly dramatic, but the BCS is really freaking cool now.&amp;#160; With SharePoint 2010 just around the corner, now is the time to start learning how you can leverage it.&amp;#160; I’ll be talking about the Business Connectivity Services at the &lt;a href="http://www.tulsasharepoint.com/Lists/Events%20Calendar/DispForm.aspx?ID=16&amp;amp;Source=http://www.tulsasharepoint.com/default.aspx"&gt;Tulsa SharePoint Interest Group&lt;/a&gt; on 4/12.&amp;#160; If you’re not familiar with everything yet, here is what has changed.&amp;#160; The Business Data Catalog from MOSS 2007 had morphed into the new Business Connectivity Services also known as the BCS.&amp;#160; To add to the confusion, there are places where you will still see term BDC lying around such as the case of the BDC entity model (although maybe the name has changed by now).&amp;#160; With 2010, we get the ability to easily and quickly create new application definitions using SharePoint Designer 2010.&amp;#160; On top of that the data we have abstracted through the BCS can be manipulated in something new called the external list.&amp;#160; It’s so cool that in fact you can edit and do all CRUD operations on that external list and the changes get persisted to the backend database (or web service, etc).&amp;#160; If you’re not familiar with the BCS yet, this is a must-see session.&lt;/p&gt;  &lt;p&gt;If you are going to make it to the event, please &lt;a href="http://www.tulsasharepoint.com/Lists/Events%20Calendar/DispForm.aspx?ID=16&amp;amp;Source=http://www.tulsasharepoint.com/default.aspx"&gt;RSVP&lt;/a&gt;.&amp;#160; Thanks.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=2936" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Data+Catalog/default.aspx">Business Data Catalog</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+Designer/default.aspx">SharePoint Designer</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Tulsa+SharePoint+Interest+Group/default.aspx">Tulsa SharePoint Interest Group</category></item><item><title>Impress the Boss with the SharePoint 2010 Chart Web Part</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/02/24/impress-the-boss-with-the-sharepoint-2010-chart-web-part.aspx</link><pubDate>Wed, 24 Feb 2010 17:09:12 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:2811</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>56</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=2811</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/02/24/impress-the-boss-with-the-sharepoint-2010-chart-web-part.aspx#comments</comments><description>&lt;p&gt;Let’s face it.&amp;#160; Nowadays, management absolutely loves BI.&amp;#160; Especially when there are lots of pretty charts and graphs.&amp;#160; The thing is I’m not a BI guy.&amp;#160; Cubes scare me to death.&amp;#160; Luckily, there is the new snazzy Chart Web Part in SharePoint 2010 that gives you some BI like capabilities.&amp;#160; It doesn’t allow you to drill down and pivot and do all that fancy stuff, but it does let you make some nice graphs and charts that any ordinary developer can do.&lt;/p&gt;  &lt;p&gt;To get started, first you need an Enterprise version of SharePoint 2010.&amp;#160; Unfortunately, I used the key that was later determined to be the wrong one which led me to reinstall SharePoint with a new key.&amp;#160; If you don’t have any Enterprise options available, then you will be reinstalling.&amp;#160; Assuming, you do have an Enterprise key, you then need to activate the &lt;em&gt;SharePoint Server Enterprise Site Collection Features&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartFeature_3EA95F0B.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartFeature" border="0" alt="ChartWebPartFeature" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartFeature_thumb_5DEC05DE.png" width="563" height="43" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This adds the chart web part (among other things).&amp;#160; Then edit any page and add a Chart Web Part.&amp;#160; You can find it under Miscellaneous as of Beta 2 (they may have found it a new home in later versions).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartAdd_5D7FD2E9.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartAdd" border="0" alt="ChartWebPartAdd" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartAdd_thumb_2EBA1A47.png" width="429" height="216" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;When you add it to the page, it uses some dummy data and displays a simple bar chart.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartDefault_272EAADA.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartDefault" border="0" alt="ChartWebPartDefault" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartDefault_thumb_74CAD75A.png" width="282" height="270" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;At this point, you might be asking yourself “What kind of data can I bind this to?”.&amp;#160; By clicking &lt;em&gt;Data &amp;amp; Appearance, &lt;/em&gt;you will see the following screen which leads you to links to customize the appearance or bind to data.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartDataAndAppearance_426703DB.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartDataAndAppearance" border="0" alt="ChartWebPartDataAndAppearance" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartDataAndAppearance_thumb_1AC087B1.png" width="419" height="210" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We’ll start by going to &lt;em&gt;Connect Chat To Data&lt;/em&gt;.&amp;#160; Look at these great options we have to choose from.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartDataSources_4C4BF546.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartDataSources" border="0" alt="ChartWebPartDataSources" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartDataSources_thumb_24A5791C.png" width="495" height="309" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We can connect to another web part, a list, an external content type (looks like they need to update the BDC wording they have there), and to Excel Services.&amp;#160; I tried going straight to an external content type, but I got a yellow screen.&amp;#160; Apparently that is broken on my version, but I’m sure it will work in RTM.&amp;#160; There is a work around though.&amp;#160; You can pick an external list using the &lt;em&gt;Connect to a List&lt;/em&gt; option.&amp;#160; This is exactly what I am going to do.&lt;/p&gt;  &lt;p&gt;Remember that external list I created on my &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/02/02/it-s-easy-to-configure-an-external-list-with-business-connectivity-services-bcs-in-sharepoint-foundation-2010.aspx"&gt;BCS&lt;/a&gt; blog post?&amp;#160; I’m going to use that list and extend it some.&amp;#160; What I did is I created a new custom list to contain Monthly Sales information.&amp;#160; I used an External Data field to allow the user to pick a product from the external content type and enter in some sales data in a field.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartList_320B8C22.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartList" border="0" alt="ChartWebPartList" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartList_thumb_7FA7B8A2.png" width="326" height="98" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This is the list we are going to use on our chart.&amp;#160; On the next step of the wizard, we are allowed to pick a list.&amp;#160; Note that it also allows you to choose other sites in the collection as well.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartListDataSource_385262B0.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartListDataSource" border="0" alt="ChartWebPartListDataSource" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartListDataSource_thumb_430FBA05.png" width="359" height="161" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The next step allows you to filter your data first if you are so inclined.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartWizardFilterData_57950983.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartWizardFilterData" border="0" alt="ChartWebPartWizardFilterData" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartWizardFilterData_thumb_293B83D6.png" width="411" height="260" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The Chart Web Part has a ton of configurable options.&amp;#160; On this last step is where you will start seeing some of them.&amp;#160; The main thing to set here is your X and Y fields.&amp;#160; You can also specify something to group by as well.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartWizardBindData_4F9D6721.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartWizardBindData" border="0" alt="ChartWebPartWizardBindData" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartWizardBindData_thumb_4F31342C.png" width="463" height="295" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once you finish this last step, you’ll get something that looks like this.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartWithData_15AE2435.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartWithData" border="0" alt="ChartWebPartWithData" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartWithData_thumb_00506ECD.png" width="322" height="326" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So, what we have here is a chart bound to data coming from a database (via external content type) and a SharePoint list.&amp;#160; Pretty cool, right?&amp;#160; I think so.&amp;#160; It gets better though.&amp;#160; What if your boss doesn’t like bar charts?&amp;#160; No problem.&amp;#160; There are tons of chart types to choose from.&amp;#160; Just click on &lt;em&gt;Data &amp;amp; Appearance&lt;/em&gt; again and then &lt;em&gt;Customize Your Chart&lt;/em&gt;.&amp;#160; Look at all of these built in chart types you have.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartOptionsPie_2DD18E90.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartOptionsPie" border="0" alt="ChartWebPartOptionsPie" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartOptionsPie_thumb_7B01881B.png" width="391" height="225" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartOptionsBar_737618AE.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartOptionsBar" border="0" alt="ChartWebPartOptionsBar" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartOptionsBar_thumb_12B8BF82.png" width="385" height="193" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;On the next step, you can further customize the chart you choose.&amp;#160; It has some nice pre-built color themes and you can customize the size and what not.&amp;#160; It also gives you a live preview as you change settings.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartOptionsPie2_5D3FFD5C.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartOptionsPie2" border="0" alt="ChartWebPartOptionsPie2" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartOptionsPie2_thumb_7C82A42F.png" width="427" height="204" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Here is what my new chart looks like.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartPie_22E4877B.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ChartWebPartPie" border="0" alt="ChartWebPartPie" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/ChartWebPartPie_thumb_22785486.png" width="244" height="218" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can customize things even more by going to Advanced Properties.&amp;#160; It would probably take me a week to show you everything that this web part does, so I recommend you go try it out for yourself.&amp;#160; The charts and graphs this thing produces are so cool, you should have no issue getting your boss to sign off on the Enterprise license. :)&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=2811" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/WebPart/default.aspx">WebPart</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category></item><item><title>It’s easy to configure an External List with Business Connectivity Services (BCS) in SharePoint Foundation 2010</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/02/02/it-s-easy-to-configure-an-external-list-with-business-connectivity-services-bcs-in-sharepoint-foundation-2010.aspx</link><pubDate>Tue, 02 Feb 2010 23:02:01 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:2694</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>17</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=2694</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/02/02/it-s-easy-to-configure-an-external-list-with-business-connectivity-services-bcs-in-sharepoint-foundation-2010.aspx#comments</comments><description>&lt;p&gt;One of my favorite features in SharePoint 2010 is External Lists.&amp;#160; If you haven’t heard by now, the MOSS 2007 Business Data Catalog (BDC) has become Business Connectivity Services (BCS) in SharePoint 2010.&amp;#160; The ever better part is that it is included in SharePoint Foundation and does not require SharePoint Server.&amp;#160; One new concept that we get from this is the External List.&amp;#160; To the end user, these look like regular lists in SharePoint, however they really are reaching out to external systems such as databases and web services.&amp;#160; Whereas the BDC only “officially” supported read operations, the BCS supports full CRUD operations on your external data source.&amp;#160; &lt;/p&gt;  &lt;p&gt;The title of the article mentions how easy it is to set up.&amp;#160; As you will see shortly, it really is quite easy using SharePoint Designer.&amp;#160; In fact, if you have a database table, you can have it exposed in SharePoint in under 10 minutes.&amp;#160; If you worked with the BDC before, you know that we had to manipulate huge XML files that represented the application definition.&amp;#160; We relied on third party tools to make this easier, but it was never a clean experience until now.&amp;#160; Before we get started with SharePoint Designer though, first make sure that you have the Business Data Connectivity (likely to be renamed) Service Application started.&amp;#160; To verify this go to Central Administration –&amp;gt; Manage Service Applications.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSServiceApplication_3B398295.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSServiceApplication" border="0" alt="BCSServiceApplication" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSServiceApplication_thumb_44460E16.png" width="567" height="213" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can tell this is SharePoint Foundation since there are only a few Service Applications (SA).&amp;#160; Ok, admittedly it could be server with very few installed, but you get the point.&amp;#160; If you click the Manage button, you can manage any application definitions you have created already.&amp;#160; Although, we’ll skip this since we’ll be using SharePoint Designer.&amp;#160; If the SA is not started for some reason, go to Central Administration –&amp;gt; Services on Server and click Start next to the appropriate service.&amp;#160; Also remember if you are using Windows Server 2008 R2, you will need to have the &lt;a href="http://support.microsoft.com/kb/976462"&gt;WCF hotfix&lt;/a&gt; installed before any SA works.&lt;/p&gt;  &lt;p&gt;Now let’s take a look at our table.&amp;#160; In my case I have a table of products with a few columns.&amp;#160; I want to expose this table to SharePoint and make it editable.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSTable_708294FA.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSTable" border="0" alt="BCSTable" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSTable_thumb_2854D91E.png" width="379" height="148" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now open SharePoint Designer 2010 and connect to your SharePoint site.&amp;#160; My server is called sp2010, so I would click open site and then enter http://sp2010.&amp;#160; SharePoint Designer is redesigned and has a new item on the left-hand tab called External Content Types.&amp;#160; This is where we want to go.&amp;#160; Click the &lt;em&gt;External Content Type&lt;/em&gt; button in the New section of the ribbon.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSNewECT_4DDE567F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSNewECT" border="0" alt="BCSNewECT" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSNewECT_thumb_1E4037F3.png" width="346" height="326" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It will take a minute, but then you will get some details about your new External Content Type.&amp;#160; Here is what mine looks like after I gave it a name of &lt;em&gt;Products&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSECTTab_3180EE92.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSECTTab" border="0" alt="BCSECTTab" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSECTTab_thumb_2191A9CE.png" width="488" height="304" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;   &lt;p&gt;We’re then going to click the link &lt;em&gt;Click here to discover external data sources and define operations&lt;/em&gt;.&amp;#160; This is where we pick that we want to pull data from my database table.&amp;#160; We can also use this to connect to a web service or talk to a custom .NET object.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSAddDataSource_66CA00F7.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSAddDataSource" border="0" alt="BCSAddDataSource" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSAddDataSource_thumb_2C6E8B16.png" width="316" height="123" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/p&gt;  &lt;p&gt;I’m just going to go with the defaults on the next screen for my data connection.&amp;#160; I gave it my database name of bcs_test as well as my SQL Server name.&amp;#160; You can also configure out which identity is used here to talk to the database.&amp;#160; Remember that you may need to grant permissions on the SQL Server itself for the appropriate user.&amp;#160; It will then iterate your data source and display it to you.&amp;#160; Pick out the table you want, and then right click on it.&amp;#160; This gives you a list of operations you can add as you can see below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSDataSourceAddOperations_2B29F237.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSDataSourceAddOperations" border="0" alt="BCSDataSourceAddOperations" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSDataSourceAddOperations_thumb_29E55958.png" width="324" height="272" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As you can see, you can add individual operations such as Read Item, Read List, Create, Update, and Delete.&amp;#160; You can also create an association if you have multiple tables related to each other.&amp;#160; However, I want everything, so I am going to choose &lt;em&gt;Create All Operations&lt;/em&gt;.&amp;#160; This starts a wizard.&amp;#160; The most important part for you will be the &lt;em&gt;Parameters&lt;/em&gt; configuration.&amp;#160; Here you set what field to show in a picker control as well as what the id is.&amp;#160; Usually, you don’t need to configure much.&amp;#160; Here I am setting that the name field should show up in the picker.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSWizardParametersName_1A624789.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSWizardParametersName" border="0" alt="BCSWizardParametersName" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSWizardParametersName_thumb_6D6CE4AD.png" width="432" height="383" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It automatically detects my primary key and maps it to the identifier for me.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSWizardIdentifier_1700AFE1.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSWizardIdentifier" border="0" alt="BCSWizardIdentifier" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSWizardIdentifier_thumb_4AC8A632.png" width="358" height="82" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can also specify an Office Property to allow you to map things into existing types such as an Outlook Contact or Task.&amp;#160; This lets you use Office to edit things directly in the BCS.&amp;#160; I won’t cover that today though since that is a little bit more involved.&amp;#160; The next step in the wizard allows you to do some filtering.&amp;#160; In my case, I am skipping it.&amp;#160; &lt;/p&gt;  &lt;p&gt;When that is finished, go back to the main tab for your External Content Type and you should see something like this.&amp;#160; It has the operations you have chosen as well as what fields are in the type.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSTabComplete_6DA967E2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSTabComplete" border="0" alt="BCSTabComplete" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSTabComplete_thumb_0E503188.png" width="533" height="377" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;   &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;Now, we want to save out External Content Type, by pressing the Save (Disk Icon) in the top left corner.&amp;#160; On to the fun part.&amp;#160; Let’s use SharePoint Designer to create an External List by using the &lt;em&gt;Create Lists &amp;amp; Form&lt;/em&gt; button in the ribbon.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSCreateListsFormButton_252F0304.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSCreateListsFormButton" border="0" alt="BCSCreateListsFormButton" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSCreateListsFormButton_thumb_3CE63A6A.png" width="124" height="102" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;Clicking it you will get the following screen asking about your list.&amp;#160; I’m calling my lists &lt;em&gt;Products&lt;/em&gt; and I just use default values for the rest.&amp;#160; If you are using server, you can click the Create InfoPath Form checkbox and you will be able to customize the InfoPath form for the list right there.&amp;#160; Since we are using Foundation today, I’ll leave that unchecked.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSExternalList_482F4EA7.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSExternalList" border="0" alt="BCSExternalList" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSExternalList_thumb_52144012.png" width="330" height="200" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;You can also create the list directly through SharePoint as well.&amp;#160; Once the list is created, go to your SharePoint site, navigate to the list, and you should see something that looks like this.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSExternalListView_10998DB9.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSExternalListView" border="0" alt="BCSExternalListView" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSExternalListView_thumb_27E4922A.png" width="709" height="313" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;Comparing it to my table from the SQL Server, you can see that it matches.&amp;#160; You can see that it looks a lot like a regular list in SharePoint.&amp;#160; Now, what if I want to change the price on the Plush Bear?&amp;#160; Not a problem.&amp;#160; Click on the item and select edit, change the value in the form and save it.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSEditItem_01A238D2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSEditItem" border="0" alt="BCSEditItem" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSEditItem_thumb_19597038.png" width="335" height="234" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;Now what does the data in SQL look like?&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSQLEdit_77F9CA9B.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="BCSSQLEdit" border="0" alt="BCSSQLEdit" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/BCSSQLEdit_thumb_5DB96177.png" width="348" height="136" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;It has the new price of course.&amp;#160; You can also add and delete rows and perform bulk operations, but screenshots really don’t do it justice.&amp;#160; It’s this simple to set up, you should go out and try it for yourself.&amp;#160; One reminder, I will give you is that even though this looks like a list, it doesn’t always quite act like a list.&amp;#160; You won’t find it in SPWeb.Lists for example.&amp;#160; There are a also a number of other things that do and don’t work.&amp;#160; Be on the lookout for a follow-up post on what you can and can’t do with an external list.&amp;#160; This is a great new feature in SharePoint 2010 and I hope you will like it as much as I do.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=2694" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Data+Catalog/default.aspx">Business Data Catalog</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+Designer/default.aspx">SharePoint Designer</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SP2010+Beta/default.aspx">SP2010 Beta</category></item><item><title>Features I am looking forward to the most in SharePoint 2010</title><link>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/07/13/features-i-am-looking-forward-to-the-most-in-sharepoint-2010.aspx</link><pubDate>Mon, 13 Jul 2009 15:47:36 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:935</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=935</wfw:commentRss><comments>http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/07/13/features-i-am-looking-forward-to-the-most-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;I’m not privy to the NDA, so I got to look at some of the new SharePoint 2010 (&lt;a href="http://twitter.com/#search?q=sp2010"&gt;#sp2010&lt;/a&gt;) information for the first time with the &lt;a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx"&gt;Sneak Peak&lt;/a&gt; videos on the Microsoft site.&amp;#160; I’ll try not to just repeat information in the videos, but tell you what I am looking forward to and make comments.&amp;#160; I am sure everything they have stated so far is subject to change, but if half of it even gets implemented we’ll be in good shape.&amp;#160; As I was watching the admin video, the first thing that I noted is that there will be a logging database.&amp;#160; This appears to replace the need to find errors in the 12 hive’s LOGS folder.&amp;#160; This is very exciting and should make it much easier to track down problems.&amp;#160; Also of interest is that there is much improved export support and you will be able to backup specific sites and lists.&amp;#160; This one is a no-brainer and should have always been included to begin with.&amp;#160; &lt;/p&gt;  &lt;p&gt;Another thing I saw was various things to help support large lists.&amp;#160; The first thing being an admin configurable threshold on allowing how many items can be displayed in the default view at a time.&amp;#160; The default was 5000 in the demo, so I am wondering if this will be the new suggested limit as opposed to the existing 3000 item limit today.&amp;#160; What is cool is that the interface will display all of the items for an administrator but it will notify a regular user that too many items have been returned and that they need to use a filter.&lt;/p&gt;  &lt;p&gt;Visual Studio 2010 looks like it will be a great experience for developing SharePoint solutions.&amp;#160; Out-of-the-box there is built in support for editing all types of things in SharePoint including importing workflows created by SharePoint Designer and existing .wsp packages.&amp;#160; Building web parts no longer requires generating HTML via code due to the new Visual Web Part Designer.&amp;#160; It appears they created a new typed called VisualWebPartUserControl which inherits from UserControl.&amp;#160; You can drag and drop controls right onto the design surface and then easily deploy the web part with minimal effort.&amp;#160; There are lots of designers and tools for working with the features and solution package itself, but it appears it takes care of most everything for you while still allowing you to customize things when you need to.&lt;/p&gt;  &lt;p&gt;The changes to the Business Data Catalog really excite me.&amp;#160; The BDC is now known as Business Connectivity Services (BCS).&amp;#160; Application definition files can be created easily with Visual Studio 2010 or SPD.&amp;#160; A visual design surface is available and allows you to easily create an application definition for an entity which comes from a database, web service, or .NET object.&amp;#160; It also now has true insert/update/delete support and will create the methods in your application definition so that you can use that functionality later in a list.&amp;#160; The new External List feature allows you to associate this application definition with a list and perform all of the CRUD operations on it just like it was a regular SharePoint list.&amp;#160; This will make it very easy to integrate external data into SharePoint.&amp;#160; My only question with this that comes to mind is there a way to customize the edit form or will that result in an unsupported scenario.&amp;#160; &lt;/p&gt;  &lt;p&gt;Some other cool things about the BCS is that it integrates with Office.&amp;#160; Document templates can be created and data can be retrieved directly from the BCS to fill in values in a document.&amp;#160; Microsoft Groove has been renamed SharePoint Workspace and provides a graphical interface for working with SharePoint.&amp;#160; On top of that it provides the capability of syncing entire sites offline including BCS data.&amp;#160; Documents can be updated and LOB data can be changed and then it can be synced back to SharePoint.&amp;#160; I think this will provide great functionality for any type of field or remote users who are occasionally connected.&lt;/p&gt;  &lt;p&gt;As a developer, another feature I was really excited about was LINQ support for SharePoint lists.&amp;#160; You will be able to point the spmetal tool at a SharePoint list to generate a strongly typed data context class.&amp;#160; You can then query the list as you would anything else using LINQ.&amp;#160; I took a look at the CTP of the &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=94afe886-3b20-4bc9-9a0d-acd8cd232c24#tm"&gt;Developer Documentation&lt;/a&gt; today as well.&amp;#160; It looks like all of the collections now have a method called GetTypeEnumerator(T).&amp;#160; This returns an IEnumerator&amp;lt;T&amp;gt; which means any collection that implements this can also be queried with LINQ.&amp;#160; I am really hoping this eliminates CAML queries, however I did see in the Client Object Model demo, that they still used a CAML query there.&amp;#160; Since I brought up the Client OM, I’ll mention that there is a client object model available now for SharePoint which will make things like integrating with Silverlight very easy.&lt;/p&gt;  &lt;p&gt;Unfortunately, they haven’t really produced any information about the changes in Search yet.&amp;#160; I am looking forward to hearing most about those.&amp;#160; Hopefully, they completely scrapped the Search Center and started over.&amp;#160; I am wondering if there are any changes in the Records Center too.&amp;#160; I also wonder how this will affect partners that have built tools around MOSS 2007.&amp;#160; I can see Lightning Tools BDC Meta Man and AvePoint being directly affected.&amp;#160; However, I am sure there will still be new areas for these companies to explore with the new product.&amp;#160; This is an exciting time and I can’t wait for the public beta and to hear more about the product.&amp;#160; Unfortunately, it’s not looking like I will make it to the SharePoint Conference this year, so I will have to be getting a lot of information second hand.&lt;/p&gt;  &lt;p&gt;On a related note, don’t forget about the &lt;a href="http://www.tulsadnug.org/DesktopDefault.aspx"&gt;Tulsa SharePoint Interest Group&lt;/a&gt; tonight.&lt;/p&gt;  &lt;p&gt;Follow me on &lt;a href="http://twitter.com/coreyroth"&gt;twitter&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://dotnetmafia.com/aggbug.aspx?PostID=935" width="1" height="1"&gt;</description><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Data+Catalog/default.aspx">Business Data Catalog</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+Designer/default.aspx">SharePoint Designer</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Business+Connectivity+Services/default.aspx">Business Connectivity Services</category><category domain="http://dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category></item></channel></rss>