<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>John&amp;#39;s Brain Dump</title><link>http://community.hydrussoftware.com/blogs/john/default.aspx</link><description>All the technical gyrations I go through to build software, so I don&amp;#39;t forget them and others can benefit from them.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/JohnsSqlBrainDump" type="application/rss+xml" /><item><title>Community Server 2008.5 SP1 Sitemap Hotfix</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/492325695/community-server-2008-5-sp1-sitemap-hotfix.aspx</link><pubDate>Mon, 22 Dec 2008 15:30:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:1710</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=1710</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2008/12/22/community-server-2008-5-sp1-sitemap-hotfix.aspx#comments</comments><description>&lt;p&gt;Community Server 2008.5 SP1 contains a bug in its creation of sitemaps.&amp;nbsp; This bug has been brought up quite a bit on the &lt;a href="http://dev.communityserver.com/forums/p/504221/638261.aspx"&gt;Community Server forums&lt;/a&gt; and Telligent is aware of it.&amp;nbsp; They have fixed this issue internally, but (last I heard) the fix will only be released with Community Server 2009.&lt;/p&gt;
&lt;p&gt;So in the meantime, you can download the &lt;a href="http://get.communityserver.com/download/cs20085sdk/"&gt;Community Server 2008.5 SP1 SDK&lt;/a&gt;, make the following changes, recompile, and your sitemaps should function properly.&lt;/p&gt;
&lt;p&gt;CommunityServer.Components\Components\CSContext.cs (added &amp;quot;, true&amp;quot;)&lt;br /&gt;Line 734:&amp;nbsp; &lt;code&gt;_applicationType = (ApplicationType)Enum.Parse(typeof(ApplicationType), QueryString[CommonQueryStringProperties.ApplicationType], true);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;CommunityServer.Blogs\Components\WeblogSiteMapIndexBuilder.cs (changed &amp;quot;blog&amp;quot; to &amp;quot;weblog&amp;quot;)&lt;br /&gt;Line 24:&amp;nbsp;&lt;code&gt;string url = UrlBuilder.FormatUrl(&amp;quot;siteMap&amp;quot;, &amp;quot;weblog&amp;quot;, &amp;quot;app&amp;quot;, content.ApplicationKey);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;CommunityServer.MediaGalleries\Components\MediaGallerySiteMapIndexBuilder.cs (changed &amp;quot;media&amp;quot; to &amp;quot;mediagallery&amp;quot;)&lt;br /&gt;Line 25:&amp;nbsp;&lt;code&gt;String url = UrlBuilder.FormatUrl(&amp;quot;siteMap&amp;quot;, &amp;quot;mediagallery&amp;quot;, &amp;quot;app&amp;quot;, gallery.ApplicationKey);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;CommunityServer.Web\sitemap.ashx.cs (changed &amp;quot;blog&amp;quot; to &amp;quot;weblog&amp;quot; and &amp;quot;media&amp;quot; to &amp;quot;mediagallery&amp;quot;)&lt;br /&gt;Line 74:&amp;nbsp;&lt;code&gt;case &amp;quot;weblog&amp;quot;: return GetWeblogWithAccessCheck(context);&lt;/code&gt;&lt;br /&gt;Line 75:&amp;nbsp;&lt;code&gt;case &amp;quot;mediagallery&amp;quot;: return GetMediaGalleryWithAccessCheck(context);&lt;/code&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=1710" width="1" height="1"&gt;</description><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2008/12/22/community-server-2008-5-sp1-sitemap-hotfix.aspx</feedburner:origLink></item><item><title>Community Server Video Preview Module</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/444498106/community-server-video-preview-module.aspx</link><pubDate>Thu, 06 Nov 2008 15:29:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:1236</guid><dc:creator>John</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=1236</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2008/11/06/community-server-video-preview-module.aspx#comments</comments><description>&lt;p&gt;I just posted our Community Server Video Preview Module to &lt;a href="http://community.hydrussoftware.com/files/folders/cs/entry1235.aspx"&gt;the downloads area of Hydrus Software&lt;/a&gt;.&amp;nbsp; The module automatically generates thumbnail preview images for videos uploaded to media galleries and as attachments to other posts.&amp;nbsp; The module executes FFmpeg (not included) to read the video file and extract an image, which it stores in Centralized File Storage alongside the video attachment.&amp;nbsp; The preview generation module can create previews for all of the video file formats that are supported by Community Server, including AVI, MOV, SWF, MPEG, WMV, FLV and others.&amp;nbsp; The module is also configurable, allowing site administrators and individual users to specify how long into a video to take preview images.&lt;/p&gt;
&lt;p&gt;I know that a lot of people have wanted this feature in Community Server, so I&amp;#39;m happy that I finally had the time to create it and make it available.&amp;nbsp; You can direct questions about the module (or problems you&amp;#39;re experiencing) here, and I will be glad to try to help you.&lt;/p&gt;
&lt;p&gt;In order to use the module, you must have FFmpeg on your web server.&amp;nbsp; You can download a binary executable of FFmpeg &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=205275&amp;amp;package_id=248632"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m hoping to be able to release some more modules in the future, so check back here for new content.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=1236" width="1" height="1"&gt;</description><enclosure url="http://community.hydrussoftware.com/files/folders/cs/entry1235.aspx" length="18951" type="text/html; charset=utf-8" /><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Video/default.aspx">Video</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/CommunityServer/default.aspx">CommunityServer</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/MediaGalleries/default.aspx">MediaGalleries</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2008/11/06/community-server-video-preview-module.aspx</feedburner:origLink></item><item><title>Hotfix: Group pages not displayed in Community Server 2008.5</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/441368988/hotfix-group-pages-not-displayed-in-community-server-2008-5.aspx</link><pubDate>Mon, 03 Nov 2008 20:17:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:1226</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=1226</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2008/11/03/hotfix-group-pages-not-displayed-in-community-server-2008-5.aspx#comments</comments><description>I have encountered a bug in Community Server 2008.5 and have a hotfix that I thought I would share with the community. The bug is described in this post , and involves the fact that group (hub) pages do not display properly when the accessing user is...(&lt;a href="http://community.hydrussoftware.com/blogs/john/archive/2008/11/03/hotfix-group-pages-not-displayed-in-community-server-2008-5.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=1226" width="1" height="1"&gt;</description><enclosure url="http://community.hydrussoftware.com/blogs/john/attachment/1226.ashx" length="13089" type="application/x-zip-compressed" /><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Community+Server/default.aspx">Community Server</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2008/11/03/hotfix-group-pages-not-displayed-in-community-server-2008-5.aspx</feedburner:origLink></item><item><title>NDoc 2.0 is (Not Quite) Dead! </title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/343924692/ndoc-2-0-is-not-quite-dead.aspx</link><pubDate>Wed, 23 Jul 2008 20:49:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:642</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=642</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2008/07/23/ndoc-2-0-is-not-quite-dead.aspx#comments</comments><description>&lt;p&gt;Many of you were saddened by &lt;a class="" href="http://community.hydrussoftware.com/blogs/john/archive/2006/07/26/ndoc-2-0-is-dead.aspx" target="_blank"&gt;the news&lt;/a&gt; that Kevin Downs quit development on &lt;a class="" href="http://ndoc.sourceforge.net/" target="_blank"&gt;NDoc&lt;/a&gt;, the .NET documentation engine.&amp;nbsp; For those of you who haven&amp;#39;t moved on to &lt;a class="" href="http://www.codeplex.com/Sandcastle" target="_blank"&gt;Sandcastle&lt;/a&gt;, though, there may be hope for you.&amp;nbsp; Kim Christensen has taken up the torch and continued development on the NDoc source under the SourceForge project &lt;a class="" href="http://sourceforge.net/projects/ndoc3/" target="_blank"&gt;NDoc3&lt;/a&gt;.&amp;nbsp; She indicates that a beta version has just been released that supports .NET 2.0.&lt;/p&gt;
&lt;p&gt;I haven&amp;#39;t had a chance to check out this new project yet, but it looks like I&amp;#39;m going to need a documentation engine in the near future.&amp;nbsp; I&amp;#39;ll try NDoc3 for sure and let you know what I think.&amp;nbsp; In the meantime, check out the project yourself and let me know what you think.&lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=642" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/.NET+2.0/default.aspx">.NET 2.0</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Tools/default.aspx">Tools</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2008/07/23/ndoc-2-0-is-not-quite-dead.aspx</feedburner:origLink></item><item><title>Community Server 2008 Form Breaking Changes</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/295286856/community-server-2008-form-breaking-changes.aspx</link><pubDate>Wed, 21 May 2008 19:00:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:613</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=613</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2008/05/21/community-server-2008-form-breaking-changes.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;ve been charged recently with the task of upgrading several custom &lt;a class="" href="http://communityserver.com/" target="_blank"&gt;Community Server&lt;/a&gt; 2007.1 sites to CS 2008.&amp;nbsp; Most of these upgrades are quick-and-dirty, without all of the effort necessary to fully re-theme these applications.&amp;nbsp; During the upgrades, one problem that I encountered frequently was the issue of changed properties in form classes (classes derived from PreTemplatedWrappedFormBase and WrappedSubFormBase).&amp;nbsp; Most of these forms have properties containing the ID&amp;#39;s of controls in the form.&amp;nbsp; What I found was that from 2007.1 to 2008, several forms had these ID properties removed or renamed, which causes pages that reference them to not function properly.&lt;/p&gt;
&lt;p&gt;So, this post is an attempt to list all of the breaking changes in these ID properties between CS 2007.1 and 2008.&amp;nbsp; I&amp;#39;m not including properties that were added between 2007.1 and 2008, just those that were renamed or removed.&amp;nbsp; If you find any changes that I missed, please let me know and I&amp;#39;ll update the list:&lt;/p&gt;
&lt;p&gt;Oh, and I didn&amp;#39;t include anything from the Control Panel, since it&amp;#39;s been radically changed between versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CommunityServer.Blogs.Controls.CreateEditWeblogPostForm&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;IsLockedCheckBoxId&lt;/strong&gt; - this property was replaced by the EnableCommentsCheckBox, which has the opposite meaning.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;CommunityServer.Controls.SearchForm&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;SectionTreeViewId&lt;/strong&gt; - the ComponentArt.Web.UI.TreeView was completely eliminated from the form.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;CommunityServer.Controls.EditUserForm&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;SignatureTextBoxId&lt;/strong&gt; - this was replaced by the SignatureEditorId, which expects to point to an Editor rather than a simple TextBox.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;BioTextBoxId&lt;/strong&gt; - this was replaced by the BioEditorId, which expects to point to an Editor rather than a simple TextBox.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;EnableInkCheckBoxId&lt;/strong&gt; - this was eliminated in 2008.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;ThemeDropDownListId&lt;/strong&gt; - this was eliminated in 2008.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;CommunityServer.Discussions.Controls.CreateEditForumPostForm&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;RecipientsTextId&lt;/strong&gt; - this was eliminated in 2008.&amp;nbsp; This text box was only used when creating Private Messages, which became Conversations in CS 2008.&amp;nbsp; If you didn&amp;#39;t have the create/edit post page customized, then you can go ahead and ignore this one.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;CommunityServer.Discussions.Controls.ForumPostTreeForm&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;PostTreeViewId&lt;/strong&gt; - this property was replaced by PostTreeId, which expects a Telligent.Glow.Tree rather than a ComponentArt.Web.UI.TreeView.&amp;nbsp; If you don&amp;#39;t fix this then the threaded view of a thread will not work at all.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;PostTreeContextMenuId&lt;/strong&gt; - this property was replaced by PostTreePopupMenuId, which expects a Telligent.Glow.PopupMenu rather than a ComponentArt.Web.UI.Menu.&amp;nbsp; Again, fix this or your threaded view will raise an error.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;That&amp;#39;s all I was able to find.&amp;nbsp; Again, let me know if there is anything missing.&lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=613" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Community+Server/default.aspx">Community Server</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2008/05/21/community-server-2008-form-breaking-changes.aspx</feedburner:origLink></item><item><title>Debugging MOSS 2007 Web Parts</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624215/debugging-moss-2007-web-parts.aspx</link><pubDate>Thu, 03 May 2007 19:17:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:50</guid><dc:creator>John</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=50</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2007/05/03/debugging-moss-2007-web-parts.aspx#comments</comments><description>&lt;p&gt;Oh, I&amp;#39;ve had a heck of a time trying to debug some custom web parts that I&amp;#39;ve written for our internal portal application.&amp;nbsp; I&amp;#39;m using &lt;a class="" href="http://weblogs.asp.net/jan/archive/2006/12/02/announcing-the-return-of-the-smartpart.aspx" target="_blank"&gt;Jan Tielens&amp;#39; SmartPart v3&lt;/a&gt;, which is an excelent webpart for hosting ASP.NET UserControls.&amp;nbsp; (It even now supports ASP.NET AJAX!)&amp;nbsp; But the problem that I&amp;#39;ve constantly run into with sharepoint is the dreaded &amp;quot;An unexpected error has occurred&amp;quot; issue.&amp;nbsp; It gives no event logging, no trace logging, nothing.&amp;nbsp; It&amp;#39;s a dead end.&lt;/p&gt;
&lt;p&gt;But thanks to &lt;a class="" href="http://blog.thekid.me.uk/archive/2007/02/15/a-solution-to-quot-an-unexpected-error-has-occurred-quot-in-wss-v3.aspx" target="_blank"&gt;Vincent Rothwell&lt;/a&gt;, I finally have an answer.&amp;nbsp; He details the solution to this problem &lt;a class="" href="http://blog.thekid.me.uk/archive/2007/02/15/a-solution-to-quot-an-unexpected-error-has-occurred-quot-in-wss-v3.aspx" target="_blank"&gt;here&lt;/a&gt;, and the answer is to simply change a single attribute in your web.config:&amp;nbsp; &lt;/p&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;
&lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;font color="#a31515"&gt;SafeMode&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;MaxControls&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;200&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;CallStack&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000000"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;font color="#2a2a2a"&gt;to&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000000"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;font color="#a31515"&gt;SafeMode&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;MaxControls&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;200&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;CallStack&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;You will also need to set custom errors to &amp;#39;Off&amp;#39;&amp;nbsp;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;&lt;font size="2"&gt;&lt;font color="#a31515"&gt;customErrors&lt;/font&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;mode&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;Off&lt;font color="#000000"&gt;&lt;/font&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;This wouldn&amp;#39;t be appropriate for a production portal, but for testing and debugging, it&amp;#39;s a lifesaver.&amp;nbsp; Thanks Vincent for this; you&amp;#39;ve saved me from a huge headache!&lt;/p&gt;&lt;/span&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=50" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Diagnostics/default.aspx">Diagnostics</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/SharePoint/default.aspx">SharePoint</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2007/05/03/debugging-moss-2007-web-parts.aspx</feedburner:origLink></item><item><title>Silverlight = .NET Framework in the Browser</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624216/silverlight-net-framework-in-the-browser.aspx</link><pubDate>Tue, 01 May 2007 20:48:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:49</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=49</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2007/05/01/silverlight-net-framework-in-the-browser.aspx#comments</comments><description>&lt;p&gt;The buzz from MIX07 is that Silverlight is far more than just Microsoft&amp;#39;s answer to &lt;a class="" href="http://www.adobe.com/products/flash/" target="_blank"&gt;Flash&lt;/a&gt;.&amp;nbsp; According to Ray Ozzie, Silverlight will include a CLR engine that is &amp;quot;identical to the desktop CLR&amp;quot;, allowing developers to leverage .NET programming skills for client-side code.&lt;/p&gt;
&lt;p&gt;Check out the article &lt;a class="" href="http://searchvb.techtarget.com/originalContent/0,289142,sid8_gci1253296,00.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=49" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/CLR/default.aspx">CLR</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Silverlight/default.aspx">Silverlight</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2007/05/01/silverlight-net-framework-in-the-browser.aspx</feedburner:origLink></item><item><title>TableAdapterManager in ADO.NET Orcas</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624217/tableadaptermanager-in-ado-net-orcas.aspx</link><pubDate>Tue, 01 May 2007 18:50:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:46</guid><dc:creator>John</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=46</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2007/05/01/tableadaptermanager-in-ado-net-orcas.aspx#comments</comments><description>&lt;p&gt;I&amp;nbsp;was reading the &lt;a class="" href="http://blogs.msdn.com/vbteam/archive/2007/03/13/new-data-tools-features-in-visual-studio-orcas.aspx" target="_blank"&gt;Visual Basic Team Blog&lt;/a&gt; a couple of days ago, and stumbled upon a pure gem that will be available in Visual Studio&amp;nbsp;Orcas.&amp;nbsp; From the post:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Keeping track of all inserts, updates and deletes across multiple related datatables and sending those changes in the right order back to the server is not an easy task. How do you make sure that new orders for your customer are added correctly to the system while updating the shipping address of the same customer and deleting one of old orders that had been canceled all at the same time?&lt;/p&gt;
&lt;p&gt;With hierarchical update support in Typed Dataset, all you need to do is to call UpdateAll() method of the new TableAdapterManager component we&amp;#39;ve added. It takes care of collecting all changes and sending them back to the server in the right order. Of course, everything is wrapped into a transaction.&lt;/p&gt;
&lt;p&gt;We believe this would significantly improve the productivity of developers using Typed Dataset to create data applications. You can try this new feature in &lt;a class="" href="http://www.microsoft.com/downloads/details.aspx?familyid=281fcb3d-5e79-4126-b4c0-8db6332de26e&amp;amp;displaylang=en" target="_blank"&gt;March CTP of Visual Studio Orcas&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Apparently, the VS team has finally solved one of the most horrendous problems that comes with using DataSets.&amp;nbsp; Before the TableAdapterManager, you needed to write a great deal of custom code in order to update your database with changes from different DataTables in the proper order.&amp;nbsp; Each time you wanted to commit the changes in your DataSet to the database, your code&amp;nbsp;had to follow a process something like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Determine which DataTables in the DataSet have changes. 
&lt;li&gt;Determine how the DataTables are related to one another (parents and children). 
&lt;li&gt;For each table with changes (ordered from parents to children): 
&lt;ol&gt;
&lt;li&gt;Extract the rows inserted/updated&amp;nbsp;in the table. 
&lt;li&gt;Use the table&amp;#39;s DataAdapter to commit the changed rows to the database.&lt;/li&gt;&lt;/ol&gt;
&lt;li&gt;For each table with changes (ordered from children to parents): 
&lt;ol&gt;
&lt;li&gt;Extract the rows deleted from the table. 
&lt;li&gt;Use the table&amp;#39;s DataAdapter to commit the changed rows to the database.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;ADO.NET provided a great deal of infrastructure to make the whole CRUD job easier, but it stopped short of implementing this fundamental algorithm for you.&amp;nbsp; The DataAdapter class took care of managing these operations for a single table, but MS didn&amp;#39;t provide any sort of &amp;quot;meta-DataAdapter&amp;quot; that orchestrated updates for the entire DataSet.&amp;nbsp; Even with the introduction of generated TableAdapters in VS 2005, you still had to write this coordination code by hand.&amp;nbsp; But now, (now meaning whenever Orcas is released) this piece of the data-access puzzle has been solved.&lt;/p&gt;
&lt;p&gt;In case it isn&amp;#39;t clear, note that the TableAdapterManager is not a framework class.&amp;nbsp; It&amp;#39;s a custom class generated for each strongly-typed DataSet in your project.&amp;nbsp; The TableAdapterManager for a DataSet knows about the relationships between the DataTables in the set, and so is able to coordinate update operations for the individual tables.&amp;nbsp; Like the conductor in an orchestra, the TableAdapterManager cues each TableAdapter to step in and play its part at the proper time.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m particularly interested in Microsoft&amp;#39;s answer to this data access problem because I worked a few years back on a solution to the exact same issue.&amp;nbsp; The &lt;a href="http://www.hydrussoftware.com/" target="_blank"&gt;Hydrus DataSet Toolkit&lt;/a&gt; is a data-access framework that also deals with this problem of coordinating DataAdapters to perform update operations in the proper order.&amp;nbsp; The DataSet Toolkit contains a class called the &lt;a href="http://www.hydrussoftware.com/docs/DataSetToolkit.htm#Where_Constraints.htm" target="_blank"&gt;MultiTableDataAdapter&lt;/a&gt; that implements the DataSet update algorithm listed above in a generic fashion.&amp;nbsp; By inspecting the relationships between tables in a DataSet, the MultiTableDataAdapter can determine the order in which insert, update and delete operations should be performed against a database.&lt;/p&gt;
&lt;p&gt;If you want this sort of functionality now, you can &lt;a href="http://forums.hydrussoftware.com/files/default.aspx" target="_blank"&gt;download&lt;/a&gt; and start using the DataSet Toolkit &lt;strong&gt;for free&lt;/strong&gt; from Hydrus Software.&amp;nbsp; It gives you hierarchical updates, as well as hierarchical DataAdapter.Fill operations and dynamic SQL generation.&lt;/p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blogs.atgi.com/john/archive/2007/05/01/tableadaptermanager-in-ado-net-orcas.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blogs.atgi.com/john/archive/2007/05/01/tableadaptermanager-in-ado-net-orcas.aspx" border="0" alt="" /&gt;&lt;/a&gt; &lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=46" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/DataSet/default.aspx">DataSet</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Hydrus+Software/default.aspx">Hydrus Software</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2007/05/01/tableadaptermanager-in-ado-net-orcas.aspx</feedburner:origLink></item><item><title>Moving to blogs.hydrussoftware.com (which is here)</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624218/moving-to-blogs-atgi-com-which-is-here.aspx</link><pubDate>Mon, 30 Apr 2007 20:05:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:45</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I&amp;#39;ve been spending some time over the last few months getting up to speed on &lt;a href="http://communityserver.org/"&gt;Community Server&lt;/a&gt;, and with its blogging capabilites, we at&amp;nbsp;&lt;a class="" href="http://www.hydrussoftware.com/" target="_blank"&gt;Hydrus Software&amp;nbsp;&lt;/a&gt;thought it best to move our blogs onto an in-house CS installation. So, all of my future blogging activities will be conducted on &lt;a class="" href="http://community.hydrussoftware.com/blogs/john/default.aspx"&gt;John&amp;#39;s (new) Brain Dump&lt;/a&gt;. But since you&amp;#39;re reading this, you probably already know that.&lt;/p&gt;
&lt;p&gt;(By the way, I was able to update my &lt;a class="" href="http://community.hydrussoftware.com/blogs/john/archive/2006/12/05/escaping-tables-with-css.aspx"&gt;CSS vs. table layout challenge&lt;/a&gt;, in case anyone wants to play with that further.)&lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=45" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Blogs/default.aspx">Blogs</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/CSS/default.aspx">CSS</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/HTML/default.aspx">HTML</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2007/04/30/moving-to-blogs-atgi-com-which-is-here.aspx</feedburner:origLink></item><item><title>Rapid-Fire Highlights of SD West 2007</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624219/rapid-fire-highlights-of-sd-west-2007.aspx</link><pubDate>Thu, 29 Mar 2007 17:50:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:44</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=44</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2007/03/29/rapid-fire-highlights-of-sd-west-2007.aspx#comments</comments><description>&lt;p&gt;I returned from a full week of &lt;a href="http://www.sdexpo.com/" target="_blank"&gt;SD West&lt;/a&gt; on Saturday, and it was a fantastic experience! While I don&amp;#39;t have time to dive into all of the details of the trip, I do want to get the highlights out of the way:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Juval Lowy and WCF:&lt;/strong&gt; I spent the first full day of the conference listening to &lt;a href="http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=3&amp;amp;tabid=5#Lowy" target="_blank"&gt;Juval Lowy&lt;/a&gt; discuss Windows Communication Foundation in the .NET Framework 3.0. His explanation of all that you can do with WCF was worth the whole price of the conference! His high-level look at the benefits of service orientation was compelling, and the followign discussions of each facet of WCF gave me a solid picture of each piece of the service framework. And his Dirty Harry impression during the WCF Operations and Calls talk was hilarious! 
&lt;li&gt;&lt;strong&gt;O/R Mapping:&lt;/strong&gt; &lt;a href="http://www.agiledata.org/" target="_blank"&gt;Scott Ambler&lt;/a&gt; gave a talk on object/relational mapping that I thought was very good. He focused on the divide between developers and database professionals, and he stressed that DBA&amp;#39;s need to adopt development methods that the software people have been using for some time now. Since I live as both a developer and DBA, I got some good ideas about how to merge the two disciplines. I also thought it was very interesting that Microsoft has built many of the &amp;quot;agile database techniques&amp;quot; that Scott recommends into &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718807.aspx" target="_blank"&gt;Visual Studio Team System&lt;/a&gt;. (Much of the material from Scott&amp;#39;s talk can be found &lt;a href="http://www.agiledata.org/essays/mappingObjects.html" target="_blank"&gt;here&lt;/a&gt;.) 
&lt;li&gt;&lt;strong&gt;LINQ: &lt;/strong&gt;While there wasn&amp;#39;t as much LINQ at the conference as I would have liked, I did get to see &lt;a href="http://www.lhotka.net/" target="_blank"&gt;Rocky Lhotka&lt;/a&gt; show off the fundamentals of LINQ to SQL, and he briefly discussed LINQ to Entities, or the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa697427(vs.80).aspx" target="_blank"&gt;ADO.NET Entity Framework&lt;/a&gt;. In light of my interest in O/R mapping, the entity framework really caught my attention, and I&amp;#39;ve been experimenting with it ever since I&amp;#39;ve returned home from Santa Clara. 
&lt;li&gt;&lt;strong&gt;Food and Fun:&lt;/strong&gt; If you&amp;#39;re ever in the San Jose area, check out &lt;a href="http://siliconvalley.citysearch.com/profile/1083321/santa_clara_ca/el_camino_mongolian_bbq.html" target="_blank"&gt;El Camino Mongolian BBQ&lt;/a&gt;. I went there with &lt;a href="http://gabe19.blogspot.com/" target="_blank"&gt;Jeff&lt;/a&gt;, and then went back later in the week with &lt;a href="http://www.ericsink.com/" target="_blank"&gt;Eric Sink&lt;/a&gt; and the guys from &lt;a href="http://www.sourcegear.com/" target="_blank"&gt;SourceGear&lt;/a&gt;. (Don&amp;#39;t fill your bowl all the way the first time; leave room for more iterations. You need to practice &amp;quot;agile barbequeing&amp;quot;!) Being from Columbus, I got to watch the &lt;a href="http://images.tsn.ca/images/stories/20070315/osu_78346.jpg" target="_blank"&gt;Ohio State Buckeyes&lt;/a&gt; advance in the tournament with some folks from &lt;a href="http://www.seapine.com/" target="_blank"&gt;Seapine Software&lt;/a&gt;. And finally, I got to go on a whirlwind tour of San Fransisco.&lt;/li&gt;&lt;/ol&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=44" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/My+Life/default.aspx">My Life</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/WCF/default.aspx">WCF</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2007/03/29/rapid-fire-highlights-of-sd-west-2007.aspx</feedburner:origLink></item><item><title>Understanding ADO.NET Orcas</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624220/understanding-ado-net-orcas.aspx</link><pubDate>Wed, 28 Mar 2007 19:50:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:43</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=43</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2007/03/28/understanding-ado-net-orcas.aspx#comments</comments><description>&lt;p&gt;If you&amp;#39;re like me and enjoy diving into a technology before reading the manual, then you may have experienced confusion when working with the version of ADO.NET Orcas (formerly ADO.NET vNext).&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve been playing with the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=CF76FCBA-07AF-47AC-8822-4AD346210670&amp;amp;displaylang=en" target="_blank"&gt;March CTP of Orcas&lt;/a&gt; for a couple of days now, and I finally believe that I have the different ADO.NET features sorted out. I was planning to write my own post to summarize the different new query technologies that are provided, until I found Julie Lerman&amp;#39;s entry on the same topic. I may add details later, but her post is a great place to start.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.thedatafarm.com/blog/CommentView,guid,ccfcbca3-a9df-4e1c-9126-bd727c36851e.aspx"&gt;Sorting out LINQ and Entity Framework for Data Access&lt;/a&gt;&lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=43" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2007/03/28/understanding-ado-net-orcas.aspx</feedburner:origLink></item><item><title>Code Formatter for Windows Live Writer</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624221/code-formatter-for-windows-live-writer.aspx</link><pubDate>Thu, 08 Mar 2007 18:52:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:42</guid><dc:creator>John</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=42</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2007/03/08/code-formatter-for-windows-live-writer.aspx#comments</comments><description>&lt;p&gt;Here&amp;#39;s a handy tool for all of you code-slinging bloggers out there. Steve Dunn has created a &lt;a href="http://dunnhq.com/codeformatterforwindowslivewriter" target="_blank"&gt;Code Formatter for Windows Live Writer&lt;/a&gt;, which allows you to paste formatted code directly into your blog posts. It supports C#, XML, and other languages, and should make your blogging experience far easier. Check it out.&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href="http://feeds.feedburner.com/~r/Iserializable/~3/100100139/junit-4-feels-like-nunit-with-attribute-like-syntax.aspx" target="_blank"&gt;Roy Osherove&lt;/a&gt; for pointing this out!&lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=42" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Blogs/default.aspx">Blogs</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Tools/default.aspx">Tools</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2007/03/08/code-formatter-for-windows-live-writer.aspx</feedburner:origLink></item><item><title>Database Vulnerabilities: SQL Server 2005 vs. Oracle</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624222/database-vulnerabilities-sql-server-2005-vs-oracle.aspx</link><pubDate>Thu, 21 Dec 2006 08:48:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:41</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=41</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2006/12/21/database-vulnerabilities-sql-server-2005-vs-oracle.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m not usually one to grab the coattails of other &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;bloggers&lt;/span&gt;, but this post is worth mentioning. It indicates that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;SQL&lt;/span&gt; Server 2005 has not had a single disclosed vulnerability in its first year of release, which is an impressive feat. Heck, I&amp;#39;ve found vulnerabilities and errors in software I&amp;#39;ve released in the first ten minutes. &lt;a href="http://blogs.technet.com/security/archive/2006/11/07/sql-server-2005-1-year-and-not-yet-counting.aspx"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SQL&lt;/span&gt; Server 2005 - 1 Year And Not Yet Counting...&lt;/a&gt; &lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=41" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Security/default.aspx">Security</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/SQL+Server/default.aspx">SQL Server</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2006/12/21/database-vulnerabilities-sql-server-2005-vs-oracle.aspx</feedburner:origLink></item><item><title>Escaping Tables With CSS</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624223/escaping-tables-with-css.aspx</link><pubDate>Wed, 06 Dec 2006 07:55:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:40</guid><dc:creator>John</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=40</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2006/12/06/escaping-tables-with-css.aspx#comments</comments><description>&lt;p&gt;&lt;a class="" href="http://forums.hydrussoftware.com/blogs/john/CssLayoutTest.htm" target="_blank"&gt;(skip the lecture, get straight to the challenge)&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I must say that I&amp;#39;ve become a fan of CSS and the ideas behind the semantic web. I like the notion of table-less design, using &amp;lt;DIV&amp;gt; and &amp;lt;SPAN&amp;gt; elements everywhere to make my HTML clean and self-descriptive.&lt;/p&gt;
&lt;p&gt;Juxtaposed against my desire to create slick CSS, though, are the desires of my employers. I&amp;#39;m a consultant, and my job is to get things done. The clients that I work for are businesspeople; they want their applications built quickly, and they aren&amp;#39;t terribly interested in paying for hours of tweaking CSS to look exactly right on every browser. They want applications that are functionally complete, look good in IE 6, look acceptable in Firefox, and could look like hell in Opera, Konqueror, or whatever other browser had 0.6% of the market share last week.&lt;/p&gt;
&lt;p&gt;That being said, while I would like to use CSS solutions to solve many of the layout problems that I face, I often find myself falling back on good-ol&amp;#39; tables. I just don&amp;#39;t have the time to figure out CSS solutions to some presentation issues. As I&amp;#39;ve reflected on the layout problems that have forced me to use tables, I believe that I&amp;#39;ve boiled them down to one exercise, and I&amp;#39;m asking for help to solve it without tables. If you want to take a shot at it, I&amp;#39;ve included the problem here, and you can post potential solutions in the comments.&lt;/p&gt;
&lt;p&gt;Essentially, what I want is an HTML/CSS structure that has two columns of arbitrary heights and widths. I use this structure for form entry fields and labeled multi-line values, and every time I try to put together a CSS solution, I throw my hands up in frustration and create a table. I&amp;#39;ve included here a table-based solution that displays the format that I want, and I&amp;#39;ve created a small HTML segment that is the starting point of a CSS solution.&lt;/p&gt;
&lt;p&gt;Now, before you begin, let me point out that I&amp;#39;m looking for a *simple* solution. Sure, I bet you can solve this problem with thirty lines of Javascript, but why is that necessary for a basic presentation issue? The problem can be found on &lt;a class="" href="http://forums.hydrussoftware.com/blogs/john/CssLayoutTest.htm" target="_blank"&gt;this page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;[Edit 12/6]&lt;/b&gt; Okay, I&amp;#39;ve realized that the problem case I presented is a bit too simple. In reality, what I want is to be able to have multiple label/value sets on top of one another, with each column of labels and values vertically aligned. When I get a chance, I&amp;#39;ll update the test. I know, I know, I&amp;#39;m changing the rules of the game. If you don&amp;#39;t like it, you can write about it on your own blog :-)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[Edit 4/30]&lt;/strong&gt; After many months, I&amp;#39;ve finally updated the challenge to include two rows of label/value entries.&amp;nbsp; This gets at the crux of my problem: that I cannot easily change the text of one of the labels and have all of the value entries left-align with one another.&amp;nbsp; There are several comments on my &lt;a class="" href="http://johnsbraindump.blogspot.com/2006/12/escaping-tables-with-css.html" target="_blank"&gt;old blog&lt;/a&gt;, and I&amp;#39;d love to see some folks weigh in on the updated challenge.&lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=40" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/CSS/default.aspx">CSS</category><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/HTML/default.aspx">HTML</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2006/12/06/escaping-tables-with-css.aspx</feedburner:origLink></item><item><title>GMail vs. Windows Live Mail</title><link>http://feeds.feedburner.com/~r/JohnsSqlBrainDump/~3/149624224/gmail-vs-windows-live-mail.aspx</link><pubDate>Mon, 28 Aug 2006 20:04:00 GMT</pubDate><guid isPermaLink="false">c2db566d-197c-4b54-a525-68e4f5f6e16d:39</guid><dc:creator>John</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://community.hydrussoftware.com/blogs/john/rsscomments.aspx?PostID=39</wfw:commentRss><comments>http://community.hydrussoftware.com/blogs/john/archive/2006/08/28/gmail-vs-windows-live-mail.aspx#comments</comments><description>&lt;p&gt;As you probably know by now, I&amp;#39;m a Microsoft fan. My company is a Microsoft certified partner, I develop using Microsoft technologies, and in general, I really like what I get from them.&lt;/p&gt;
&lt;p&gt;That being said, when GMail appeared, I was looking for a webmail service to separate my work and personal email, and so I signed up for an account. I like it very much: labels are cool, searching is great (what would you expect), and I am personally fine with the UI experience.&lt;/p&gt;
&lt;p&gt;Then along comes Windows Live Mail. As I said, I&amp;#39;m a Microsoft fan, so I thought I would try to sign up for an account and think about switching.&lt;/p&gt;
&lt;p&gt;Bad idea.&lt;/p&gt;
&lt;p&gt;I simply couldn&amp;#39;t figure out how to get started. I signed up for a new MSN Passport account (not a Windows Live ID, strangely enough) since that was where my attempts to create an account led me. Once I had that account all set up and in place, I started the Windows Live Mail signup process.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Sorry! You can&amp;#39;t get to this page.&lt;/p&gt;
&lt;p&gt;It could be because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You&amp;#39;re not authorized to see it&lt;/li&gt;
&lt;li&gt;You&amp;#39;ve bumped into some technical problem, and may need to try again&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;
&lt;p&gt;So, I guess I&amp;#39;ll be sticking with GMail until I hear that Live Mail is better. Albeit, this is just one user&amp;#39;s opinion, but I think it counts for something.&lt;/p&gt;&lt;img src="http://community.hydrussoftware.com/aggbug.aspx?PostID=39" width="1" height="1"&gt;</description><category domain="http://community.hydrussoftware.com/blogs/john/archive/tags/Tools/default.aspx">Tools</category><feedburner:origLink>http://community.hydrussoftware.com/blogs/john/archive/2006/08/28/gmail-vs-windows-live-mail.aspx</feedburner:origLink></item></channel></rss>
