<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TomDoepker.com &#187; Best Practices</title>
	<atom:link href="http://tomdoepker.com/category/best-practices/feed/" rel="self" type="application/rss+xml" />
	<link>http://tomdoepker.com</link>
	<description>The web development portfolio of Tom Doepker, web site designer, developer and team lead</description>
	<lastBuildDate>Fri, 30 Jul 2010 13:54:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Project Management, Sand Piles and Space Shuttles</title>
		<link>http://tomdoepker.com/2010/05/14/project-management-sand-piles-and-space-shuttles/</link>
		<comments>http://tomdoepker.com/2010/05/14/project-management-sand-piles-and-space-shuttles/#comments</comments>
		<pubDate>Fri, 14 May 2010 12:00:06 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[ProjectManagement]]></category>

		<guid isPermaLink="false">http://tomdoepker.com/?p=234</guid>
		<description><![CDATA[Managing a project is then managing a collection of ever-shifting risks and demands. We must continue to reassess priorities during the course of a project and remain flexible enough to adapt to new realities.]]></description>
			<content:encoded><![CDATA[<p>I am about a third of the way through a fascinating book called <a title="The book on Amazon" href="http://www.amazon.com/Age-Unthinkable-Disorder-Constantly-Surprises/dp/0316118117/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1273769724&amp;sr=8-1"><em>The Age of the Unthinkable</em></a>, by Joshua Cooper Ramo. The thesis of the book is that people looking for straightforward, linear ways to define and solve problems are not going to find them in an increasingly complex world.</p>
<p>While an A + B = C approach may have worked in the past, it is no longer effective. Things have become an order of magnitude more complicated in recent years and we need a new, creative mind-set to adapt and survive. This mindset must be radical, revolutionary and ready to toss out any assumptions.</p>
<p>This mindset is also ideally suited to manage large scale web projects, or any other type for that matter.</p>
<p>To illustrate his point, Ramo brings up the sand pile experiment of Danish biologist and physicist Per Bak.</p>
<blockquote><p>&#8220;The problem that fascinated Bak also appeared, on the surface, simple enough: if you piled sand, grain by grain, until it made a cone about the size of your fist, how would you know when that tiny pyramid would have a little avalanche? After all, as the pile got taller, and the sides became steeper, it was inevitable that some sand would slide off. Could you predict when? Could you predict how much? Simple question, terribly hard to answer.&#8221;</p></blockquote>
<p>Each grain of sand of connected to every other grain of sand in some way. Dozens of them could slide into an avalanche without affecting the majority, or one grain could affect them all.</p>
<p>I also happen to be reading Malcolm Gladwell&#8217;s<a title="The book on Amazon" href="http://www.amazon.com/What-Dog-Saw-Other-Adventures/dp/0316075841/ref=sr_1_3?ie=UTF8&amp;s=books&amp;qid=1273769710&amp;sr=8-3"><em> What the Dog Saw</em></a> and he weighs in on this idea as well. (<a title="Read the old post" href="2007/11/16/the-thinly-sliced-billboard/">Not the first time on this site Mr. Gladwell&#8217;s ideas have overlapped for me</a>.) Gladwell suggests that large events &#8211; good or bad &#8211; are not usually caused by one action, but a series of actions.</p>
<p><em>What the Dog Saw</em> is a collection of Gladwell&#8217;s writing for the New Yorker. One piece, <em><a title="Gladwell has the article on his website" href="http://www.gladwell.com/1996/1996_01_22_a_blowup.htm">Blow Up</a></em> talks about the 1986 space shuttle Challenger disaster. Essentially, a faulty seal leaked flames which ignited fuel. What he goes on to contend is that the disaster was the culmination of a series of oversights, poor information and missed opportunities. There was no one simple answer, but instead a lot of little things that culminated in disaster.</p>
<p>At least initially, this seems to be what happened with the current oil spill in the Gulf.</p>
<p>In other words, Bak&#8217;s sand pile experiment. Countless moving parts that all have some effect on each other.</p>
<p>What both authors work to point out is that large problems do not have simple answers and that they will never really be solved. Not in a neat and tidy sense, anyway. Professionally, I can easily liken this to a web project because they never really seem to be done. Instead, successful sites are really more a “completed phase” than a “final product”.</p>
<p>What they suggest is that we come to terms with the possibility of failure and we focus our efforts on instead is risk management. From Gladwell:</p>
<blockquote><p>&#8220;At some point in the future-for the most mundane of reasons, and with the very best of intentions-a NASA spacecraft will again go down in flames. We should at least admit this to ourselves now.&#8221;</p></blockquote>
<p>Any project has a collection of variables and there is always a chance that the project will fail. Admitting the possibility of failure is liberating though since it often makes the job look less imposing. It is also a necessary exercise because it can help us to identify pitfalls. It can be done, as Ramo points out:</p>
<blockquote><p>&#8220;Complex systems are not incomprehensible. If complexity were unmanageable and simply reduced to chaos in the end, we would have no Internet, no organized healthy ecosystems, no functioning immune systems or financial markets.&#8221;</p></blockquote>
<p>Managing a project is managing a collection of ever-shifting risks and demands. The final product is often different than what was initially envisioned. But isn&#8217;t that just because something changed along the way? Something we never anticipated? Whether we discover a better method of solving the problem, have to stop &#8220;perfecting&#8221; one piece because we are simply out of time or funding or any other number of reasons, things change. Without becoming lazy in monitoring the mundane aspects of a project, we must continue to reassess priorities during the course of a project and remain flexible enough to adapt to new realities.</p>
]]></content:encoded>
			<wfw:commentRss>http://tomdoepker.com/2010/05/14/project-management-sand-piles-and-space-shuttles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redesigning SharePoint</title>
		<link>http://tomdoepker.com/2009/08/26/redesigning-sharepoint/</link>
		<comments>http://tomdoepker.com/2009/08/26/redesigning-sharepoint/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 12:00:25 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Clermont County]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Sites I Have Done]]></category>

		<guid isPermaLink="false">http://tomdoepker.com/2009/08/26/redesigning-sharepoint/</guid>
		<description><![CDATA[I’ve never been a big fan of SharePoint, but it had become obvious that installing WSS 3.0 would allow me to get a very functional document library and knowledge base online for internal users in a very short time frame. I recently heard that the second rule of the Army is, “If it&#8217;s stupid but [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://tomdoepker.com/wp-content/uploads/2009/08/sharepoint_home.jpg" alt="The internal SharePoint redesign" /></p>
<p>I’ve never been a big fan of SharePoint, but it had become obvious that installing WSS 3.0 would allow me to get a very functional document library and knowledge base online for internal users in a very short time frame. I recently heard that the second rule of the Army is, “If it&#8217;s stupid but it works, it isn&#8217;t stupid.” It rung very true.</p>
<p>So now I have it and I needed to redesign it. There were two main suggestions I found online about redesigning SharePoint:</p>
<ol>
<li>Surrender to SharePoint Designer</li>
<li>Do not edit “core.css”</li>
</ol>
<p>First, SharePoint Designer is a descendant of FrontPage. That’s enough to convince a seasoned web developer not to use it. Second, I was careful and backed up files before changing them. I could easily revert back. Third, all changes were made in a development environment and thoroughly tested before being released to the wild.</p>
<p>User-testing helped me to design the version of a SharePoint installation that we both want and need in Photoshop, but changes to a Cascading Style Sheet weren’t going to do it.</p>
<p>To get the results I needed, I edited several of the master pages and user control pages, the “core.css”, two images as well as adding a theme-specific style sheet and images.</p>
<h2>Lessons Learned and Best Practices</h2>
<ul>
<li><strong>Set up a test environment and restore a recent copy of the SharePoint back up. Test your design changes here.</strong> Obvious and worth it.</li>
<li><strong>Create your own theme, but choose the one that looks the most similar to copy. </strong>There are plenty of places that will tell you how to create your own theme by copying an existing one, renaming it and then making your edits so I’ll skip that. By choosing one with a similar color scheme to your goal, you can save yourself a lot of time searching through tons of code.</li>
<li><strong>Don’t be afraid to make changes, just make sure that you have a back up. </strong>Some of the design changes I made forced me to edit the master and user control files. What really surprised me was that some design changes could ONLY be made by editing the “core.css”.</li>
<li><strong>Import a Style Sheet. </strong>Use it as much as possible. (It’s worth noting that many sources online recommend this. They also say not to edit the master pages, but then say you have to add the code to import this new CSS file to the default.master. Confusing.)</li>
<li><strong>Use GIFs over PNGs for images. </strong>PNGs looked great in everything but Internet Explorer. Only GIFs survived cross-browser testing.</li>
</ul>
<h2>Where Are All The Files You Will Need?</h2>
<ul>
<li><strong>Images: </strong>Local Drive\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\IMAGES</li>
<li><strong>Cascading Style Sheets: </strong>Local Drive\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\STYLES</li>
<li><strong>Default.Master: </strong>Local Drive\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\GLOBAL</li>
<li><strong>Other Helpful Code Files (Notably Application.Master)</strong>: Local Drive\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS</li>
<li><strong>The Themes: </strong>Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\THEMES</li>
<li><strong>SPTHEMES.XML (Defines the themes available): </strong>Local Drive\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033</li>
</ul>
<h2>Related Articles</h2>
<ul>
<li><a href="/2009/04/09/sharepoint-research/" title="Read more">SharePoint Research</a></li>
<li><a href="/2009/04/28/migrating-sharepoint/" title="Read more">Migrating SharePoint</a></li>
<li><a href="/2009/05/29/wss-30-site-search-not-working/" title="Read more">Getting Site Search to Work</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tomdoepker.com/2009/08/26/redesigning-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrating SharePoint</title>
		<link>http://tomdoepker.com/2009/04/28/migrating-sharepoint/</link>
		<comments>http://tomdoepker.com/2009/04/28/migrating-sharepoint/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 12:37:46 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tomdoepker.com/2009/04/28/migrating-sharepoint/</guid>
		<description><![CDATA[The Problem I needed to migrate a Windows SharePoint Services 3.0 (WSS 3.0) front-end application from one server to another. Issues Attempts to install another just another front-end failed, giving us a “Failed to connect to the configuration database” error. The Central Administration (CA) site will need to be moved as well. Need to minimize [...]]]></description>
			<content:encoded><![CDATA[<h2>The Problem</h2>
<p>I needed to migrate a Windows SharePoint Services 3.0 (WSS 3.0) front-end application from one server to another.</p>
<h2>Issues</h2>
<ul>
<li>Attempts to install another just another front-end failed, giving us a “Failed to connect to the configuration database” error.</li>
<li>The Central Administration (CA) site will need to be moved as well.</li>
<li>Need to minimize any down time to users.</li>
</ul>
<h2>The Solution</h2>
<p>To first install an entirely new version of WSS 3.0 on the new server. Then we restore current data from the latest back up on the currently running WS 3.0 instance.</p>
<h2>Section 0.1 – Before you get started</h2>
<ol>
<li>Set up test URLs for both your WSS 3.0 site as well as the admin site
<ul>
<li>For example, http://SharePointTest and http://SharePointAdminTest</li>
<li>Verify the user name and password for the account used to set up your current instance of WSS 3.0.</li>
</ul>
</li>
</ol>
<h2>Section 1.0 &#8211; Install a clean version of WSS 3.0</h2>
<p>The goal of this phase is to set up a brand new version of WSS 3.0 to which we can restore data. Make sure to use the same user credentials to create this new site as were used to create the existing WSS 3.0 instance.</p>
<ol>
<li>Install SharePoint as a new instance of a Web-Front end
<ul>
<li>Choose the “Advanced” installation</li>
<li>Choose “Web Front End”.</li>
<li>Under “Data Location”, you choose where to save your data.</li>
</ul>
</li>
<li>In the “SharePoint Configuration Wizard”,
<ul>
<li>Choose &#8220;No, I want to create a new server farm&#8221;</li>
<li>Put your new DBs on the same server as the live ones
<ul>
<li>DB names do not have to be the same as the live versions to restore.</li>
<li>We chose to use a naming convention that would group our DBs together.</li>
</ul>
</li>
</ul>
<ul>
<li>Use the same log in credentials used to create the current live application.</li>
<li>You can specify a port number, but it doesn&#8217;t seem to matter whether you do or you use their default. Best practices seem to be to have a URL like http://SharePointAdmin already set up to use for your administration site.</li>
</ul>
</li>
</ol>
<h2>Section 1.1.1 – Configure the new WS 3.0 instance – Set up site search</h2>
<p>To get the site ready for the restoration, you have to set up the search services and create the web application.</p>
<ol>
<li>Run the CA web site. This will either have popped up after the configuration wizard or can be found under “Start/All Programs”.</li>
<li>Select the “Operations” tab across the top of the site</li>
<li>Select “Services on Server”</li>
<li>“Windows SharePoint Services Search” should need to be started. Click the title rather than “Start” to configure it.</li>
<li>For both the “Service Account” and the “Content Access Account User”, use the same administrator account you used to install the application.</li>
<li>Leave everything else as its default.</li>
<li>After the “Operation in progress” screen, you will still likely have to start the search service.</li>
</ol>
<h2>Section 1.1.2 – Configure the new WS 3.0 instance – Create the web application</h2>
<ol>
<li>Select the Application Management tab.</li>
<li>Select Create or Extend a Web Application.</li>
<li>Click on Create a new Web Application.</li>
<li>For “Create a new IIS web site”, give your new site a unique name. Preferably the test URL you created in Section 0.1.</li>
<li>In the Select a security account for this application pool, again use your administrator account information.</li>
<li>Specify your “Database Server”.</li>
<li>Specify your “Database Name”.</li>
<li>Under “Select Windows SharePoint Search Services Server”, there should only be one option for you to select. If there is more than one, choose the target server you wish to use as your site host.</li>
<li>Restart IIS. (The command-line code is: iisreset /noforce)</li>
</ol>
<h2>Section 2.0 – Restoring SharePoint</h2>
<p>Create a directory on your target machine and copy the latest version of your SharePoint back up to it. In the same directory, create a .bat file with the following code:</p>
<blockquote><p>c:<br />
cd\program files\common files\microsoft shared\web server extensions\12\bin<br />
pause 111</p>
<p>stsadm -o restore -url http://<strong>YourTestURL </strong>-filename <strong>PathToTheBackUpHere</strong> -overwrite<br />
pause 333</p></blockquote>
<ol>
<li>Doubt-click your newly-created .bat file.</li>
<li>The process should take some time, depending on how much data you are restoring.</li>
<li>After receiving the “Operation completed Successfully” message, open your new WSS 3.0 site to verify that the data is now there.</li>
</ol>
<h2>Section 3.0 – Clean Up</h2>
<ul>
<li>Redirect traffic from the old WSS 3.0 instance to the new one.</li>
<li>Turn off and uninstall the old instance of WSS 3.0.</li>
<li>Monitor for any problems.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tomdoepker.com/2009/04/28/migrating-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tardy Employee</title>
		<link>http://tomdoepker.com/2008/11/23/tardy-employee/</link>
		<comments>http://tomdoepker.com/2008/11/23/tardy-employee/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 14:03:46 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://tomdoepker.com/?p=254</guid>
		<description><![CDATA[Subtle problems can present an opportunity for bigger fixes]]></description>
			<content:encoded><![CDATA[<p>Several years ago while managing a bank; we had an employee who was consistently late. At the time, I was working at a place with a set opening time and – while the employee was always there before we opened – they were usually just beating the clock.</p>
<p>While I emphasize getting the job done over specific times, it was brought to my attention that the other staff members opening with this person were then stuck doing all of the chores required to open the bank by themselves.</p>
<p>I decided to implement quick “stand up meetings” that would allow enough time after them for the team to get ready to open. The meetings would not start until EVERYONE was there, and I emphasized how important I found them. These quick meetings also gave me an opportunity to pass along information from upper management or to discuss current issues facing the staff. And yes, being just late enough to get out of doing the pre-opening work was one of the topics.</p>
<p>Having quietly called this person’s bad behavior out, I found that it also alerted them to a bit of peer pressure from their colleagues to pull their weight.</p>
]]></content:encoded>
			<wfw:commentRss>http://tomdoepker.com/2008/11/23/tardy-employee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Brand within a Brand</title>
		<link>http://tomdoepker.com/2008/07/10/a-brand-within-a-brand/</link>
		<comments>http://tomdoepker.com/2008/07/10/a-brand-within-a-brand/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 18:14:02 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Clermont County]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Sites I Have Done]]></category>

		<guid isPermaLink="false">http://tomdoepker.com/2008/07/10/a-brand-within-a-brand/</guid>
		<description><![CDATA[The Clermont County brand – as a whole – is warm, but very professional. While the Department of Job and Family Services is definitely very professional, their Web sites needed to be more inviting than the rest. The brand personality needed to have a smiling face and a caring outlook, whether addressing serious social concerns [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://tomdoepker.com/wp-content/uploads/2008/07/djfs-2.jpg" alt="The Department of Job &amp; Family Services Family of Web Sites" /></p>
<p>The Clermont County brand – as a whole – is warm, but very professional. While the Department of Job and Family Services is definitely very professional, their Web sites needed to be more inviting than the rest. The brand personality needed to have a smiling face and a caring outlook, whether addressing serious social concerns or helping to build equity in the community with activities like a coloring contest and a roundup of “Most Wanted” child support offenders.</p>
<h2>The Sites</h2>
<ul>
<li><a href="http://djfs.clermontcountyohio.gov/" title="Visit their site">Department of Job &amp; Family Services Main Site</a></li>
<li><a href="http://acfs.clermontcountyohio.gov/" title="Visit their site">Office of Adult, Child and Family Stability</a></li>
<li><a href="http://www.clermontforkids.org/" title="Visit their site">Clermont For Kids</a></li>
<li><a href="http://cps.clermontcountyohio.gov/" title="Visit their site">Children&#8217;s Protective Services</a></li>
<li><a href="http://www.clermontsupportskids.org/" title="Visit their site">Child Support Enforcement</a></li>
<li><a href="http://www.death2meth.com/" title="Visit their site">Death2Meth</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tomdoepker.com/2008/07/10/a-brand-within-a-brand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
