<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>Eli Robillard&amp;#39;s World of Blog.</title><link>http://weblogs.asp.net/erobillard/default.aspx</link><description>Bligger. Blagger. Blogger.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>International SharePoint Professionals Association: It's alive!</title><link>http://weblogs.asp.net/erobillard/archive/2008/07/18/international-sharepoint-professionals-association-it-s-alive.aspx</link><pubDate>Fri, 18 Jul 2008 18:05:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6416633</guid><dc:creator>erobillard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=6416633</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/07/18/international-sharepoint-professionals-association-it-s-alive.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;IMG style="HEIGHT: 100px" title="ISPA Logo" alt="ISPA Logo" src="http://bobfox.securespsite.com/Site%20Pictures/ispa-med.jpg" height=100 mce_src="http://bobfox.securespsite.com/Site Pictures/ispa-med.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;On Wednesday Bob Fox &lt;A class="" href="http://bobfox.securespsite.com/FoxBlog/Lists/Posts/Post.aspx?ID=98" mce_href="http://bobfox.securespsite.com/FoxBlog/Lists/Posts/Post.aspx?ID=98"&gt;announced the launch of the ISPA&lt;/A&gt;&amp;nbsp;and its website at &lt;A href="http://www.sharepointpros.org/"&gt;http://www.sharepointpros.org/&lt;/A&gt;. Bob's been putting this together for well over a year so first off, congratulations to Bob on launching and thank-you for all the hard work you do to help user groups world-wide.&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;What does the ISPA do? Initially its goal is to support existing SharePoint user groups and help people kick-start new ones. There's a small board and a number of evangelists world-wide. &lt;A class="" href="http://blogs.devhorizon.com/reza/" mce_href="http://blogs.devhorizon.com/reza/"&gt;Reza&lt;/A&gt; and I are the first two "Canadian Evangelists" and we can't wait to have counterparts in the West and East.&amp;nbsp;Canada only has one&amp;nbsp;SharePoint User Group (&lt;A class="" href="http://www.tspug.com/" mce_href="http://www.tspug.com/"&gt;Toronto&lt;/A&gt;) but there is demand from coast-to-coast. If you've been wishing there was somewhere you could go to learn the latest about SharePoint, maybe the ISPA can bring out the user group leader in you. &lt;/P&gt;
&lt;P mce_keep="true"&gt;To learn more or to learn how to start a SharePoint user group in your area, you're welcome to contact me through this blog, or e-mail the ISPA at &lt;A href="mailto:contactus@sharepointpros.org" target=_blank&gt;&lt;EM&gt;contactus@sharepointpros.org&lt;/EM&gt;&lt;/A&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6416633" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category></item><item><title>Review of the SharePoint Scalability White Paper</title><link>http://weblogs.asp.net/erobillard/archive/2008/06/18/review-of-the-sharepoint-scalability-white-paper.aspx</link><pubDate>Wed, 18 Jun 2008 15:50:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6291512</guid><dc:creator>erobillard</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=6291512</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/06/18/review-of-the-sharepoint-scalability-white-paper.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;A&amp;nbsp;&lt;A class="" href="http://technet.microsoft.com/en-us/library/cc262067(TechNet.10).aspx" mce_href="http://technet.microsoft.com/en-us/library/cc262067(TechNet.10).aspx"&gt;SharePoint Server 2007 Scalability and Performance whitepaper&lt;/A&gt; was recently released "to provide strategic information about designing a high-volume, high-availability enterprise solution that can easily grow." it was &lt;A class="" href="http://blogs.msdn.com/sharepoint/archive/2008/06/17/belated-announcement-sharepoint-server-2007-scalability-and-performance-whitepaper-now-available.aspx" mce_href="http://blogs.msdn.com/sharepoint/archive/2008/06/17/belated-announcement-sharepoint-server-2007-scalability-and-performance-whitepaper-now-available.aspx"&gt;announced yesterday in the SharePoint Product Team blog&lt;/A&gt;. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;There is plenty of good content here, lots of good ideas, and many attractive diagrams. As for the tests, these are idyllic goals to shoot for if you want great performance – minimize (or eliminate) inserts and deletes, keep fewer than 200 files per folder (if you do the math, they appear to cap it at 130), don’t use more than 5 WFEs, and spread your databases over many physical volumes.&amp;nbsp;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Note that the testers assign 2 (or 3 in the case of H:) business divisions, each with its own content database, per 1 TB physical volume (Fig. 12), which is more SAN management than most shops are aware they should provide. This allows ~500 GB per division. It’s interesting that while the content databases stay under 200 GB for a combined total of &amp;lt;400GB, the used disk space averages 600.375 GB (Fig. 19).&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;To restate the point: separate physical disks remain the best path to efficient I/O, and sets of local disks kick the tar out of any SAN that doesn’t take the separation into account. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Just because you move “the storage problem” to a network service doesn’t mean you should forget about intelligent design. The best practice to provide separate physical volumes for the OS, data, logs&amp;nbsp;and temporary files remains.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;On to the test methodology. &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Note that in these tests they loaded the data beforehand, and the “user load testing” consisted of modifying existing documents, not inserts or deletes. No files, sites or site collections were created or harmed in the course of this study. Search the document for “delete,” you won’t find it. Why not? Because for each content database, list items inserts are O(n), and site creation and and deletion are (politely) non-deterministic. It takes an incrementally longer period to insert an item as it did for previous items. When the icon is spinning during site creation, other requests may (or may not) be&amp;nbsp;fulfilled until the&amp;nbsp;operation is complete. Deleting a site may also have an effect on response time.&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Again, this performance factor affects requests &lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;being served from the same content database, requests served by other content dbs are not affected.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;For constructing a document repository with relatively static content, or a Publishing Site for WCM, this is an excellent and thorough document. This whitepaper describes a "large-scale content storage scenario" rather than a "large scale &lt;EM&gt;collaboration &lt;/EM&gt;scenario." That doesn't mean you can't build a scalable SharePoint collaboration environment, but this whitepaper doesn't claim to describe it. Keep that in mind when you look at the performance graphs. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;As to the architecture itself and the guidance provided in constructing the test farms, this whitepaper&amp;nbsp;is worth a look. Thank-you to the team who put it together, there's some good stuff here, but for the future&amp;nbsp;I'd really like to see&amp;nbsp;testing go beyond browsing, search, and file updates.&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-themecolor: dark2"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6291512" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2400_+My+Two+Cents/default.aspx">$ My Two Cents</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category></item><item><title>TSPUG June 25: Future-Ready SharePoint From Taxonomy to Deployment </title><link>http://weblogs.asp.net/erobillard/archive/2008/06/17/tspug-june-25-future-ready-sharepoint-from-taxonomy-to-deployment.aspx</link><pubDate>Tue, 17 Jun 2008 20:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6287633</guid><dc:creator>erobillard</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=6287633</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/06/17/tspug-june-25-future-ready-sharepoint-from-taxonomy-to-deployment.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;A class="" href="http://maps.live.com/default.aspx?v=2&amp;amp;FORM=LMLTCC&amp;amp;cp=43.670198~-79.386858&amp;amp;style=r&amp;amp;lvl=14&amp;amp;tilt=-90&amp;amp;dir=0&amp;amp;alt=-1000&amp;amp;phx=0&amp;amp;phy=0&amp;amp;phscl=1&amp;amp;where1=2%20bloor%20west%2C%20toronto%2C%20on%2C%20canada&amp;amp;encType=1" mce_href="http://maps.live.com/default.aspx?v=2&amp;amp;FORM=LMLTCC&amp;amp;cp=43.670198~-79.386858&amp;amp;style=r&amp;amp;lvl=14&amp;amp;tilt=-90&amp;amp;dir=0&amp;amp;alt=-1000&amp;amp;phx=0&amp;amp;phy=0&amp;amp;phscl=1&amp;amp;where1=2%20bloor%20west%2C%20toronto%2C%20on%2C%20canada&amp;amp;encType=1"&gt;&lt;STRONG&gt;Toronto SharePoint User Group&lt;/STRONG&gt;&lt;BR&gt;2 Bloor West, Toronto&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Wednesday, June 25&lt;/STRONG&gt;&lt;BR&gt;6:00pm Registration and Social&lt;BR&gt;6:30pm Meeting &lt;BR&gt;7:00pm Feature Presentation (description below)&lt;BR&gt;8:30pm Closing&lt;/P&gt;
&lt;P mce_keep="true"&gt;This is our last meeting of the 2007-2008 season.&amp;nbsp;After &lt;STRONG&gt;June 25&lt;/STRONG&gt;, TSPUG is on summer break until &lt;STRONG&gt;September 17&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Future-Ready SharePoint Architecture: From Taxonomy to Deployment &lt;BR&gt;&lt;/STRONG&gt;by Eli Robillard (&lt;A class="" href="http://www.infusion.com/" mce_href="http://www.infusion.com/"&gt;Infusion Development&lt;/A&gt;), Ruven Gotz (Ideaca),&amp;nbsp;and Craig Lussier (Torys LLP). &lt;/P&gt;
&lt;P mce_keep="true"&gt;In last month's episode (by &lt;A class="" href="http://www.mindsharp.com/" mce_href="http://www.mindsharp.com/"&gt;Mindsharp&lt;/A&gt;, with several &lt;A class="" href="http://mindsharp.com/ClassSearch.aspx?SelectedLocation=Toronto,%20ON&amp;amp;SelectedClass=&amp;amp;SelectedAudience=" mce_href="http://mindsharp.com/ClassSearch.aspx?SelectedLocation=Toronto,%20ON&amp;amp;SelectedClass=&amp;amp;SelectedAudience="&gt;courses in Toronto the week of July 14 to 18&lt;/A&gt;), we learned the benefits of designing an effective taxonomy. This month we'll continue with the how-to's of designing taxonomies, and then &lt;BR&gt;turn our business requirements and corporate taxonomy into an effective SharePoint deployment. Discover the techniques, learn about great software to support the design process, and see a case study of a sucessful deployment. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A class="" href="mailto:susiei@cyberplex.com?subject=[TSPUG-June-RSVP]" mce_href="mailto:susiei@cyberplex.com?subject=[TSPUG-June-RSVP]"&gt;To attend, please RSVP&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Thanks to our sponsors for another great year! &lt;BR&gt;&lt;A class="" href="http://www.nexient.com/" mce_href="http://www.nexient.com/"&gt;Nexient&lt;/A&gt; - &lt;A class="" href="http://www.cyberplex.com/" mce_href="http://www.cyberplex.com/"&gt;Cyberplex&lt;/A&gt; - &lt;A class="" href="http://technet.microsoft.com/en-ca/default.aspx" mce_href="http://technet.microsoft.com/en-ca/default.aspx"&gt;Microsoft&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;TSPUG Takes Requests:&lt;/STRONG&gt;&amp;nbsp;Comment on this post to tell me what you'd like to see! &lt;/P&gt;
&lt;P mce_keep="true"&gt;Stay tuned for the announcement of the &lt;STRONG&gt;2nd Annual SharePoint Camp&lt;/STRONG&gt;, coming in Fall 2008! &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6287633" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Events/default.aspx">Events</category></item><item><title>WCAG and CLF 2.0 Compliance for SharePoint</title><link>http://weblogs.asp.net/erobillard/archive/2008/06/05/wcag-and-clf-2-0-compliance-for-sharepoint.aspx</link><pubDate>Thu, 05 Jun 2008 20:45:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6251355</guid><dc:creator>erobillard</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=6251355</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/06/05/wcag-and-clf-2-0-compliance-for-sharepoint.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Here's a nugget. At the May &lt;A class="" href="http://tspug.com/" mce_href="http://tspug.com/"&gt;Toronto SharePoint User Group&lt;/A&gt; meeting I met Mike Maadarani who got me excited about his company's &lt;A class="" href="http://www.orangutech.com/OTech01/About/CLFLicense.aspx" mce_href="http://www.orangutech.com/OTech01/About/CLFLicense.aspx"&gt;CLF 2.0 SharePoint Toolkit&lt;/A&gt;. Orangutech is based in &lt;A class="" href="http://www.google.com/search?q=ottawa%2C+on%2C+canada" mce_href="http://www.google.com/search?q=ottawa%2C+on%2C+canada"&gt;our nation's capital&lt;/A&gt; and they've been working with a government department and Microsoft to help SharePoint meet CLF 2.0 and WCAG requirements. From the documentation: &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN lang=EN-CA&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;The CLF 2.0 Team Site Feature will allow departments and agencies to create SharePoint team web sites [and publishing sites] that conform to the new Common Look and Feel Standards 2.0 (CLF 2.0) that conforms to the World Wide Web (W3C) Web Content Accessibility Guidelines 1.0 Priority 1 and 2 checkpoints, which are collectively known as WCAG 1.0 AA.&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN lang=EN-CA&gt;&lt;FONT face=Tahoma&gt;The toolkit includes two solutions, one with Publishing Site features, the other with Team Site features. Each include both a WSP for an automatic install, and a set of files with instructions for manual deployment. The Publishing site features include the configuration of English and French variations. The actual elements provided include a List Rollup web part, compliant English and French master pages, three page layouts (1,2, and 3 column), several style sheets, and supporting image files and javascript, mainly for the compliant menus. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN lang=EN-CA&gt;&lt;FONT face=Tahoma&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN lang=EN-CA&gt;&lt;FONT face=Tahoma&gt;It looks like a good piece of work that should have wide appeal on its own or as a starting point for further customized solutions. I located a &lt;A class="" href="http://sharepoint.microsoft.com/sharepoint/worldwide/ca/ottawa/Documents/Forms/AllItems.aspx?RootFolder=%2Fsharepoint%2Fworldwide%2Fca%2Fottawa%2FDocuments%2FECM%20Day%20-%20Presentation&amp;amp;FolderCTID=&amp;amp;View=%7BC6783C5B-2F1F-41FF-A842-052BC176E0F7%7D" mce_href="http://sharepoint.microsoft.com/sharepoint/worldwide/ca/ottawa/Documents/Forms/AllItems.aspx?RootFolder=%2Fsharepoint%2Fworldwide%2Fca%2Fottawa%2FDocuments%2FECM%20Day%20-%20Presentation&amp;amp;FolderCTID=&amp;amp;View=%7BC6783C5B-2F1F-41FF-A842-052BC176E0F7%7D"&gt;WCF CLF 2.0 slide deck on the SharePoint Community Portal&lt;/A&gt; but there is precious little documentation apart from the installation files and tutorial included within the download. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN lang=EN-CA&gt;&lt;FONT face=Tahoma&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN lang=EN-CA&gt;&lt;FONT face=Tahoma&gt;Congratulations to &lt;A class="" href="http://www.orangutech.com/" mce_href="http://www.orangutech.com/"&gt;Orangutech&lt;/A&gt; on the toolkit's release, and thank-you from the community for sharing! &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN lang=EN-CA&gt;&lt;FONT face=Tahoma&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN lang=EN-CA&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;Update&lt;/EM&gt;: I forgot to mention the &lt;A class="" href="http://www.codeplex.com/aks" mce_href="http://www.codeplex.com/aks"&gt;Accessibility Toolkit for SharePoint published on Codeplex&lt;/A&gt;. Of course Mike is convinced that Orangutech's is better, I'll leave it to the Commenters to chime in. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN lang=EN-CA&gt;&lt;FONT face=Tahoma&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6251355" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/Web+Design/default.aspx">Web Design</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category></item><item><title>The rule of good technology</title><link>http://weblogs.asp.net/erobillard/archive/2008/05/07/the-rule-of-good-technology.aspx</link><pubDate>Wed, 07 May 2008 04:12:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6164423</guid><dc:creator>erobillard</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=6164423</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/05/07/the-rule-of-good-technology.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Technology provides value to business by simulating and automating business processes.&amp;nbsp;The measure of business software, whether client or web-based, is its ability to transform Business State A into Goal State B with the least amount of human intervention. Done right, it's about process engineering, not decoration. Business fundamentals haven't changed in ten thousand years, but they're accelerating as we automate. This rule never breaks. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Maybe it's just me, but I can't remember an instance where sticking plastic hearts or stars on file folders helped me find "good content" faster. To each his own criteria, yours probably isn't mine (also a rule by the way). The little green "this answer solved the problem" on &lt;A class="" href="http://www.microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.sharepoint.development_and_programming" mce_href="http://www.microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.sharepoint.development_and_programming"&gt;Microsoft newsgroups&lt;/A&gt; gets it right for me maybe 25% of the time, it's not bad. I don't doubt it solved the thread for whomever put it there, but three out of four times the answer I need&amp;nbsp;is either on some other page or isn't yet documented. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Now if &lt;A class="" href="http://blogs.msdn.com/kn/" mce_href="http://blogs.msdn.com/kn/"&gt;social computing finds me an expert&lt;/A&gt; two floors up and down the hall who can solve Business State Q faster than I could with a coffee room bulletin board or a week of "asking around," fantastic. Type-written index cards with subjects (keywords) to cross-reference libraries, that was useful metadata. Top ten lists a la "&lt;A class="" href="http://www.andrewconnell.com/blog/archive/2007/06/30/6065.aspx" mce_href="http://www.andrewconnell.com/blog/archive/2007/06/30/6065.aspx"&gt;here are the ten best books on subject x&lt;/A&gt;," those are great. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Which brings me to Twitter, which is where this train of thought began. I'm thinking&amp;nbsp;"&lt;A class="" href="http://www.google.com/search?hl=en&amp;amp;rls=com.microsoft%3A*&amp;amp;q=%22twitter+link%22" mce_href="http://www.google.com/search?hl=en&amp;amp;rls=com.microsoft%3A*&amp;amp;q=%22twitter+link%22"&gt;Links to links&lt;/A&gt;? Now that's just silly." I'll click three levels deep if there are actual choices along the way. Start me down a &lt;A class="" href="http://tinyurl.com/29jdop" mce_href="http://tinyurl.com/29jdop"&gt;click tunnel&lt;/A&gt; and I'll avoid&amp;nbsp;your links even if&amp;nbsp;you one day find &lt;A class="" href="http://www.google.com/search?q=%22beer+on+mars%22" mce_href="http://www.google.com/search?q=%22beer+on+mars%22"&gt;beer on Mars&lt;/A&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Is Twitter the Blackberry of blogs? The Blackberry turned e-mail into instant e-mail. Twitter instantly broadcasts the state of your ego (or web browser) to the masses in &amp;lt;141 byte-sized pieces. Like any good tool, it's&amp;nbsp;exactly &lt;A class="" href="http://www.google.com/search?hl=en&amp;amp;rls=com.microsoft%3A*&amp;amp;q=%22power+of+twitter%22" mce_href="http://www.google.com/search?hl=en&amp;amp;rls=com.microsoft%3A*&amp;amp;q=%22power+of+twitter%22"&gt;as useful as the person&lt;/A&gt; wielding it. When it simulates what goes on in the real world and makes it better by &lt;A class="" href="http://www.cnn.com/2008/TECH/04/25/twitter.buck/" mce_href="http://www.cnn.com/2008/TECH/04/25/twitter.buck/"&gt;reaching the goal faster&lt;/A&gt;, it's good technology. When it's used to say "&lt;A class="" href="http://daverohrer.com/twitter-link-find-14/" mce_href="http://daverohrer.com/twitter-link-find-14/"&gt;here's where I was today, maybe you want to go there too&lt;/A&gt;" it's about as entertaining and as productive as &lt;A class="" href="http://en.wikipedia.org/wiki/Television" mce_href="http://en.wikipedia.org/wiki/Television"&gt;TV&lt;/A&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Eleven years ago on &lt;A class="" href="http://www.erobillard.com/archives/BIO104.HTM" mce_href="http://www.erobillard.com/archives/BIO104.HTM"&gt;my first web page&lt;/A&gt; I joked that the Web was the bastard child of television and CB radio. Funny how we keep coming back to that. All I can add is that: if now you can use the rule of good technology to slice through junk and figure out which tools will help reach goals faster, then maybe you can figure out how to automate it. &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6164423" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category></item><item><title>Toronto SharePoint User Group Tonight (and next month)</title><link>http://weblogs.asp.net/erobillard/archive/2008/04/23/toronto-sharepoint-user-group-tonight-and-next-month.aspx</link><pubDate>Wed, 23 Apr 2008 15:13:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6124273</guid><dc:creator>erobillard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=6124273</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/04/23/toronto-sharepoint-user-group-tonight-and-next-month.aspx#comments</comments><description>&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Topic:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt; &lt;B&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;SharePoint and Silverlight – Bringing the best of both worlds together!&lt;/SPAN&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;In this session we'll explore different scenarios for integrating SharePoint 2007 and Silverlight. We’ll explore different ways on how you can leverage the SharePoint 2007 amazing framework to expose content and data in a much richer way.&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Speaker:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Andy Nogueira (MCTS, MCPD, MCAD) has over 10 years of professional experience in the IT industry. He is the Team Lead for the Microsoft Practice Group at nonlinear creations Inc. (nonlinear.ca), a Microsoft Gold Partner.&amp;nbsp; He is responsible for designing and implementing several successful technology solutions based on MOSS 2007 (Microsoft Office SharePoint Server) integrated with technologies such as Enterprise Search, Windows Workflow, &lt;?XML:NAMESPACE PREFIX = ST1 /&gt;&lt;ST1:PLACE w:st="on"&gt;K2&lt;/ST1:PLACE&gt;, Windows Communication Foundation (WCF), and Silverlight. He is also a Microsoft Certified Technology Specialist (MCTS) in WSS 3.0 (Application Development) and MOSS 2007 (Configuration and Application Development).&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 6pt; LINE-HEIGHT: 15.6pt" class=MsoNormal&gt;&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Address: Nexient Learning&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;ST1:STREET w:st="on"&gt;&lt;ST1:ADDRESS w:st="on"&gt;2 Bloor Street West&lt;/ST1:ADDRESS&gt;&lt;/ST1:STREET&gt;, room 11 on the 8th floor&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 6pt; LINE-HEIGHT: 15.6pt" class=MsoNormal&gt;&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Time:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6:00pm&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 6pt; LINE-HEIGHT: 15.6pt" class=MsoNormal&gt;&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To RSVP, please email &lt;A title=blocked::mailto:susie.ibbotson@cyberplex.com href="mailto:susie.ibbotson@cyberplex.com"&gt;susie.ibbotson@cyberplex.com&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-TOP: 6pt; LINE-HEIGHT: 15.6pt" class=MsoNormal&gt;&lt;FONT color=black size=1 face=Verdana&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;STRONG&gt;Next Month: &lt;/STRONG&gt;&amp;nbsp;&lt;A class="" href="http://www.mindsharp.com/" mce_href="http://www.mindsharp.com/"&gt;Mindsharp&lt;/A&gt; speaks on site planning and taxonomies!&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6124273" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Events/default.aspx">Events</category></item><item><title>What to know about SmartPart, and LoadControl()</title><link>http://weblogs.asp.net/erobillard/archive/2008/03/04/what-to-know-about-smartpart-and-loadcontrol.aspx</link><pubDate>Tue, 04 Mar 2008 18:52:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5914659</guid><dc:creator>erobillard</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=5914659</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/03/04/what-to-know-about-smartpart-and-loadcontrol.aspx#comments</comments><description>&lt;p&gt;At &lt;a href="http://www.infusion.com/" mce_href="http://www.infusion.com/"&gt;Infusion&lt;/a&gt; ASP.NET developers regularly ask how to easily build a web part or how to host a &lt;a href="http://www.google.ca/search?q=asp.net+user+control" mce_href="http://www.google.ca/search?q=asp.net+user+control"&gt;user control&lt;/a&gt; (.ascx) in SharePoint. Someone invariably replies "SmartPart!" at which point my job is to make sure they understand what they're getting into. &lt;/p&gt;&lt;p&gt;&lt;a href="http://codeplex.com/smartpart/" mce_href="http://codeplex.com/smartpart/"&gt;SmartPart&lt;/a&gt; is a cleverly coded web part by fellow MOSS MVP &lt;a href="http://weblogs.asp.net/jan/" mce_href="http://weblogs.asp.net/jan/"&gt;Jan Tielens&lt;/a&gt;.  Once installed, you can drag an instance of SmartPart into a SharePoint web part zone and configure the new web part to host an .ascx file stored in the file system. And like magic, you can host user controls in SharePoint. Recent versions (v1.3+) are AJAX-aware, support web part connections, and improved the deployment story, and the underlying code is really quite good. &lt;br&gt;&lt;/p&gt;&lt;p&gt;But, there are drawbacks, some of which may be overcome, some of which are realities. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;span lang="EN-AU"&gt;1. SmartPart examples set web.config to Full
Trust. Not for the web part, but for the entire SharePoint application. You do not want to do this in Production, and happily this is avoidable. However, it does mean that you can't avoid the pain of creating a CAS policy (e.g. if your controls require access to the SharePoint API or unmanaged resources) by using the SmartPart. &lt;br&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;2.&lt;span lang="EN-AU"&gt; SmartPart is an open source project, but the download contains only its classes so you can't compile it without some work of your own. If you work for clients who want to use SmartPart, I strongly recommend building your own SmartPart project as a starting point, and maintaining that code base as new features are added to the CodePlex project. While you won't "own" the code (copyright rules would say it's still Jan's and you should attribute it as such), you will now have full control and accountability for the code running on your servers, as it should be. &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span lang="EN-AU"&gt;3. The &lt;a href="http://www.codeplex.com/smartpart/license"&gt;SmartPart
disclaimer&lt;/a&gt; defines exactly what to expect should things go wrong, or should
you need to extend its capabilities: ". . . the Software comes 'as is',
with no warranties. None whatsoever. This means no express, implied or
statutory warranty, including without limitation, warranties of merchantability
or fitness for a particular purpose or any warranty of title or non-infringement."
Part of the license is to distribute this license whenever SmartPart is used.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;To be fair, this disclaimer is similar to many software licenses, and all open source licenses. Linux is open source and offers no support. When things go wrong with Linux, Linus Torvalds will not show up at your door to hold your hand. To make Linux palatable for Production, Red Hat sells support. If you pay extra, they may even hold your hand. &lt;/p&gt;&lt;p&gt;&lt;span lang="EN-AU"&gt;SmartPart carries no support, and
no commercial version exists that would provide support. &lt;/span&gt;But, if you follow the advice of the last point and create you own project so you have control of the code, you can support your own. This is what you want to avoid: &lt;span lang="EN-AU"&gt;there was a period of
several months after GotDotNet was decommissioned and SmartPart did not yet
exist on CodePlex. During this time it was impossible to download any
"official" version of SmartPart, current or otherwise. had the source been released earlier (it wasn't) this wouldn't have inconvenienced anyone. From now on should the source become unavailable for any reason, you'll only have yourself to blame.&amp;nbsp;  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span lang="EN-AU"&gt;4. Building a custom web part that uses LoadControl() to host a user control is not difficult, and SmartPart's source code is a great way to learn how! The sample code below shows you how to load a user control and interact with its content from a web part, in this case to retrieve the content of a SharePoint list and implement paging. &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Using the sample code&lt;/b&gt;&lt;/p&gt;&lt;p&gt;This is intended to roughly parallel the Smartpart - the user control will go into a usercontrols folder at the root of your application and the web part's assembly can be deployed to the GAC unless you'd like to write a CAS policy to deploy it to the bin folder. &lt;br&gt;&lt;/p&gt;&lt;p&gt;Place the ascx in a \usercontrols folder into the Web Application's root (e.g. C:\Inetpub\wwwroot\wss\VirtualDirectories\80\usercontrols). &lt;br&gt;&lt;/p&gt;&lt;p&gt;Create the web part, sign the project and add a line like this to the SafeControls section of web.config. Remember to replace the Assembly attribute with your own, best obtained by opening your assembly with &lt;a href="http://www.aisto.com/roeder/dotnet/" mce_href="http://www.aisto.com/roeder/dotnet/"&gt;Reflector&lt;/a&gt;:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SafeControl Assembly="LoadControlWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=myToken" Namespace="LoadControlWP" TypeName="LoadControlWebPart" Safe="True" /&amp;gt;&lt;br&gt;&lt;br&gt;Then get your web part's assembly into the GAC and recycle the application pool, or build a CAS policy (if you control requires it) and place it in the web application's bin folder. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Sample code (LoadControlWP.cs):&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;using System;&lt;br&gt;using System.Collections.Generic;&lt;br&gt;using System.Text;&lt;br&gt;&lt;br&gt;using System.Web;&lt;br&gt;using System.Web.UI;&lt;br&gt;using System.Web.UI.WebControls;&lt;br&gt;using System.Data;&lt;br&gt;using System.Web.UI.WebControls.WebParts;&lt;br&gt;using System.Diagnostics;&lt;br&gt;using Microsoft.SharePoint;&lt;br&gt;&lt;br&gt;namespace LoadControlWP&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class LoadControlWebPart : System.Web.UI.WebControls.WebParts.WebPart&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private UserControl usercontrol;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private GridView gvDemo;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private const string defaultlist = "";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string _listtolink = defaultlist;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected DataTable dtDemo = null;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Personalizable(), WebBrowsable(),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebDisplayName("List to display"),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebDescription("Name of the list in this site to display")]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string ListToLink&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return _listtolink; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set { _listtolink = value; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void CreateChildControls()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.CreateChildControls();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Controls.Clear();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.GetData();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usercontrol = (UserControl)Page.LoadControl(@"/usercontrols/wpgrid.ascx");&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvDemo = (GridView)this.usercontrol.FindControl("gvDemo");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvDemo.AllowPaging = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvDemo.DataSource = dtDemo;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvDemo.PageSize = 3;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvDemo.PageIndexChanging += new GridViewPageEventHandler(gvDemo_PageIndexChanging);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Controls.Add(usercontrol);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvDemo.DataBind();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EventLog.WriteEntry("WebParts", "UCWebPart" + ex.ToString());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void gvDemo_PageIndexChanging(object sender, GridViewPageEventArgs e)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvDemo.PageIndex = e.NewPageIndex;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvDemo.DataBind();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void GetData()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ListToLink.Length &amp;gt; 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dtDemo = new DataTable();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dtDemo.Columns.Add("Title", Type.GetType("System.String"));&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPWeb site = SPContext.Current.Web;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPList list = site.Lists[_listtolink];&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (SPListItem item in list.Items)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataRow newRow = dtDemo.NewRow();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newRow["Title"] = item["Title"];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dtDemo.Rows.Add(newRow);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EventLog.WriteEntry("WebParts", "UCWebPart - Retrieving items from " + _listtolink + "-" + ex.ToString(), EventLogEntryType.Error);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Sample code (wpgrid.ascx):&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;%@ Control Language="C#" ClassName="WebUserControl" %&amp;gt;&lt;br&gt;&lt;br&gt;&amp;lt;script runat="server"&amp;gt;&lt;br&gt;&lt;br&gt;&amp;lt;/script&amp;gt;&lt;br&gt;&lt;br&gt;&amp;lt;asp:GridView ID="gvDemo" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Columns&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:BoundField DataField="Title" HeaderText="Title" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Columns&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RowStyle BackColor="#F7F6F3" ForeColor="#333333" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EditRowStyle BackColor="#999999" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;AlternatingRowStyle BackColor="White" ForeColor="#284775" /&amp;gt;&lt;br&gt;&amp;lt;/asp:GridView&amp;gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5914659" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category></item><item><title>"How to build a SharePoint dev box" updated</title><link>http://weblogs.asp.net/erobillard/archive/2008/02/27/quot-how-to-build-a-sharepoint-dev-box-quot-updated.aspx</link><pubDate>Wed, 27 Feb 2008 17:39:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5871400</guid><dc:creator>erobillard</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=5871400</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/02/27/quot-how-to-build-a-sharepoint-dev-box-quot-updated.aspx#comments</comments><description>&lt;p&gt;I've updated the article on &lt;a href="http://weblogs.asp.net/erobillard/archive/2007/02/23/build-a-sharepoint-development-machine.aspx" mce_href="http://weblogs.asp.net/erobillard/archive/2007/02/23/build-a-sharepoint-development-machine.aspx"&gt;how to build a development machine for SharePoint 2007&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;The best tool I've discovered&amp;nbsp; is the &lt;a href="http://codeplex.com/spm/" mce_href="http://codeplex.com/spm/"&gt;SharePoint Manager 2007&lt;/a&gt; which takes over from the &lt;a href="http://codeplex.com/spi/" mce_href="http://codeplex.com/spi/"&gt;SharePoint Inspector&lt;/a&gt; as the object model browser of choice. &lt;/p&gt;&lt;p&gt;Notable tools not yet on the how-to&amp;nbsp; page are the &lt;a href="http://www.u2u.info/SharePoint/U2U%20Community%20Tools/Forms/AllItems.aspx" mce_href="http://www.u2u.info/SharePoint/U2U%20Community%20Tools/Forms/AllItems.aspx"&gt;U2U CAML Creator&lt;/a&gt; tool and Ms. White's &lt;a href="http://www.codeplex.com/elblanco" mce_href="http://www.codeplex.com/elblanco"&gt;Event Receiver Manager&lt;/a&gt;. &lt;br&gt;&lt;/p&gt;&lt;p&gt;Several of the recommended tools were moved into a new &lt;i&gt;optional &lt;/i&gt;section, the most notable of which is the VSeWSS component which I really can't recommend. There are so many &lt;a href="http://www.google.ca/search?q=sharepoint+visual+studio+template+site%3Acodeplex.com" mce_href="http://www.google.ca/search?q=sharepoint+visual+studio+template+site%3Acodeplex.com"&gt;better project templates available on CodePlex&lt;/a&gt; that the sole bright spot of VSeWSS is the Solution Generator. In another tragic turn, VSeWSS was "updated" and baked into VS 2008 in a way that actually made a few templates worse. So while the workflow designer is better, it's even harder to deploy your custom workflow to another machine now.  &lt;/p&gt;&lt;p&gt;As always, if you see ways to improve this how-to guide I'd love to hear from you! &lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5871400" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2400_+My+Two+Cents/default.aspx">$ My Two Cents</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category></item><item><title>Recent News</title><link>http://weblogs.asp.net/erobillard/archive/2008/02/25/recent-news.aspx</link><pubDate>Mon, 25 Feb 2008 21:33:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5870931</guid><dc:creator>erobillard</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=5870931</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/02/25/recent-news.aspx#comments</comments><description>&lt;p&gt;I've been head-down, full speed ahead, damn the torpedoes, coding like it's 1999, interrupted only by the 5-day odyssey that was the Worst Move Ever. Every other day it seems I've had a search that returned 5 or fewer hits, so obscure problems were encountered, and solutions and more will be blogged in the weeks ahead. &lt;br&gt;&lt;/p&gt;&lt;p&gt;What's been going on in the outside world? Plenty. &lt;a href="http://www.microsoft.com/canada/heroeshappenhere/register/default.mspx" mce_href="http://www.microsoft.com/canada/heroeshappenhere/register/default.mspx"&gt;There's a Windows Server 2008 / SQL 2008 / VS 2008 launch event in Toronto this Wednesday&lt;/a&gt;. At MSFT, &lt;a href="http://www.microsoft.com/Presspass/press/2008/feb08/2008ExpandedLeadershipPR.mspx" mce_href="http://www.microsoft.com/Presspass/press/2008/feb08/2008ExpandedLeadershipPR.mspx"&gt;Scott Guthrie was promoted&lt;/a&gt; from GM to Corporate VP of the .NET Developer Platform, &lt;a href="http://blogs.msdn.com/somasegar/" mce_href="http://blogs.msdn.com/somasegar/"&gt;Soma&lt;/a&gt; is now Senior VP of Dev Div, and here in Canada Elizabeth Caley's purview moved beyond SharePoint to cover all of Office System. Last Wednesday &lt;a href="http://searchcounsel.com/" mce_href="http://searchcounsel.com/"&gt;Robin Macrae&lt;/a&gt; wowed the Toronto SharePoint User Group with a session on developing an enterprise strategy with SharePoint as its core platform, and &lt;br&gt; &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5870931" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Events/default.aspx">Events</category></item><item><title>Will you be at Toronto CodeCamp this Saturday, March 1?</title><link>http://weblogs.asp.net/erobillard/archive/2008/02/25/will-you-be-at-toronto-codecamp-this-saturday-march-1.aspx</link><pubDate>Mon, 25 Feb 2008 21:24:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5860935</guid><dc:creator>erobillard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=5860935</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/02/25/will-you-be-at-toronto-codecamp-this-saturday-march-1.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.torontocodecamp.net/" mce_href="http://www.torontocodecamp.net/"&gt;&lt;span id="dnn_ctr374_CodeCamp_lstEvents_ctl00_lblDescription" class="Normal"&gt;http://www.torontocodecamp.net/&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span id="dnn_ctr374_CodeCamp_lstEvents_ctl00_lblDescription" class="Normal"&gt;"The &lt;strong&gt;Third Annual Toronto Code Camp,&lt;/strong&gt; a free .NET community sponsored event, will be held on March 1&lt;sup&gt;st&lt;/sup&gt;,
2007! Last years event was a huge success with over 350 attendees, 25
sessions, 24 speakers and&amp;nbsp;20+ volunteers. This year we will continue to
build on the success of the prior Code Camps and increase the number of
attendees and make the event an even greater critical and logistical
success."&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.infusionblogs.com/nmitha" mce_href="http://www.infusionblogs.com/nmitha"&gt;Nadeem Mitha&lt;/a&gt; from Infusion will be there to talk SharePoint (a last-minute addition, his session may not appear until the event) as will SharePoint pros Reza Alirezaei (MOSS MVP), Bill Brockbank, CodeCamp organizer Chris Dufour, and a slew of other great speakers. I'll be dropping in to see friends old and new, but the dominant theme of my weekend will be R&amp;amp;R with my daughter. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5860935" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Training/default.aspx">Training</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Events/default.aspx">Events</category></item><item><title>Translated solution to SPListItem CopyTo bug</title><link>http://weblogs.asp.net/erobillard/archive/2008/01/14/translated-solution-to-splistitem-copyto-bug.aspx</link><pubDate>Mon, 14 Jan 2008 16:11:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5602524</guid><dc:creator>erobillard</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=5602524</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/01/14/translated-solution-to-splistitem-copyto-bug.aspx#comments</comments><description>&lt;p&gt;Problem: The SPListItem.CopyTo() method doesn't seem to work on a custom list or custom properties. When called, CopyTo() returns the error "Source item cannot be found. Verify that the item exists and that you have permission to read it." &lt;br&gt; &lt;/p&gt;&lt;p&gt;Solution: &lt;a href="http://www.communardo.de/techblog/2008/01/08/sharepoint-listenelement-splistitem-in-eine-andere-liste-kopieren/" mce_href="http://www.communardo.de/techblog/2008/01/08/sharepoint-listenelement-splistitem-in-eine-andere-liste-kopieren/"&gt;Dorrit Riemenschneider posted this solution in German&lt;/a&gt;, which is roughly translated below thanks to &lt;a href="http://babelfish.altavista.com/" mce_href="http://babelfish.altavista.com/"&gt;Babelfish&lt;/a&gt; and a little of my own interpretation. Dorrit provides source code you can cut and paste, look for the section in &lt;i&gt;italics&lt;/i&gt; near the end of his post:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.communardo.de/techblog/2008/01/08/sharepoint-listenelement-splistitem-in-eine-andere-liste-kopieren/" mce_href="http://www.communardo.de/techblog/2008/01/08/sharepoint-listenelement-splistitem-in-eine-andere-liste-kopieren/"&gt;http://www.communardo.de/techblog/2008/01/08/sharepoint-listenelement-splistitem-in-eine-andere-liste-kopieren/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Translation: SPListItem offers a CopyTo(destinationUrl) method that doesn't work, at least in my case (a custom list with custom properties and attachments, maybe I expect too much of SharePoint). Instead I receive the exception: "Source item cannot be found. Verify that the item exists and that you have permission to read it." A quick Google search revealed that other people had the same problem but no solution. And so I bring you a method that works. &lt;br&gt;&lt;/p&gt;&lt;p&gt;The method takes the SPListItem and destination list as parameters, and returns a reference to the new list item. &lt;/p&gt;&lt;p&gt;First the method adds an item at the target location. Then it steps through and copies each field. Note that we can't copy read-only fields, and attachments require special treatment. Once complete, the target is written with Update() and a reference to the destination element is returned. &lt;/p&gt;&lt;p&gt;Enjoy! &amp;nbsp;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5602524" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2400_+My+Two+Cents/default.aspx">$ My Two Cents</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category></item><item><title>TO SharePoint User Group January Speaker: Reza Alirezai </title><link>http://weblogs.asp.net/erobillard/archive/2008/01/11/to-sharepoint-user-group-january-speaker-reza-alirezai.aspx</link><pubDate>Fri, 11 Jan 2008 21:07:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5590828</guid><dc:creator>erobillard</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=5590828</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/01/11/to-sharepoint-user-group-january-speaker-reza-alirezai.aspx#comments</comments><description>&lt;p&gt;The first meeting of &lt;a href="http://tspug.sharepointservers.com/default.aspx" mce_href="http://tspug.sharepointservers.com/default.aspx"&gt;TSPUG&lt;/a&gt; in 2008 will feature the return of Reza. Lately he's been working on custom authentication providers for SharePoint, and next Wednesday you'll learn just how easy these are to build and deploy (when you know the tricks; there are always tricks). See you there! &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;When&lt;/b&gt;: Wednesday, January 16, 6:00pm to 8:30&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Where&lt;/b&gt;: 2 Bloor West (NW corner of Yonge and Bloor), 8th Floor &lt;br&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;&lt;b&gt;Topic&lt;/b&gt;: Custom authentication
providers in SharePoint 2007&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;







&lt;p class="MsoPlainText"&gt;&lt;b&gt;Abstract&lt;/b&gt;: In ASP.NET 2.0 , there is an important
concept called the authentication provider model which is used for many new
features such as Membership and Role Management, Profiles, etc. Moss 2007 is built
on the top WSS 3.0 which is in turn built on the top of ASP.NET 2.0. This means
that both MOSS and WSS can utilize everything that ASP.NET 2.0 offers. In this
session learn how to create a custom authentication provider, how to set up forms
based authentication, get yourself familiar with issues/workarounds, manage
your custom profiles and finally how to leverage this solution to expose your
SharePoint sites to the external users. This session is targeted at both IT
pros and developers.&lt;o:p&gt; &lt;br&gt;&lt;/o:p&gt;&lt;br&gt;&lt;b&gt;About the speaker&lt;/b&gt;: Reza (&lt;a href="https://mvp.support.microsoft.com/profile=C766F9F3-A847-41BC-8EB6-D6E31EB4F789" target="_blank"&gt;MOSS MVP&lt;/a&gt;,&lt;a href="http://www.microsoft.com/learning/mcp/mcts/default.mspx"&gt;MCTS&lt;/a&gt;)is
currently working for &lt;a href="http://www.ptassoc.com/"&gt;Protech&lt;/a&gt; as
principal architect where he is in charge of architecting and implementing
various technologies to support the organization. Since 2001, his focus has been Collaboration platforms, Knowledge Management, and Business Process Management. Reza
frequently speaks on a variety of SharePoint related topics at user group
meetings and industry events. For his community involvement and contributions,
he was awarded the Microsoft MVP award for SQL Server Reporting Services (2004-2005)
and Microsoft Office SharePoint Server (2007-). &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="mailto:susiei@cyberplex.com?subject=%5BTSPUG%202008-01%5D&amp;amp;body=I%27ll%20be%20there" target="_blank" mce_href="mailto:susiei@cyberplex.com?subject=[TSPUG 2008-01]&amp;amp;body=I'll be there"&gt;RSVP Here!&lt;/a&gt; (Link opens new e-mail)&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5590828" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Events/default.aspx">Events</category></item><item><title>Hey, I'm an MSDN Q&amp;A</title><link>http://weblogs.asp.net/erobillard/archive/2008/01/11/hey-i-m-an-msdn-q-amp-a.aspx</link><pubDate>Fri, 11 Jan 2008 20:56:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5590776</guid><dc:creator>erobillard</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=5590776</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2008/01/11/hey-i-m-an-msdn-q-amp-a.aspx#comments</comments><description>&lt;P&gt;The long arm of MSDN Canada reached out to me to do a Q&amp;amp;A on their &lt;A href="http://blogs.msdn.com/cdndevs/default.aspx" mce_href="http://blogs.msdn.com/cdndevs/default.aspx"&gt;Developer blog&lt;/A&gt;: &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/cdndevs/archive/2008/01/10/mvp-insider-q-a-with-eli-robillard.aspx" mce_href="http://blogs.msdn.com/cdndevs/archive/2008/01/10/mvp-insider-q-a-with-eli-robillard.aspx"&gt;MVP Insider - Q &amp;amp; A with Eli Robillard&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Biggest surprises? I can eat 102 popcorn shrimp in a single sitting, and refuse to shave until Pope Benedict canonizes James Brown as a saint. &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5590776" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Toronto SharePoint Users Group: Silverlight Wednesday</title><link>http://weblogs.asp.net/erobillard/archive/2007/11/20/toronto-sharepoint-users-group-silverlight-wednesday.aspx</link><pubDate>Tue, 20 Nov 2007 16:42:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5297632</guid><dc:creator>erobillard</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=5297632</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2007/11/20/toronto-sharepoint-users-group-silverlight-wednesday.aspx#comments</comments><description>&lt;p&gt;For those of you who were looking forwad to see this one at TSP Camp, Josef will be presenting at the Toronto SharePoint Users Group on Wednesday!&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="height: 22px; font-family: Arial; font-weight: bold; font-size: 18px; color: rgb(0, 51, 102);"&gt;The “Awesome Media Gallery” -- Extending SharePoint with Silverlight&lt;/div&gt;&lt;div style="height: 16px; font-family: Tahoma,Arial,Helvetica; font-size: 11px; font-weight: normal;"&gt;&lt;b&gt;&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="height: 20px; font-family: Tahoma,Arial,Helvetica; font-size: 12px; font-weight: bold; color: rgb(0, 51, 204);"&gt;&lt;a href="http://www.torontosharepointcamp.com/Lists/Speakers/speaker.aspx?ID=6"&gt;Josef Rogovsky, Lifeline Total IT Solutions, Inc.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Based
on the “SharePoint Silverlight Photoviewer WebPart” project on
Codeplex, this session will provide a brief introduction to Silverlight
programming with Blend and Visual Studio and then demonstrate how&lt;br&gt;integrate
it with SharePoint via a web part. (note that the Codeplex project is
currently broken due to changes in the Silverlight 1.0 RTM. I will have
working implementation ready for SharePoint Camp.&amp;nbsp;&lt;br&gt; &lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.binaryjam.ukfsn.org/Silverlight/PhotoViewer/Default.html"&gt;&lt;br&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5297632" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2100_+Original+Content/default.aspx">! Original Content</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Community+News/default.aspx">Community News</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/Events/default.aspx">Events</category></item><item><title>Great articles on SharePoint Design </title><link>http://weblogs.asp.net/erobillard/archive/2007/11/07/great-articles-on-sharepoint-design.aspx</link><pubDate>Wed, 07 Nov 2007 16:04:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:4930652</guid><dc:creator>erobillard</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/erobillard/rsscomments.aspx?PostID=4930652</wfw:commentRss><comments>http://weblogs.asp.net/erobillard/archive/2007/11/07/great-articles-on-sharepoint-design.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;From Mark Jones, these should be required reading for all SharePoint development team leads, project managers and architects: &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A class="" href="http://teamfoundationserver.org/Web/blogs/sharepoint_2007/archive/2007/08/24/531.aspx" mce_href="http://teamfoundationserver.org/Web/blogs/sharepoint_2007/archive/2007/08/24/531.aspx"&gt;Architecture and Design Lessons Learned&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A class="" href="http://teamfoundationserver.org/Web/blogs/sharepoint_2007/archive/2007/08/20/523.aspx" mce_href="http://teamfoundationserver.org/Web/blogs/sharepoint_2007/archive/2007/08/20/523.aspx"&gt;SharePoint Development and Engineering Practices&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4930652" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/erobillard/archive/tags/_2A00_+Me+Too/default.aspx">* Me Too</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/erobillard/archive/tags/SharePoint+2007/default.aspx">SharePoint 2007</category></item></channel></rss>