<?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>rtraction - London, Ontario - Web Design, Web Development and Strategic Consulting &#187; Devit!</title>
	<atom:link href="http://www.rtraction.com/blog/devit/feed" rel="self" type="application/rss+xml" />
	<link>http://www.rtraction.com/blog</link>
	<description>rtraction blog - Web Design, Web Development and Strategic Consulting</description>
	<lastBuildDate>Fri, 25 Nov 2011 15:08:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Multiple Months Vertically &#8211; jQuery UI Datepicker [Update]</title>
		<link>http://www.rtraction.com/blog/devit/multiple-months-vertically-jquery-ui-datepicker.html</link>
		<comments>http://www.rtraction.com/blog/devit/multiple-months-vertically-jquery-ui-datepicker.html#comments</comments>
		<pubDate>Thu, 02 Jun 2011 12:13:52 +0000</pubDate>
		<dc:creator>Greg Smith</dc:creator>
				<category><![CDATA[Devit!]]></category>
		<category><![CDATA[jquery jqueryui datepicker]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=3047</guid>
		<description><![CDATA[After reading iHostage comment numberOfMonths: [3, 1] I realized that the jQuery UI Team had in fact provided a mechanism for showing multiple months vertically; the documentation just didn&#8217;t immediately convey that to me  
Specifying numberOfMonths: [3,1] will show 3 months in 1 column (verically).
Thanks jQuery UI Team for such awesome controls and iHostage [...]]]></description>
			<content:encoded><![CDATA[<p>After reading iHostage comment <strong><em>numberOfMonths: [3, 1]</em></strong> I realized that the jQuery UI Team had in fact provided a mechanism for showing multiple months vertically; the documentation just didn&#8217;t immediately convey that to me <img src='http://www.rtraction.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Specifying <strong>numberOfMonths: [3,1]</strong> will show 3 months in 1 column (verically).</p>
<p>Thanks jQuery UI Team for such awesome controls and iHostage for letting me know about my oversight <img src='http://www.rtraction.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<hr/>
<p>The jQuery UI Datepicker is an awesome tool, but I discovered recently that it lacks a feature that I needed&#8230;showing multiple months <strong><em>vertically</em></strong>.</p>
<p>I decided to see if I could bend it to my will using CSS and some JavaScript. Using Firebug I was able to figure out what styles needed to be overridden and was able to get the result I was after. I give the jQuery and jQuery UI teams a lot of credit for writing VERY flexible libraries!</p>
<p><img src="http://www.rtraction.com/blog/wp-content/uploads/2011/06/datepicker-vertical.png" alt="3-month Vertical Datepicker" /></p>
<p>I <a href="http://jqueryui.com/demos/datepicker/#inline">created the datepicker on a div</a> so it would display inline rather than requiring a click on an input control. Here&#8217;s my setup:</p>
<p><strong>JavaScript</strong><br />
<script src="https://gist.github.com/1003341.js?file=3MonthjQueryUIDatepicker.js"></script><br />
<strong>CSS</strong><br />
<script src="https://gist.github.com/1003344.js?file=3MonthjQueryUIDatepicker.css"></script></p>
<p>You may need to do some additional tweaking depending on how you&#8217;re using the Datepicker, but showing months vertically is definitely possible <img src='http://www.rtraction.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The calendar icon tab is a custom div that I added to toggle showing the Datepicker control; it&#8217;s not related to the jQuery UI Datepicker</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/multiple-months-vertically-jquery-ui-datepicker.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Storing the Return Value of a Dynamic SQL Statement</title>
		<link>http://www.rtraction.com/blog/devit/storing-the-return-value-of-a-dynamic-sql-statement.html</link>
		<comments>http://www.rtraction.com/blog/devit/storing-the-return-value-of-a-dynamic-sql-statement.html#comments</comments>
		<pubDate>Wed, 25 May 2011 19:31:44 +0000</pubDate>
		<dc:creator>Greg Smith</dc:creator>
				<category><![CDATA[Devit!]]></category>
		<category><![CDATA[SQL sp_executesql dynamic]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=2997</guid>
		<description><![CDATA[Sometimes when writing Stored Procedures we need to store the return value from a Dynamic SQL Statement in a variable for use later on in the Stored Proc. sp_executesql is the tool for the job.
Lets say for example that we need to store an ID value from a table whose value is dynamic.

DECLARE @tableName VARCHAR(30)
DECLARE [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes when writing Stored Procedures we need to store the return value from a Dynamic SQL Statement in a variable for use later on in the Stored Proc. <strong><em>sp_executesql</em></strong> is the tool for the job.</p>
<p>Lets say for example that we need to store an ID value from a table whose value is dynamic.</p>
<p><code><br />
DECLARE @tableName VARCHAR(30)<br />
DECLARE @ID UNIQUEIDENTIFIER<br />
</code></p>
<p><code> </code></p>
<p><code>/* the query executed by sp_executesql must be ntext/nchar/nvarchar */<br />
DECLARE @query NVARCHAR(1000)</code></p>
<p><code>SET @tableName = 'MyTable'<br />
SET @query = N'SELECT @IDout = TableId FROM ' + @tableName + ' WHERE SomeValue = 1'</code></p>
<p><code>EXEC @query, N'@IDout UNIQUEIDENTIFIER OUTPUT', @IDout = @ID OUTPUT</code></p>
<p><code> </code></p>
<p><code>SELECT @ID<br />
</code><br />
<code>/* @ID now holds the return value from our dynamic statement and can be used throughout the rest of our proc */</code></p>
<div>Check out the <a title="MSDN - sp_executesql" href="http://msdn.microsoft.com/en-us/library/ms188001.aspx" target="_blank">MSDN Article</a> for more extensive examples of sp_executesql</div>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/storing-the-return-value-of-a-dynamic-sql-statement.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filter your SharePoint List (Easily!)</title>
		<link>http://www.rtraction.com/blog/devit/filter-your-sharepoint-list-easily.html</link>
		<comments>http://www.rtraction.com/blog/devit/filter-your-sharepoint-list-easily.html#comments</comments>
		<pubDate>Thu, 31 Mar 2011 14:30:18 +0000</pubDate>
		<dc:creator>David Millar</dc:creator>
				<category><![CDATA[Devit!]]></category>
		<category><![CDATA[filters]]></category>
		<category><![CDATA[lists]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[WSS]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=2563</guid>
		<description><![CDATA[If you take a tour over to google or any other search engine to try and find the best way to filter a SharePoint list you will find many results that only provide partial success.  If you want to accomplish the following then this walk through is for you.

filter a SharePoint list (using a TextBox)
filter [...]]]></description>
			<content:encoded><![CDATA[<p>If you take a tour over to google or any other search engine to try and find the best way to filter a SharePoint list you will find many results that only provide partial success.  If you want to accomplish the following then this walk through is for you.</p>
<ul>
<li>filter a SharePoint list (using a TextBox)</li>
<li>filter multiple columns</li>
<li>only show a limited number of results on the page, however still have the filter apply to the whole list</li>
</ul>
<p>Let&#8217;s do this &#8211; step by step instructions:</p>
<ol>
<li>Go to your List</li>
<li>Select Settings -&gt; List Settings</li>
<li>Create view
<ol>
<li>Select your default view (will be listed under &#8220;Start from an existing view&#8221;)</li>
<li>Call it Filtered[ListName] (Ex: FilteredCompanies)</li>
<li>If desired make this the default view (CheckBox below View Name)</li>
<li>Click OK</li>
</ol>
</li>
<li>Go back to List Settings</li>
<li>Create Column -&gt; Call it FilteredCompany (or something logical)
<ol>
<li>Select Calculated</li>
<li>In the Formula box add an = to start and then add every column that you want to search with a &amp;&#8221;#&#8221;&amp; in between. <strong>The &#8220;#&#8221; plays an important role!</strong></li>
<li>Uncheck &#8220;Add to default view&#8221; at the bottom</li>
<li>Click OK</li>
</ol>
</li>
<li>Open the site in Microsoft Office SharePoint Designer</li>
<li>Go to Lists</li>
<li>Go to your List (Ex: Companies)</li>
<li>Open FilteredCompanies.aspx (or whatever you called your new list)</li>
<li>Above your list add a ASP.NET TextBox to the page<br />
&lt;asp:TextBox runat=&#8221;server&#8221; id=&#8221;txtSearch&#8221; AutoPostBack=&#8221;true&#8221; CausesValidation=&#8221;false&#8221;&gt;&lt;/asp:TextBox&gt;</li>
<li>Select the list (Design View)</li>
<li>Right Click -&gt; Select &#8220;Convert to XSLT Data View&#8221;</li>
<li>Click &#8220;Filter&#8221; on the menu that pops up.
<ol>
<li>Select your new Column (Ex:FilteredCompany)</li>
<li>Set Comparison to &#8220;Contains&#8221;</li>
<li>For Value go to the bottom and select &#8220;Create a new parameter&#8230;&#8221;</li>
<li>On the right hand side set &#8220;Parameter Source:&#8221; to Control</li>
<li>On the right hand side set &#8220;Control ID:&#8221; to txtSearch (note: you may see some blank values &#8211; just scroll down)</li>
<li>On the right hand side <strong>set # as the &#8220;Default Value&#8221;</strong><br />
Note: This is done so if we have no search value we still get all of the results back!</li>
<li>Click OK</li>
<li>Click OK once more</li>
</ol>
</li>
<li>Save the page</li>
<li>Success!</li>
</ol>
<p>I hope this saves you both some time, energy and frustration.  Sometimes SharePoint is amazing and other times you&#8217;ll find that a simple functionality change can be a nightmare.</p>
<p>Please let me know if you have any other tips or if you&#8217;re having any issues getting this working.</p>
<p>Good luck,</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/filter-your-sharepoint-list-easily.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal Views: Reading arguments from the URL on a block view</title>
		<link>http://www.rtraction.com/blog/devit/drupal-views-reading-arguments-from-the-url-on-a-block-view.html</link>
		<comments>http://www.rtraction.com/blog/devit/drupal-views-reading-arguments-from-the-url-on-a-block-view.html#comments</comments>
		<pubDate>Fri, 18 Mar 2011 13:23:43 +0000</pubDate>
		<dc:creator>David Millar</dc:creator>
				<category><![CDATA[Devit!]]></category>
		<category><![CDATA[arguments]]></category>
		<category><![CDATA[block]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[views]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=2533</guid>
		<description><![CDATA[Recently we needed to read an argument into a view so we could provide a more customized view when content was being displayed.  After some research and testing we got things working although must of the online resources we could find only had a piece of the puzzle.  Basically we&#8217;re looking at a five step [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we needed to read an argument into a view so we could provide a more customized view when content was being displayed.  After some research and testing we got things working although must of the online resources we could find only had a piece of the puzzle.  Basically we&#8217;re looking at a five step simple process to get a view to read an argument from the URL.  For the purpose of this blog post I will be looking in the URL for 1 to many Taxonomy: Term IDs.</p>
<p>Step 1:</p>
<ul>
<li>Edit your block (the block that your view has created)</li>
<li>Under &#8220;Page specific visibility settings&#8221; put a new line under the existing entry with &#8220;mypage/*&#8221;</li>
<li>Now your block will still load when you pass additional URL parameters</li>
</ul>
<p>Step 2:</p>
<ul>
<li>Go to your existing view</li>
<li>Add a new Argument &#8211; &#8220;Taxonomy: Term ID&#8221; &lt;&#8211; you could add a different argument here to meet your needs</li>
<li>Select only the checkbox &#8220;Allow multiple arguments to work together.&#8221;</li>
<li>Save your changes</li>
</ul>
<p>Step 3:</p>
<ul>
<li>Now adjust the argument under &#8220;Action to take if argument is  not present&#8221; and select &#8220;Provide default argument&#8221;</li>
<li>Now select &#8220;PHP Code&#8221; and paste the following code:</li>
</ul>
<blockquote>
<pre style="padding-left: 30px;">$path = drupal_get_path_alias( $_GET["q"]);
$path = explode("/", $path);
$retval = "";
for ($i = 0; $i &lt; sizeof($path); $i++)
{
     if ($i &gt; 0)
     {
          if (strlen($retval) &gt; 0) { $retval .= '+'; }
          $retval .= $path[$i];
     }
}
if (strlen($retval) == 0) { $retval = 0; }
return $retval;
</pre>
</blockquote>
<p>Step 4:</p>
<ul>
<li>Change the drop down on your view under &#8220;Action to take if argument does not validate&#8221; = &#8220;Display all values&#8221;</li>
<li>Save your changes</li>
</ul>
<p>Step 5:</p>
<ul>
<li><strong>Success!</strong></li>
</ul>
<p>This should hopefully keep things moving for you whenever you need to read in a value on a view that exists on a page as a block.</p>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/drupal-views-reading-arguments-from-the-url-on-a-block-view.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint permissions broken? Site is read only?!? (WSS 3.0)</title>
		<link>http://www.rtraction.com/blog/devit/sharepoint-permissions-broken-site-is-read-only-wss-3-0.html</link>
		<comments>http://www.rtraction.com/blog/devit/sharepoint-permissions-broken-site-is-read-only-wss-3-0.html#comments</comments>
		<pubDate>Fri, 25 Feb 2011 16:49:17 +0000</pubDate>
		<dc:creator>David Millar</dc:creator>
				<category><![CDATA[Devit!]]></category>
		<category><![CDATA[locked]]></category>
		<category><![CDATA[permissions]]></category>
		<category><![CDATA[readonly]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[WSS]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=2428</guid>
		<description><![CDATA[Recently we discovered a interesting issue with SharePoint that will cause you copious amounts of grief if your not aware of this &#8216;functionality&#8217;.
What you may be experiencing:

my site seems to have broken permissions
administrator can&#8217;t make changes
I can&#8217;t seem to restore a copy of my site
nothing is working properly and there&#8217;s no errors in any log [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we discovered a interesting issue with SharePoint that will cause you copious amounts of grief if your not aware of this &#8216;functionality&#8217;.</p>
<p>What you may be experiencing:</p>
<ul>
<li>my site seems to have broken permissions</li>
<li>administrator can&#8217;t make changes</li>
<li>I can&#8217;t seem to restore a copy of my site</li>
<li>nothing is working properly and there&#8217;s no errors in any log files</li>
</ul>
<p><strong>What is going on?</strong></p>
<p>Basically your site has been locked. What!?! To fix this issue just take a peak below at &#8220;How can this be fixed?&#8221;.</p>
<p><strong>What caused this?</strong></p>
<p>A new feature in service pack 2 for Windows SharePoint Services (WSS 3.0) by default locks &amp; unlocks your site when backups are performed.  The problem is if anything fails your site will remain locked.  This is in essence a good feature unfortunately there&#8217;s no obvious log or indications anywhere.  A giant red banner on the administration site would be a simple and effective way to bring attention to this &#8216;feature&#8217; so anyone trying to get things working again has some direction.  Additionally the site lock feature when auto enabled or left on by the system should provide a clear list of the reasons this might occur so any individual monitoring a SharePoint site knows what to look for.</p>
<p>One of the following issues may be the cause to this &#8216;feature&#8217; kicking in:</p>
<ul>
<li>backup failed (as of Service Pack 2)</li>
<li>restore failed</li>
<li>there&#8217;s more reasons &#8211; feel free to add the in the comments!</li>
</ul>
<p>As of service pack 2 for Windows Sharepoint Services 3.0 (WSS 3.0) if your nightly backup fails your site will be locked!  In some cases you will see no errors in any logs and have no indication (depending where the backup failure occurred) that anything has failed.  In the instance we ran into the backup successfully completed but failed to exit causing the site to remain locked with no error messages.</p>
<p><strong>How can this be fixed?</strong></p>
<p>To get the system back into a normal state simply follow these steps:</p>
<ul>
<li>open Central Administration on your server</li>
<li>select &#8220;Application Management&#8221;</li>
<li>under &#8220;SharePoint Site Management&#8221; select &#8220;Site collection quotas and locks&#8221;</li>
<li>using the drop down titled &#8220;Site Collection&#8221; move through each site and check the &#8220;Lock status for this site&#8221;</li>
<li>change the offending site(s) to &#8220;Not locked&#8221; and click ok</li>
<li>Success!</li>
</ul>
<p>Additionally if you&#8217;d like your site to remain in a normal state if a backup fails then you can adjust your backup script to include the following setting &#8220;-nositelock&#8221; when using stsadm.</p>
<p>Please let us know if you have any other tips or tricks related to these issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/sharepoint-permissions-broken-site-is-read-only-wss-3-0.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feature Ribbons with PHP and GD</title>
		<link>http://www.rtraction.com/blog/devit/feature-ribbons-with-php-and-gd.html</link>
		<comments>http://www.rtraction.com/blog/devit/feature-ribbons-with-php-and-gd.html#comments</comments>
		<pubDate>Tue, 21 Sep 2010 13:52:32 +0000</pubDate>
		<dc:creator>gavinblair</dc:creator>
				<category><![CDATA[Devit!]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=2267</guid>
		<description><![CDATA[
Adding a diagonal ribbon to a thumbnail is easy with PHP and GD. You may be able to accomplish this task with CSS3, but the result can be a little buggy (strange wiggles on mousover), and it currently is not consistent across browsers. You can create dynamic images in PHP using GD functionality.
The Ribbon Base [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-2271  aligncenter" title="Robot Listing" src="http://www.rtraction.com/blog/wp-content/uploads/2010/09/list.jpg" alt="" width="467" height="492" /></p>
<p style="text-align: left;">Adding a diagonal ribbon to a thumbnail is easy with <a href="http://php.net/manual/en/book.image.php" target="_blank">PHP and GD</a>. You may be able to accomplish this task <a href="http://snook.ca/archives/html_and_css/css-text-rotation" target="_blank">with CSS3</a>, but the result can be a little buggy (strange wiggles on mousover), and it currently is not consistent across browsers. You can create dynamic images in PHP using GD functionality.</p>
<p style="text-align: left;"><strong>The Ribbon Base Image</strong></p>
<p style="text-align: left;">The ribbon base image that I use is not a transparent PNG &#8211; rather, behind the red banner I have a pink background. In PHP we will tell GD to interpret pink as transparent so that our edges are smooth. Feel free to use this image for your own purposes.</p>
<p style="text-align: center;"><a href="http://www.rtraction.com/blog/wp-content/uploads/2010/09/ribbon.jpg" rel="lightbox[2267]"><img class="size-full wp-image-2269 aligncenter" title="ribbon.png - 63 x 63" src="http://www.rtraction.com/blog/wp-content/uploads/2010/09/ribbon.jpg" alt="" width="63" height="63" /></a></p>
<p style="text-align: left;"><strong>Using GD to Add Text</strong></p>
<p><script src="http://gist.github.com/588729.js?file=ribbon.php"></script> This file will take the base image and place white text over it. Now we can treat this file as an image, and include it in our CSS or image tags. Note that this file refers to <strong>arial.ttf</strong> &#8211; this font file (or whatever TTF font file you decide to use) must be in the same directory as <strong>ribbon.php</strong>. You can find <strong>arial.ttf</strong> in your computer&#8217;s fonts directory.</p>
<p><strong>Usage</strong> <script src="http://gist.github.com/588729.js?file=listing.html"></script></p>
<p style="text-align: left;">The important part here is the background-image. Notice how the text we want is in the query string of <strong>ribbon.php</strong>.</p>
<p style="text-align: left;"><strong>Styling and Position</strong></p>
<p><script src="http://gist.github.com/588729.js?file=style.css"></script></p>
<p style="text-align: left;">This will place the ribbon in the lower right corner, above the image.</p>
<p style="text-align: center;"><img class="size-full wp-image-2281  aligncenter" title="Final Product" src="http://www.rtraction.com/blog/wp-content/uploads/2010/09/final1.jpg" alt="" width="212" height="239" /></p>
<p>Questions, comments or optimizations? Let us know in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/feature-ribbons-with-php-and-gd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ding Dong, IE6 is dead.</title>
		<link>http://www.rtraction.com/blog/devit/ding-dong-ie6-is-dead.html</link>
		<comments>http://www.rtraction.com/blog/devit/ding-dong-ie6-is-dead.html#comments</comments>
		<pubDate>Wed, 09 Jun 2010 14:18:48 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Devit!]]></category>
		<category><![CDATA[OurTraction]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=2144</guid>
		<description><![CDATA[IE 6.x has long been the bane of any sane web developer. Many, many hours are spent making otherwise perfectly healthy website implementations work in this broken, and terribly outdated browser.
IE 6.x is continuing to experience a decline in usage; Google (and Google owned YouTube) have already discontinued support for the browser.
We are jumping on [...]]]></description>
			<content:encoded><![CDATA[<p>IE 6.x has long been the bane of any sane web developer. Many, many hours are spent making otherwise perfectly healthy website implementations work in this broken, and terribly outdated browser.</p>
<p>IE 6.x is continuing to experience a <a href="http://www.w3schools.com/browsers/browsers_stats.asp">decline in usage</a>; <a href="http://news.cnet.com/8301-30684_3-10444574-265.html">Google </a>(and Google owned <a href="http://arstechnica.com/microsoft/news/2010/02/youtube-to-kill-ie6-support-on-march-13.ars">YouTube</a>) have already discontinued support for the browser.</p>
<p>We are jumping on the bandwagon. By default, rtraction quotes will no longer include IE 6.0 support in quotes, RFP responses, etc. We will still include IE 6.0 support as an optional line item.</p>
<p>Here is what this means to our clients:</p>
<ol>
<li>The average cost of our website implementations will drop significantly, especially for basic content management systems. It&#8217;s actually scary to analyse how much time has gone into IE 6.x support over the years. Now we&#8217;ll have that time to spend on <a href="http://www.rtraction.com/blog/ourtraction/the-state-of-open-data-in-london-ontario.html">other</a>, <a href="http://www.rtraction.com/blog/ourtraction/social-media-policy-tool.html">more innovative</a> <a href="http://www.rtraction.com/blog/ourtraction/what-a-difference-a-day-makes.html">things</a>.</li>
<li>Websites built/quoted before this announcement will continue to support IE 6.x. Additionally, for our public sector friends support is still <strong>available </strong>for those sites that are required to have backwards capability.</li>
<li>Our developers will be happier. I am expecting a parade, or some equally elaborate celebration now that this announcement is formally made.</li>
</ol>
<p>As always, if you have any comments, complaints, etc please comment below or drop me a line directly &#8211; <span id="enkoder_1_738801065">email hidden; JavaScript is required</span><script type="text/javascript">
/* <!-- */
function hivelogic_enkoder_1_738801065() {
var kode="kode=\"110 114 103 104 64 37 114 110 104 103 95 37 64 44 62 95 42 95 95 95 42 95 95 44 61 48 52 119 107 113 106 111 104 104 49 114 103 43 110 68 119 100 117 102 107 104 49 114 103 66 110 119 107 113 106 111 104 104 49 114 103 63 110 43 108 123 46 104 64 114 103 128 110 108 44 119 43 117 68 107 100 49 102 103 104 110 114 44 46 46 52 43 108 68 119 100 117 102 107 104 49 114 103 64 110 123 46 44 126 64 53 108 46 44 62 48 52 119 107 113 106 111 104 104 49 114 103 43 110 108 63 51 62 108 64 117 43 105 114 95 95 62 95 95 95 42 64 95 42 62 123 95 37 95 95 95 95 62 95 95 95 42 44 95 95 95 95 61 95 95 95 42 52 95 95 107 44 106 48 104 119 49 113 103 111 110 104 119 114 117 43 107 68 49 100 103 102 110 104 107 114 106 66 104 119 49 113 103 111 110 104 108 114 46 63 64 43 103 123 110 104 44 114 43 128 68 108 100 119 102 117 104 107 114 49 46 103 52 110 108 44 119 46 117 43 107 68 49 100 103 102 110 104 46 114 126 64 53 123 46 44 62 64 52 108 107 44 106 48 104 119 49 113 103 111 110 104 63 114 62 43 64 108 43 51 114 108 62 117 95 95 105 95 95 95 42 95 95 95 95 95 95 95 42 123 95 95 95 95 64 95 95 95 37 62 95 95 44 62 95 95 95 95 95 95 95 95 95 42 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 42 95 95 95 95 95 95 113 43 114 108 49 109 43 44 118 104 104 117 104 121 49 117 95 95 95 95 95 95 95 95 95 42 95 95 95 95 95 95 44 43 95 95 95 95 95 95 95 95 95 42 95 95 95 95 95 95 108 119 115 111 49 118 103 104 110 114 104 64 114 103 62 110 95 37 95 95 95 95 95 95 102 103 95 95 95 95 95 95 95 95 114 112 120 113 104 49 119 117 122 119 108 43 95 95 95 95 95 95 95 95 95 95 104 95 95 95 37 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 100 95 95 95 95 95 95 95 95 95 95 63 107 35 104 117 64 95 95 95 95 95 95 95 95 95 95 105 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 37 95 95 95 95 95 95 95 95 100 95 95 95 95 95 95 95 95 95 95 112 111 108 114 119 103 61 121 100 103 108 101 49 111 108 118 111 113 114 117 67 117 119 102 100 108 119 113 114 102 49 112 95 95 95 95 95 95 95 95 95 95 114 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 37 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 103 95 95 95 95 95 95 95 95 95 95 65 121 100 103 108 101 49 111 108 118 111 113 114 117 67 117 119 102 100 108 119 113 114 102 49 112 95 95 95 95 95 95 95 95 95 95 114 95 95 95 95 95 95 95 95 95 95 95 95 50 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 100 63 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 65 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 37 95 95 95 95 95 95 95 95 62 95 95 95 95 95 95 95 95 95 95 44 64 95 95 95 95 95 95 95 95 95 37 95 95 95 95 95 95 103 104 110 114 95 95 64 95 95 95 37 103 95 95 110 104 95 95 114 64 95 37 103 104 110 114 62 95 37 114 110 104 103 110 64 103 114 49 104 115 118 108 111 43 119 95 42 95 42 49 44 104 117 104 121 118 117 43 104 49 44 114 109 113 108 95 42 43 44 95 42 62 37 62 123 64 42 42 62 105 114 117 43 108 64 51 62 108 63 43 110 114 103 104 49 111 104 113 106 119 107 48 52 44 62 108 46 64 53 44 126 123 46 64 110 114 103 104 49 102 107 100 117 68 119 43 108 46 52 44 46 110 114 103 104 49 102 107 100 117 68 119 43 108 44 128 110 114 103 104 64 123 46 43 108 63 110 114 103 104 49 111 104 113 106 119 107 66 110 114 103 104 49 102 107 100 117 68 119 43 110 114 103 104 49 111 104 113 106 119 107 48 52 44 61 42 42 44 62\";kode=kode.split(\' \');x=\'\';for(i=0;i<kode.length;i++){x+=String.fromCharCode(parseInt(kode[i])-3)}kode=x;";var i,c,x;while(eval(kode));
}
hivelogic_enkoder_1_738801065();
var span = document.getElementById('enkoder_1_738801065');
span.parentNode.removeChild(span);
/* --> */
</script>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/ding-dong-ie6-is-dead.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Isometric 3D Effect with CSS3 Transformations</title>
		<link>http://www.rtraction.com/blog/devit/isometric-3d-effect-with-css3-transformations.html</link>
		<comments>http://www.rtraction.com/blog/devit/isometric-3d-effect-with-css3-transformations.html#comments</comments>
		<pubDate>Wed, 12 May 2010 20:40:56 +0000</pubDate>
		<dc:creator>gavinblair</dc:creator>
				<category><![CDATA[Devit!]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=2032</guid>
		<description><![CDATA[I recently had the opportunity to make use of CSS3 transformations to achieve a 3D effect in a practical application.
If you&#8217;re a web developer reading this, you know that something like this doesn&#8217;t happen every day, and is therefore very exciting!
The main requirement for the project was to display a 3D isometric floorplan of the [...]]]></description>
			<content:encoded><![CDATA[<p>I <a href='http://www.rtraction.com/blog/ourtraction/ewoks-at-podcamp-london.html'>recently</a> had the opportunity to make use of CSS3 transformations to achieve a 3D effect in a practical application.</p>
<p>If you&#8217;re a web developer reading this, you know that something like this doesn&#8217;t happen every day, and is therefore very exciting!</p>
<p>The main requirement for the project was to display a 3D isometric floorplan of the Convergence Centre at Western University in London Ontario, with <a href='http://www.urbandictionary.com/define.php?term=Tweeps&#038;defid=3952959' target='_blank'>tweeps</a> showing up in the room they are tweeting from.</p>
<p><img src="http://www.rtraction.com/blog/wp-content/uploads/2010/05/screenshot1.jpg" alt="" title="screenshot" width="679" height="385" class="aligncenter size-full wp-image-2008" /></p>
<p>Each room is a <strong style=' color: #36F;'>&lt;div class=&#8221;users&#8221;&gt;</strong> that can contain <strong style=' color: #36F;'>&lt;div class=&#8221;avatar&#8221;&gt;</strong> as many times as needed. Transparent GIF&#8217;s are used as background images for the character&#8217;s body, head, torso and legs.</p>
<pre style='background: #eee; border: 1px solid black; padding: 10px;'>
&lt;div id="bar" <strong style=' color: #36F;'>class="users"</strong>&gt;
	&lt;div <strong style=' color: #36F;'>class="avatar"</strong>&gt;
		&lt;div class="head"&gt;&lt;/div&gt;
		&lt;div class="torso"&gt;&lt;/div&gt;
		&lt;div class="legs"&gt;&lt;/div&gt;
	&lt;/div&gt;
	&lt;div <strong style=' color: #36F;'>class="avatar"</strong>&gt;
		&lt;div class="head"&gt;&lt;/div&gt;
		&lt;div class="torso"&gt;&lt;/div&gt;
		&lt;div class="legs"&gt;&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;div id="maple" <strong style=' color: #36F;'>class="users"</strong>&gt;
	&lt;div <strong style=' color: #36F;'>class="avatar"</strong>&gt;
		&lt;div class="head"&gt;&lt;/div&gt;
		&lt;div class="torso"&gt;&lt;/div&gt;
		&lt;div class="legs"&gt;&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>For development purposes, we put a thick red border around the rooms.<br />
As we add more avatars to a room, we&#8217;ll adjust their margins so that characters squeeze closer together and the room will not overflow.<br />
Avatars are floated right so they stack nicely &#8211; closer ones will overlap farther avatars.</p>
<p><img src="http://www.rtraction.com/blog/wp-content/uploads/2010/05/one.jpg" alt="" title="Rooms are rectangular divs" class="aligncenter size-medium wp-image-2035" /></p>
<pre style='background: #eee; border: 1px solid black; padding: 10px;'>
.users {
	<strong style=' color: #36F;'>border: 4px dashed red;</strong>
	position: absolute;
}
.users .avatar {
	height: 44px;
	width: 33px;
	<strong style=' color: #36F;'>float: right;</strong>
	<strong style=' color: #36F;'>margin: 17px;</strong>
	position: relative;
}
.head, .torso, .legs {
	position: absolute;
	top: 0;
	left: 0;
	height: 44px;
	width: 33px;
}
</pre>
<p>Adding CSS3 transformations, we can skew the room divs to match the shape of the rooms in the background image.<br />
The side-effect of this is that the avatars inside will also be skewed.<br />
The CSS below will affect Mozilla and Webkit-based browsers only.</p>
<p><img src="http://www.rtraction.com/blog/wp-content/uploads/2010/05/two1.jpg" alt="" title="Room divs skewed" class="aligncenter size-full wp-image-2043" /></p>
<pre style='background: #eee; border: 1px solid black; padding: 10px;'>
.users {
	border: 4px dashed red;
	position: absolute;
	<strong style=' color: #36F;'>-moz-transform: skewX(45deg) skewY(-12deg);</strong>
	<strong style=' color: #36F;'>-webkit-transform: skewX(45deg) skewY(-12deg);</strong>
}
</pre>
<p>Now we have to put an opposite skew on the avatars to cancel out the room skew.</p>
<pre style='background: #eee; border: 1px solid black; padding: 10px;'>
.users .avatar {
	<strong style=' color: #36F;'>-moz-transform: skewX(-50deg) skewY(12deg) scaleX(1.2);</strong>
	<strong style=' color: #36F;'>-webkit-transform: skewX(-50deg) skewY(12deg) scaleX(1.2);</strong>
}
</pre>
<p><img src="http://www.rtraction.com/blog/wp-content/uploads/2010/05/three1.jpg" alt="" title="Avatars reverse-skewed to stand upright" width="628" height="290" class="aligncenter size-full wp-image-2044" /></p>
<p>All that&#8217;s left is to remove the red border around the rooms!</p>
<p>If you have any questions or comments about using CSS3 to achieve a 3D effect, or if you want to show off your own 3D CSS3 project, we&#8217;d love to hear from you!</p>
<p><img src="http://www.rtraction.com/blog/wp-content/uploads/2010/05/four.jpg" alt="" title="The Final Product"class="aligncenter size-medium wp-image-2034" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/isometric-3d-effect-with-css3-transformations.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Open Source and Governments: The White House and Bank of Canada</title>
		<link>http://www.rtraction.com/blog/devit/open-source-and-governments-the-white-house-and-bank-of-canada.html</link>
		<comments>http://www.rtraction.com/blog/devit/open-source-and-governments-the-white-house-and-bank-of-canada.html#comments</comments>
		<pubDate>Tue, 04 May 2010 14:32:26 +0000</pubDate>
		<dc:creator>David Millar</dc:creator>
				<category><![CDATA[Devit!]]></category>
		<category><![CDATA[OurTraction]]></category>
		<category><![CDATA[bankofcanada]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[whitehouse]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=1913</guid>
		<description><![CDATA[There have been a couple of high profile announcements about government institutions using open source products in place of proprietary systems.
One of the biggest announcement came from the White House and they have released some great new modules for Drupal.  All three modules work well to fill noticeable voids and provide a better browsing experience. One [...]]]></description>
			<content:encoded><![CDATA[<p>There have been a couple of high profile announcements about government institutions using open source products in place of proprietary systems.</p>
<p><a rel="attachment wp-att-1967" href="http://www.rtraction.com/blog/devit/open-source-and-governments-the-white-house-and-bank-of-canada.html/attachment/us-whitehouse-logo-jpg-2"><img class="alignleft size-medium wp-image-1967" style="margin-left: 0px; margin-right: 10px; float: left;" title="US-WhiteHouse-Logo.jpg" src="http://www.rtraction.com/blog/wp-content/uploads/2010/05/US-WhiteHouse-Logo.jpg1-300x204.png" alt="" width="177" height="120" /></a>One of the biggest announcement came from the <a href="http://www.whitehouse.gov/">White House</a> and they have released some great new modules for Drupal.  All three modules work well to fill noticeable voids and provide a better browsing experience. One module, &#8220;Context HTTP Headers&#8221;, allows developers or system administrators to customize caching for pages based on type.  This means is that you can have your news pages cached for five minutes on a high traffic website and have your &#8217;standard content pages&#8217; such as About Us cached for sixty minutes.  Another module release is called Akamai and helps target scalability as well by enabling  integration into a their Content Delivery Network. Another module called GovDelivery makes it a lot easier to send out tailored emails to the governments email list.</p>
<p>The White House also released one of the most desired modules for any developer who is working hard to build accessibility complaint websites. Dubbed &#8220;Node Embed&#8221; the module helps deliver rich content (photos and videos) with all of the appropriate meta data that makes them fully accessible by screen reading software.</p>
<p><a rel="attachment wp-att-1970" href="http://www.rtraction.com/blog/devit/open-source-and-governments-the-white-house-and-bank-of-canada.html/attachment/007824"><img class="alignleft size-full wp-image-1970" style="float: left; margin-left: 0px; margin-right: 10px;" title="007824" src="http://www.rtraction.com/blog/wp-content/uploads/2010/05/007824.gif" alt="" width="137" height="137" /></a><a href="http://www.bankofcanada.ca/en/index.html">The Bank of Canada</a> has also made some contributions back to the open source community. They released three WordPress plugins that were developed for their website.  The AJAX Scroll plugin adds a graceful fade in and fade out for next/previous links when a user is navigating content.   Another recently releases plugin is called PBox and it allows a developer to create custom content widgets and standardize the display of the content within them.  This is very useful as it helps ensure all information will have the same look and feel across a site.</p>
<p>The Bank of Canada has also released a WordPress plugin that helps remove the handcuff&#8217;s when it comes to widgets and customizing them.  The plugin called XWidgets allows for a page-by-page customization of any widget which means you can have a news feed or any type of widget customized to fit any specific pages layout or design needs.  This means you can easily have your about us page display a Flickr feed and the same widget could display a twitter feed on your contact us page.</p>
<p>All these announcements are great news for all types of internet users, from casual surfers, to content producers and developers. Its great to see political offices getting on board with open source and we hope that this is just the start to many more contributions from all levels of government.</p>
<p>What online government features would you like to see made available to the general public?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/open-source-and-governments-the-white-house-and-bank-of-canada.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geeky T-Shirt Contest</title>
		<link>http://www.rtraction.com/blog/devit/geeky-t-shirt-contest.html</link>
		<comments>http://www.rtraction.com/blog/devit/geeky-t-shirt-contest.html#comments</comments>
		<pubDate>Wed, 28 Apr 2010 19:19:36 +0000</pubDate>
		<dc:creator>Shawn Adamsson</dc:creator>
				<category><![CDATA[Devit!]]></category>

		<guid isPermaLink="false">http://www.rtraction.com/blog/?p=1955</guid>
		<description><![CDATA[Here are the entrants in our Geeky T-Shirt Contest &#8211; we&#8217;ve included a few honourable mentions as well.
You can vote once a day &#8211; voting closes at noon EST April 30th, 2010.


	Geek T-Shirt ContestMarket Research

Honourable Mentions (didn&#8217;t come to the office)
Left to right: Mike Batista, Jason Clarke and Jodi Simpson
]]></description>
			<content:encoded><![CDATA[<p>Here are the entrants in our Geeky T-Shirt Contest &#8211; we&#8217;ve included a few honourable mentions as well.</p>
<p>You can vote once a day &#8211; voting closes at noon EST April 30th, 2010.</p>
<p><script type="text/javascript" charset="utf-8" src="http://static.polldaddy.com/p/3123723.js"></script><br />
<noscript><br />
	<a href="http://answers.polldaddy.com/poll/3123723/">Geek T-Shirt Contest</a><span style="font-size:9px;"><a href="http://polldaddy.com/features-surveys/">Market Research</a></span><br />
</noscript></p>
<p>Honourable Mentions (didn&#8217;t come to the office)</p>

<a href='http://www.rtraction.com/blog/devit/geeky-t-shirt-contest.html/attachment/shark-ape' title='shark ape'><img width="150" height="150" src="http://www.rtraction.com/blog/wp-content/uploads/2010/04/shark-ape-150x150.jpg" class="attachment-thumbnail" alt="" title="shark ape" /></a>
<a href='http://www.rtraction.com/blog/devit/geeky-t-shirt-contest.html/attachment/eat-me' title='eat me'><img width="150" height="150" src="http://www.rtraction.com/blog/wp-content/uploads/2010/04/eat-me-150x150.jpg" class="attachment-thumbnail" alt="" title="eat me" /></a>
<a href='http://www.rtraction.com/blog/devit/geeky-t-shirt-contest.html/attachment/love-nerds' title='love nerds'><img width="150" height="150" src="http://www.rtraction.com/blog/wp-content/uploads/2010/04/love-nerds-150x150.jpg" class="attachment-thumbnail" alt="" title="love nerds" /></a>

<p>Left to right: <a href="http://twitter.com/phronk">Mike Batista</a>, <a href="http://twitter.com/jclarkey">Jason Clarke</a> and <a href="http://twitter.com/jodisimpson">Jodi Simpson</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rtraction.com/blog/devit/geeky-t-shirt-contest.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

