<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
<channel>
<title />
<link>http://blog.bluetubeinteractive.com/</link>
<description>Bluetube Interactive : Cutting edge digital agency that designs and builds native mobile, mobile web, tablet, social, and presence solutions.
We are experts in iOS (iPhone/iPad/iTouch) and Android native mobile apps, Mobile Optimized Web pages (HTML5/JQuery Mobile), Rich Interactive Solutions (Flash, Flex, Games, Advanced JQuery), and Web in .NET and PHP, including Sitecore, Umbraco, Tessitura, MODx, CakePHP, and much more.</description>
<language>en-US</language>
<lastBuildDate>Wed, 07 Nov 2012 22:08:49 -0500</lastBuildDate>
<generator>http://www.typepad.com/</generator>

<docs>http://www.rssboard.org/rss-specification</docs>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BluetubeInteractive" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="bluetubeinteractive" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
<title>Pushing the iPad to it's HTML5 Limit - Animated Backgrounds</title>
<link>http://blog.bluetubeinteractive.com/2012/11/pushing-the-ipad-to-its-html5-limit-animated-backgrounds.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/11/pushing-the-ipad-to-its-html5-limit-animated-backgrounds.html</guid>
<description>Recently Bluetube built an all HTML5 web application for iPads to be used as a Kiosk. As usual, we wanted to push things a little bit, so when the client asked about an animated background, we went with it. Let's...</description>
<content:encoded>&lt;p&gt;Recently Bluetube built an all HTML5 web application for iPads to be used as a Kiosk. &amp;#0160;As usual, we wanted to push things a little bit, so when the client asked about an animated background, we went with it.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s start with the fact that animated backgrounds on full client browsers is a no brainer. &amp;#0160;Even full video backgrounds run fine, often thanks to JQuery plugs or working with the canvas.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Challenge #1&lt;/strong&gt; in iPads? &amp;#0160;They don&amp;#39;t support video backgrounds, and even the usual trick of laying HTML over a video playback isn&amp;#39;t possible because you can&amp;#39;t auto start video.&amp;#0160;&lt;/p&gt;
&lt;p&gt;First thought was to take advantage of the numerous flash to SVG converters available. &amp;#0160;This was a great, real world chance to try Swiffy, Google&amp;#39;s Flash to HTML5 converter. &amp;#0160;https://www.google.com/doubleclick/studio/swiffy/faq.html. &amp;#0160;Great! &amp;#0160;How easy will this be? Get one of our designers to build an animation in Flash, convert it to HTML5! How amazing will this look?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Challenge #2&lt;/strong&gt;: Swiffy supports all kinds of features of Flash. The problem for us is it doesn&amp;#39;t support gradient colors. &amp;#0160;Our animation was a &amp;quot;waves&amp;quot; or &amp;quot;curtain&amp;quot; style effect that absolutely needed color gradients to look correct. &amp;#0160; Conversion worked great.... but lacked color.&lt;/p&gt;
&lt;p&gt;Next idea - we&amp;#39;ll just build an effect using JavaScript. &amp;#0160;There are plenty of water effect demos out there, like this one that we tried to model after. &amp;#0160;http://badassjs.com/post/932217000/water-ripple-effect-in-canvas. &amp;#0160;Easy enough, we borrow some code and make a water ripple. Not exactly what the client wanted, but close enough.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Challenge #3&lt;/strong&gt; - Have you ever noticed that so many HTML5 effects are done on 300 x 200 pixel images? &amp;#0160;Turns out, there is a good reason. &amp;#0160; Heavily calculated animations like this don&amp;#39;t scale well. &amp;#0160;Look great on a desktop with quad cores at 300 x 200. &amp;#0160;At 1024 x 768 on the iPad2, doesn&amp;#39;t perform as well.&lt;/p&gt;
&lt;p&gt;At this point, we&amp;#39;re really getting a little desperate. &amp;#0160;We&amp;#39;re running out of ideas, but we REALLY want to make this tablet cool and we really want to find out what HTML5 can do (or can&amp;#39;t do).&lt;/p&gt;
&lt;p&gt;Final option: Animated gif. &amp;#0160;It&amp;#39;s cheesy and it&amp;#39;s technology from 2000, but iPad supports it. &amp;#0160;But how do we get our pre-built flash animation into an animated gif? &amp;#0160;Turns out this is a bit of a process, made more difficult because this wasn&amp;#39;t a timeline animation, and thus we couldn&amp;#39;t just &amp;quot;export&amp;quot; it to animated gif.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Plat the SWF into a SWF capture utility that converts the live playback into an MPEG video&lt;/li&gt;
&lt;li&gt;Convert MPEG video to Animated GIF&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That&amp;#39;s a hell of a process and a strange place to wind up. &amp;#0160;I&amp;#39;m sure, somewhere, some Flash fanatic who thinks HTML5 is going back to the dark ages is going to have a field day with this blog. In a lot of ways, they are right. &amp;#0160;But the future is no doubt HTML5 and in an upcoming blog post I&amp;#39;ll talk a little about how HTML5 has allowed us to do some unique things that would be more challenging than in Flash.&lt;/p&gt;
&lt;p&gt;So bottom line - if you want an animated background with advanced animation in your iPad application in HTML5 - the future is animated gif!&lt;/p&gt;
&lt;p&gt;To learn more about Bluetube and our HTML5 experience, visit our website at &lt;a href="http://bluetubeinteractive.com" target="_blank"&gt;bluetubeinteractive.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;</content:encoded>


<category>HTML5</category>
<category>Mobile and Tablet</category>

<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Wed, 07 Nov 2012 22:08:49 -0500</pubDate>

</item>
<item>
<title>Language Fallback in Sitecore 6.x</title>
<link>http://blog.bluetubeinteractive.com/2012/11/language-fallback-in-sitecore-6x.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/11/language-fallback-in-sitecore-6x.html</guid>
<description>Background Built-in language versioning in Sitecore leaves a little bit to be desired. There are 2 major issues we see in the stock implementation of language versioning in Sitecore: If you attempt to retrieve an item from Sitecore that doesn't...</description>
<content:encoded>&lt;h2&gt;Background&lt;/h2&gt;
&lt;p&gt;Built-in language versioning in Sitecore leaves a little bit to be desired. &amp;#0160;There are 2 major issues we see in the stock implementation of language versioning in Sitecore:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you attempt to retrieve an item from Sitecore that doesn&amp;#39;t exist in the current context language, Sitecore returns an empty, useless item.&lt;/li&gt;
&lt;li&gt;When a version is added for a given Sitecore item, it inherits NONE of the values from any existing version. &amp;#0160;This means any image, treelist value, droplist value, etc. are all empty/blanked out in the new language item, and you are starting with a blank slate.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Depending on how the site is structured, the first item can be less of an issue. &amp;#0160;If we&amp;#39;re supporting another language on a page or a whole site, it&amp;#39;s obvious we&amp;#39;ll need to translate any needed content into the new language. &amp;#0160;It can be painful to add new item versions in Spanish (for instance) for every single item a page may make use of.&lt;/p&gt;
&lt;p&gt;What&amp;#39;s even MORE troubling is the second issue: any new language version of an item starts from scratch. &amp;#0160;Any treelist, droplist, or droplink fields,&amp;#0160;image/media selections, etc. are all empty! &amp;#0160;This poses a big problem, as content editors then have to click back and forth between the original language and the new language versions and essentially &amp;quot;recreate&amp;quot; the state of the item and its data.&lt;/p&gt;
&lt;h2&gt;Solution&lt;/h2&gt;
&lt;h3&gt;Shared Source to the Rescue&lt;/h3&gt;
&lt;p&gt;Luckily, we&amp;#39;re not the first people to come across these challenges. &amp;#0160;After a bit of Googling of the issue, we came across this great blog post and video from Alex Shyba of Sitecore USA:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sitecoreblog.alexshyba.com/2010/11/approaching-language-fallback-with.html"&gt;http://sitecoreblog.alexshyba.com/2010/11/approaching-language-fallback-with.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;the module itself can now be found at:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://marketplace.sitecore.net/en/Modules/Language_Fallback.aspx"&gt;http://marketplace.sitecore.net/en/Modules/Language_Fallback.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We believe the partial/field-level language fallback solution he created as a Sitecore shared source module is a very elegant and powerful solution to the second problem discussed above.&lt;/p&gt;
&lt;h3&gt;What is Language Fallback&lt;/h3&gt;
&lt;p&gt;Briefly, language fallback is the concept of allowing a language version of a Sitecore item to &amp;quot;inherit&amp;quot; its content from a version in another language. &amp;#0160;For us in the USA, this normally means when we create a new version in Spanish, Chinese, etc., we want it to initially take all of its content from the existing version in English, rather than starting blank. &amp;#0160;This accomplishes two goals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gives a good starting point for translation. &amp;#0160;Having valid content in all fields on an item allow a content editor to visually see what still needs to be translated to a new language as they review pages.&lt;/li&gt;
&lt;li&gt;Maintains any existing item selections for images, treelists, droplists, etc., etc. &amp;#0160;This is a HUGE benefit and time saver for the content editor.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Brief Overview&lt;/h3&gt;
&lt;p&gt;The module can be installed as a Sitecore package, and adds a field to a Sitecore template that allows it to take part in language fallback:&lt;/p&gt;
&lt;p&gt;
&lt;a class="asset-img-link" href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e2017ee4ae2149970d-pi" style="float: left;"&gt;&lt;img alt="11-2-2012 5-28-42 PM" class="asset  asset-image at-xid-6a00d8347b318169e2017ee4ae2149970d" src="http://theresidentalien.typepad.com/.a/6a00d8347b318169e2017ee4ae2149970d-500wi" style="margin: 0px 5px 5px 0px;" title="11-2-2012 5-28-42 PM" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;Once a template is configured for fallback, you can navigate to an item based on that template and add a new version of the item in the new language. &amp;#0160;Any fields configured for fallback will now inherit their values from the fallback language. &amp;#0160;Any fields that have a fallback value will be marked as so (circled in the image):&lt;/p&gt;
&lt;p&gt;
&lt;a class="asset-img-link" href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e2017ee4ae2ec0970d-pi" style="float: left;"&gt;&lt;img alt="11-2-2012 5-33-52 PM" border="0" class="asset  asset-image at-xid-6a00d8347b318169e2017ee4ae2ec0970d" src="http://theresidentalien.typepad.com/.a/6a00d8347b318169e2017ee4ae2ec0970d-800wi" style="margin: 0px 5px 5px 0px;" title="11-2-2012 5-33-52 PM" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;h3&gt;Pitfalls&lt;/h3&gt;
&lt;p&gt;A few things to bear in mind when implementing this solution:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A version still needs to exist for any item the page needs in the new language (see the &amp;quot;Background&amp;quot; section above).&lt;/li&gt;
&lt;li&gt;The shared source module is currently built against Sitecore 6.5, so you may need to rebuild it for the Sitecore environment in use.
&lt;ul&gt;
&lt;li&gt;In our case, we build the module against Sitecore 6.3 dlls, and had to resolve a couple of areas that weren&amp;#39;t compatible (properties didn&amp;#39;t exist, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You must configure the site to enable language fallback
&lt;ul&gt;
&lt;li&gt;Normally you can use the included&amp;#0160;Sitecore.SharedSource.PartialLanguageFallback.config file that is included as part of the module in /App_Config/include.&lt;/li&gt;
&lt;li&gt;We already had an include file that contains our site definitions, so the &lt;strong&gt;enableFallback &lt;/strong&gt;key needed to be added to the end of that site definition to get it to work. &amp;#0160;There seemed to be a &amp;quot;collision&amp;quot; of sorts when the site definition was patched in two separate places, and Sitecore thought the site was being defined twice.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The &amp;quot;fallback value&amp;quot; labels will not show up if View-&amp;gt;Standard Fields is enabled (on the ribbon/toolbar). &amp;#0160;A separate content editor renderer is used when the content editor is in that &amp;quot;mode.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;</content:encoded>


<category>.NET</category>
<category>Sitecore</category>

<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Fri, 02 Nov 2012 20:40:05 -0400</pubDate>

</item>
<item>
<title>Validating multiple forms the ASP.NET MVC3 way, using strongly typed Views</title>
<link>http://blog.bluetubeinteractive.com/2012/10/validating-multiple-forms-the-aspnet-mvc3-way-using-strongly-typed-views.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/10/validating-multiple-forms-the-aspnet-mvc3-way-using-strongly-typed-views.html</guid>
<description>Background With the advent of ASP.NET MVC, we've been able to support more than one &lt;form&gt; tag on a page (finally). MVC also has excellent support for out of the box validation using strongly-typed Views and its data annotations attributes...</description>
<content:encoded>&lt;h2&gt;Background&lt;/h2&gt;
&lt;p&gt;With the advent of ASP.NET MVC, we&amp;#39;ve been able to support more than one &amp;lt;form&amp;gt; tag on a page (finally). &amp;#0160;MVC also has excellent support for out of the box validation using strongly-typed Views and its data annotations attributes on the model classes.&lt;/p&gt;
&lt;p&gt;Combining these two features in a meaningful way is surprisingly tough to figure out the first time around, and Google is relatively devoid of people talking about it. &amp;#0160;Let&amp;#39;s look at how to accomplish this.&lt;/p&gt;
&lt;h2&gt;Solution&lt;/h2&gt;
&lt;p&gt;One of the keys to getting side-by-side validation going is creating a proper View hierarchy. &amp;#0160;We need to construct our views so that we have the following nesting:&lt;/p&gt;
&lt;p&gt;
&lt;a class="asset-img-link" href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e2017d3c94ca45970c-pi" style="display: inline;"&gt;&lt;img alt="10-8-2012 2-41-35 PM" class="asset  asset-image at-xid-6a00d8347b318169e2017d3c94ca45970c" src="http://theresidentalien.typepad.com/.a/6a00d8347b318169e2017d3c94ca45970c-320wi" title="10-8-2012 2-41-35 PM" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The model(s) for these views should be similarly nested:&lt;/p&gt;
&lt;p&gt;
&lt;a class="asset-img-link" href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e2017c32666d63970b-pi" style="display: inline;"&gt;&lt;img alt="10-8-2012 2-43-38 PM" class="asset  asset-image at-xid-6a00d8347b318169e2017c32666d63970b" src="http://theresidentalien.typepad.com/.a/6a00d8347b318169e2017c32666d63970b-320wi" title="10-8-2012 2-43-38 PM" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Each of the above views should be strongly typed to the corresponding model above. &amp;#0160;This allows us to render the partial &amp;quot;form views&amp;quot; within the main view, and pass the correct model to each, like so:&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;@Html.Partial(&amp;quot;Form1&amp;quot;, Model.Form1Model)&lt;/p&gt;
&lt;p&gt;Rendering a strongly typed partial view in this way will allow the built in validation to take place on that model correctly, and &lt;strong&gt;independently&lt;/strong&gt; of the other form view or the main view. &amp;#0160;That is the key to the whole process.&lt;/p&gt;
&lt;h2&gt;A practical example&lt;/h2&gt;
&lt;p&gt;That all sounds great in theory, but here&amp;#39;s how to actually wire up a working multi-form example in the real world. &amp;#0160;We&amp;#39;ll create a view that allows a user to perform a search using two separate sets of criteria, and two forms. &amp;#0160;Here are the important bits:&lt;/p&gt;
&lt;h3&gt;The model&lt;/h3&gt;
&lt;pre&gt;&amp;#0160;&amp;#0160;&amp;#0160;&amp;#0160;&amp;#0160;&amp;#0160;&amp;#0160;&amp;#0160;public class SearchViewModel&lt;br /&gt;&amp;#0160;&amp;#0160;&amp;#0160;&amp;#0160;	{&lt;br /&gt;		public NameSearchViewModel NameSearch { get; set; }&lt;br /&gt;&lt;br /&gt;		public SeatSearchViewModel SeatSearch { get; set; }&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	public class NameSearchViewModel&lt;br /&gt;	{&lt;br /&gt;		[Required]&lt;br /&gt;		public string Name { get; set; }&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	public class SeatSearchViewModel&lt;br /&gt;	{&lt;br /&gt;		[Required]&lt;br /&gt;		public string Row { get; set; }&lt;br /&gt;&lt;br /&gt;		[Required]&lt;br /&gt;		public string Seat { get; set; }&lt;br /&gt;	}&lt;/pre&gt;
&lt;h3&gt;Controller&lt;/h3&gt;
&lt;p&gt;The controller action can simply return the main view, bound to the top-level model:&lt;/p&gt;
&lt;pre&gt;SearchViewModel model = new SearchViewModel&lt;br /&gt;{&lt;br /&gt;	NameSearch = new NameSearchViewModel(),&lt;br /&gt;	SeatSearch = new SeatSearchViewModel()&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;return View(model);&lt;/pre&gt;
&lt;h3&gt;The view&lt;/h3&gt;
&lt;p&gt;Name search partial view&lt;/p&gt;
&lt;pre&gt;@model Model.NameSearchViewModel&lt;br /&gt;&lt;br /&gt;@using (Ajax.BeginForm(new AjaxOptions() { Url = &amp;quot;/namesearch/&amp;quot;))&lt;br /&gt;{&lt;br /&gt;	&amp;lt;label for=&amp;quot;name&amp;quot;&amp;gt;Name&amp;lt;/label&amp;gt;&lt;br /&gt;	@Html.TextBoxFor(m =&amp;gt; m.Name, new { id = &amp;quot;name&amp;quot; })&lt;br /&gt;	@Html.ValidationMessageFor(m =&amp;gt; m.Name, &amp;quot;Please enter a name&amp;quot;)&lt;br /&gt;	&amp;lt;input id=&amp;quot;nameSearch&amp;quot; type=&amp;quot;image&amp;quot; src=&amp;quot;/assets/images/btn-search.png&amp;quot; alt=&amp;quot;search&amp;quot; /&amp;gt;&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;The other form partial is very similar, so is being left out intentionally.&lt;/p&gt;
&lt;p&gt;Main View, render the partials&lt;/p&gt;
&lt;pre&gt;@model Model.SearchViewModel&lt;br /&gt;&lt;br /&gt;&amp;lt;h3&amp;gt;Search By&amp;lt;/h3&amp;gt;&lt;br /&gt;@Html.Partial(&amp;quot;NameSearch&amp;quot;, Model.NameSearch)&lt;br /&gt;&amp;lt;p&amp;gt;OR&amp;lt;/p&amp;gt;&lt;br /&gt;@Html.Partial(&amp;quot;SeatSearch&amp;quot;, Model.SeatSearch)&lt;br /&gt;		&lt;/pre&gt;
&lt;p&gt;That&amp;#39;s it! &amp;#0160;MVC takes care of the difficult stuff and we&amp;#39;re able to write cleaner, more efficient code.&lt;/p&gt;</content:encoded>


<category>.NET</category>
<category>Web/Tech</category>

<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Mon, 08 Oct 2012 15:12:17 -0400</pubDate>

</item>
<item>
<title>Our favorite two Umbraco packages</title>
<link>http://blog.bluetubeinteractive.com/2012/09/our-favorite-two-umbraco-packages.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/09/our-favorite-two-umbraco-packages.html</guid>
<description>With the multitude of Umbraco packages available, it’s hard to sort through the noise and find the most useful ones.With that in mind, we wanted to share our two favorite ones. UComponents http://our.umbraco.org/projects/backoffice-extensions/ucomponents UComponents has a vast array of data...</description>
<content:encoded>&lt;p&gt;With the multitude of Umbraco packages available, it’s hard
to sort through the noise and find the most useful ones.With that in mind, we wanted to share our two favorite ones.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UComponents&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://our.umbraco.org/projects/backoffice-extensions/ucomponents"&gt;http://our.umbraco.org/projects/backoffice-extensions/ucomponents&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;UComponents has a vast array of data types and other useful
tools. We find that Umbraco’s built in data types do not always fit our needs. That&amp;#39;s where UComponents
fills the gap. If we can’t find what we need with the built in data types, we can
usually find a UComponent data type that does.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;#0160;Umbraco XPath Evaluator&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://our.umbraco.org/projects/developer-tools/umbraco-xpath-evaluator"&gt;http://our.umbraco.org/projects/developer-tools/umbraco-xpath-evaluator&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Umbraco’s built in development tools leave much to be
desired. Our favorite tool is the XPath Evaluator. It allows you to test your
XPath queries against the live Umbraco XML. It&amp;#39;s indispensible when creating new XPath queries to search Umbraco. XPath Evaluator is simple but powerful.&lt;/p&gt;</content:encoded>


<category>.NET</category>
<category>Umbraco</category>
<category>Web/Tech</category>

<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Tue, 25 Sep 2012 09:31:30 -0400</pubDate>

</item>
<item>
<title>How to get Titanium to build with IOS6 and XCode 4.5</title>
<link>http://blog.bluetubeinteractive.com/2012/09/how-to-get-titanium-to-build-with-ios6-and-xcode-45.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/09/how-to-get-titanium-to-build-with-ios6-and-xcode-45.html</guid>
<description>We are working on some enhancements for the Seatow assistance application and need to update it to IOS6. This involves some prep with the continuous Titanium SDK builds ( that are nearly ready for IOS6 GA), Xcode 4.5 and the...</description>
<content:encoded>&lt;p&gt;We are working on some enhancements for the Seatow assistance application and need to update it to IOS6. &amp;#0160;This involves some prep with the continuous Titanium SDK builds ( that are nearly ready for IOS6 GA), Xcode 4.5 and the new IOS simulator. &amp;#0160;&lt;/p&gt;
&lt;p&gt;I ran into a few issues as follows&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Xcode&amp;#39;s path has changed including the tools, from /Developer to /Applications/Xcode.app/Contents/Developer&lt;/li&gt;
&lt;li&gt;The XCode command line tools had to be installed&lt;/li&gt;
&lt;li&gt;The simulator kept crashing due to the Titanium project needing to be updated.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I used the current continious build for Titanium which include IOS6 support :&lt;/p&gt;
&lt;p&gt;&lt;a href="http://builds.appcelerator.com.s3.amazonaws.com/index.html"&gt;http://builds.appcelerator.com.s3.amazonaws.com/index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;1) fix the developer paths&lt;/p&gt;
&lt;p&gt;To fix paths, I followed this blog post to link the /Developer paths to the /Applications/Xcode.app/Contents/Developer so I could run xcode command line properly&lt;/p&gt;
&lt;p&gt;&lt;a href="http://seanfreitag.wordpress.com/2012/02/17/fixing-ios-simulator-via-command-line-on-xcode-4-3/"&gt;http://seanfreitag.wordpress.com/2012/02/17/fixing-ios-simulator-via-command-line-on-xcode-4-3/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2) install command line tools and fix developer links&lt;/p&gt;
&lt;p&gt;In Xcode 4.5 go into preference, select the downloads tab and click install on the &amp;quot;install&amp;#39; button next to the Command Line Tools&lt;/p&gt;
&lt;p&gt;3) I was still getting the following error :&lt;/p&gt;
&lt;p&gt;INFO] Launching application in Simulator 2012-09-21 18:02:28.525 ios-sim[3718:d07] _developerFolderPath(): Bundle not found for DevToolsFoundation_BundleIdentifier. 2012-09-21 18:02:28.551 ios-sim[3718:d07] *** Terminating app due to uncaught exception &amp;#39;NSInvalidArgumentException&amp;#39;, reason: &amp;#39;-[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: DTDeveloperDirDeveloperDomain)&amp;#39; *** First throw call stack: ( 0 CoreFoundation 0x00007fff953a5f56 __exceptionPreprocess + 198 1 libobjc.A.dylib 0x00007fff8e073d5e objc_exception_throw + 43 2 CoreFoundation 0x00007fff953a5d8a +[NSException raise:format:arguments:] + 106 3 CoreFoundation 0x00007fff953a5d14 +[NSException raise:format:] + 116 4 CoreFoundation 0x00007fff95362c4b -[__NSCFDictionary setObject:forKey:] + 219 5 DevToolsFoundation 0x000000010001bda5 -[DTDeveloperPaths _developerFolderPath] + 409 6 DevToolsFoundation 0x000000010001b962 -[DTDeveloperPaths _pathForDirectory:inDomain:forVersionPathComponent:] + 290 7 DevToolsFoundation 0x000000010001b704 -[DTDeveloperPaths preferredPathForDirectory:inDomains:forToolsVersion:] + 205 8 iPhoneSimulatorRemoteClient 0x000000010000c720 +[DTiPhoneSimulatorSystemRoot knownRoots] + 164 9 ios-sim 0x0000000100002cf0 -[iPhoneSimulator runWithArgc:argv:] + 864 10 ios-sim 0x000000010000373b main + 155 11 ios-sim 0x0000000100001694 start + 52 12 ??? 0x0000000000000007 0x0 + 7 )&lt;/p&gt;
&lt;p&gt;I created a new Titanium project and copied my Resources folder over with associated images, app.js etc, then compiled, and it worked. &amp;#0160;Hope this helps someone else with Xcode 4.5 and Titanium.&lt;/p&gt;
&lt;p&gt;Cheers.&lt;br /&gt;Grant.&lt;/p&gt;</content:encoded>


<category>Mobile and Tablet</category>
<category>Tablet &amp; Mobile</category>
<category>Web/Tech</category>

<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Mon, 24 Sep 2012 11:07:13 -0400</pubDate>

</item>
<item>
<title>Limiting Sitecore Rich Text Editor Buttons by Security Role</title>
<link>http://blog.bluetubeinteractive.com/2012/09/limiting-sitecore-rich-text-editor-buttons-by-security-role.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/09/limiting-sitecore-rich-text-editor-buttons-by-security-role.html</guid>
<description>Recently, we were asked by a client to restrict the buttons different content editors see in Sitecore's Rich Text Editor by role. The idea being that general content editors didn't need advanced HTML controls, or in their case, even features...</description>
<content:encoded>&lt;p&gt;Recently, we were asked by a client to restrict the buttons different content editors see in Sitecore&amp;#39;s Rich Text Editor by role. &amp;#0160;The idea being that general content editors didn&amp;#39;t need advanced HTML controls, or in their case, even features such as changing color or font which could lead to inconsistent visuals. &amp;#0160;Those controls are important however for more advanced editors and publishers, where being able to take advantage of the advanced features such as tables, fonts, and even media embeds is important.&lt;/p&gt;
&lt;p&gt;This seems like a relatively easy thing to do since Sitecore has a powerful editor. &amp;#0160;And it is... but it isn&amp;#39;t necessarily as straightforward as you would think.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll recap briefly where the configuration is for Sitecore&amp;#39;s Rich Text Editor and how to get to the items that make up the configuration.&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;img alt="" src="http://www.bluetubeinteractive.com/assets/images/sitecore blog/core_db.jpg" /&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;Rich Text Editor configuration is stored in the Core database at/sitecore/system/Settings/Html Editor Profiles. &amp;#0160; Rich Text Default is the default configuration. You can override this on any Rich Text Field by pointing to a different location.&lt;/p&gt;
&lt;p&gt;If you use multiple profiles, you&amp;#39;ll need to apply this to all of them, but to keep things simple I will be focusing on just the default.&lt;/p&gt;
&lt;p&gt;Open the Security Editor and select the role you wish to edit. In this example, I&amp;#39;m going to use the Author role.&lt;/p&gt;
&lt;p&gt;Navigate to the path above in the Core database.&lt;/p&gt;
&lt;p&gt;Browse to the toolbars. In this example, I&amp;#39;m using the default, so there is a single toolbar. In the full (which is commonly renamed and used), there are three. &amp;#0160;First, turn off item inheritance, then apply Read Permissions to the buttons you wish to show in the toolbar. &amp;#0160;All other buttons should have their inheritance turned off.&lt;/p&gt;
&lt;img alt="" src="http://www.bluetubeinteractive.com/assets/images/sitecore blog/security_editor.jpg" /&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;If you want to turn off an entire toolbar, simply remove the inheritace from the toolbar - you do not need to turn off or change permissions on individual buttons unless you only want to show buttons within that toolbar.&lt;/p&gt;
&lt;p&gt;Final note- you can use the deny read rather than inheritance and allow. &amp;#0160;This is typically much faster. However, keep in mind in Sitecore that deny reads win out over allows.&amp;#0160;So if a user is in a role with a Deny and a role with an Allow, they will not be granted permissions.&lt;/p&gt;
&lt;p&gt;The end result? &amp;#0160;Logged in as Author you only see the 2 buttons we allowed.&lt;/p&gt;
&lt;p&gt;This result should work on any of the Sitecore 6.X versions, including the 6.4 and higher with the change in the Rich Text Editor.&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;img alt="" src="http://www.bluetubeinteractive.com/assets/images/sitecore blog/endresult.jpg" /&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;</content:encoded>


<category>Sitecore</category>

<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Tue, 11 Sep 2012 12:56:29 -0400</pubDate>

</item>
<item>
<title>Mediating multiple views with a common base class with a single mediator</title>
<link>http://blog.bluetubeinteractive.com/2012/04/mediating-multiple-views-with-a-common-base-class-with-a-single-mediator.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/04/mediating-multiple-views-with-a-common-base-class-with-a-single-mediator.html</guid>
<description>There are many situations where multiple views will need to share a common Mediator class. For example, games may have several on screen elements(views) that have the same behavior but will operate independently. RobotLegs provides a simple but not very...</description>
<content:encoded>&lt;p&gt;There are many situations where multiple views will need to share a common Mediator class. For example, games may have several on screen elements(views) that have the same behavior but will operate independently.&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;br /&gt;RobotLegs provides a simple but not very well documented mechanism for achieving&lt;br /&gt;&amp;#0160;&lt;br /&gt;Whereas the following is the syntax for the standard mediator mapping to a view:&lt;br /&gt;&amp;#0160;mediatorMap.mapView( View Class, Mediator Class )&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;#0160;Mapping multiple views with the same base class to a single mediator you only need to add an additional parameter &amp;#0160;to the mapping call: &amp;#0160;&lt;/p&gt;
&lt;p&gt;mediatorMap.mapView( View Class, Medaitor Class, View Base Class)&lt;br /&gt;&amp;#0160;&lt;br /&gt;The single mediator class will now mediate each of your various views independently.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</content:encoded>



<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Mon, 02 Apr 2012 08:38:57 -0400</pubDate>

</item>
<item>
<title>Loading site-specific CSS files into Sitecore's rich text editor</title>
<link>http://blog.bluetubeinteractive.com/2012/02/loading-site-specific-css-files-into-sitecores-rich-text-editor.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/02/loading-site-specific-css-files-into-sitecores-rich-text-editor.html</guid>
<description>Background We work with a lot of multi-site Sitecore installations, and generally feel this is an area Sitecore excels at... however... The Sitecore content editor interface does have some areas that don't lend it to good multi-site use though, one...</description>
<content:encoded>&lt;h2&gt;Background&lt;/h2&gt;
&lt;p&gt;We work with a lot of multi-site Sitecore installations, and generally feel this is an area Sitecore excels at... however...&lt;/p&gt;
&lt;p&gt;The Sitecore content editor interface does have some areas that don&amp;#39;t lend it to good multi-site use though, one of which is the rich text editor. &amp;#0160;Ideally the CSS dropdown in the editor would display CSS classes from a site-specific CSS file. &amp;#0160;Unfortunately, out of the box Sitecore does not have the facility to do this.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e20163021db606970d-pi" style="display: inline;"&gt;&lt;img alt="2-27-2012 9-48-39 AM" class="asset  asset-image at-xid-6a00d8347b318169e20163021db606970d" src="http://theresidentalien.typepad.com/.a/6a00d8347b318169e20163021db606970d-500wi" title="2-27-2012 9-48-39 AM" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e20163021bca04970d-popup" onclick="window.open( this.href, &amp;#39;_blank&amp;#39;, &amp;#39;width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0&amp;#39; ); return false"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="asset  asset-image at-xid-6a00d8347b318169e20163021bca04970d"&gt;Without the ability to have site-specific CSS classes, the admins for each site in a multi site installation would be forced to share a CSS file and see styles for all of the other sites - not the greatest user experience.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span class="asset  asset-image at-xid-6a00d8347b318169e20163021bca04970d"&gt;The Solution(s) - old and new&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;We&amp;#39;ve solved this for a while by using&amp;#0160;﻿code similar to what&amp;#39;s found on the &lt;a href="http://sdn.sitecore.net/scrapbook/dynamically%20loading%20web%20stylesheets%20in%20rte.aspx" target="_blank"&gt;Sitecore Developer Network&lt;/a&gt;. &amp;#0160;This worked great for a time, but as of Sitecore 6.4 it stopped working.&lt;/p&gt;
&lt;p&gt;So what happened? &amp;#0160;The default.aspx and the code-behind class that are key to the above solution are still present in Sitecore 6.4, but they are not used.&lt;/p&gt;
&lt;p&gt;Thankfully, we found a great&amp;#0160;&lt;a href="http://www.markstiles.net/Blog/2011/04/29/multi-site-rich-text-editor-stylesheet.aspx" target="_blank"&gt;blog post on the subject by Mark Stiles&lt;/a&gt;&amp;#0160;that pointed us toward the correct solution for Sitecore 6.4+. &amp;#0160;The revamped rich text editor uses a handful of new classes, and, as always, knowing where to look makes all the difference. &amp;#0160;A big thanks to Mark, as no one else on the Sitecore Developer Network or elsewhere seems to be talking about this. &amp;#0160;(Just a note: I would recommend inheriting from&amp;#0160;Sitecore.Shell.Controls.RichTextEditor.EditorPage and overriding OnLoad, rather than copying it from Reflector or similar as it appears Mark did).&lt;/p&gt;
&lt;p&gt;Inheriting from Sitecore.Shell.Controls.RichTextEditor.EditorPage&amp;#0160;allowed us to support site-specific CSS files in the RTE and keep the level of user-friendliness our clients have come to expect.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e2016763106b4c970b-popup" onclick="window.open( this.href, &amp;#39;_blank&amp;#39;, &amp;#39;width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0&amp;#39; ); return false"&gt;&lt;span class="asset  asset-image at-xid-6a00d8347b318169e2016763106b4c970b"&gt; &lt;/span&gt;&lt;/a&gt;&lt;a href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e20167631244b1970b-pi" style="display: inline;"&gt;&lt;img alt="2-27-2012 9-57-49 AM" class="asset  asset-image at-xid-6a00d8347b318169e20167631244b1970b" src="http://theresidentalien.typepad.com/.a/6a00d8347b318169e20167631244b1970b-500wi" title="2-27-2012 9-57-49 AM" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#0160;&lt;/p&gt;
&lt;p&gt;Bluetube is a cutting edge digital agency that designs and builds native mobile, mobile web, tablet, social, and presence solutions.&amp;#0160; You can find out more about Bluetube at &lt;a href="http://www.bluetubeinteractive.com"&gt;www.bluetubeinteractive.com&lt;/a&gt;.&lt;/p&gt;</content:encoded>


<category>.NET</category>
<category>Sitecore</category>

<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Mon, 27 Feb 2012 10:21:56 -0500</pubDate>

</item>
<item>
<title>Trouble connecting to Acer Iconia A100 with FlashBuilder 4.1.6</title>
<link>http://blog.bluetubeinteractive.com/2012/02/trouble-connecting-to-acer-iconia-a100-with-flashbuilder-416.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/02/trouble-connecting-to-acer-iconia-a100-with-flashbuilder-416.html</guid>
<description>How to get flex builder to "see" your Acer Iconia Tablet.</description>
<content:encoded>&lt;h3&gt;The Problem&lt;/h3&gt;
&lt;p&gt;We are building an app for one of our clients that will be targetted to the Acer Aconia A100. &amp;#0160;Windows recognized the tablet no problem, but flex builder would not see the device when trying to &amp;quot;run&amp;quot; on the device in the choose device dialog ( appears have to you hit run).&lt;/p&gt;
&lt;p&gt;I solved it by editing the usb drivers file provided by adobe and adding the acer iconia 100 to the file then updating the drivers are follows :&lt;/p&gt;
&lt;h3&gt;Get the acer hardware id&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;under the start menu go to &amp;quot;devices and printers&amp;quot;&lt;/li&gt;
&lt;li&gt;Right click on the acer iconia and (may be called MTP)&amp;#0160;&lt;/li&gt;
&lt;li&gt;Select &amp;quot;properties&amp;quot;&lt;/li&gt;
&lt;li&gt;click the &amp;quot;hardware&amp;quot; tab&lt;/li&gt;
&lt;li&gt;click the properties button inside the tab&lt;/li&gt;
&lt;li&gt;click the &amp;quot;details&amp;quot; tab&lt;/li&gt;
&lt;li&gt;change the property drop down to &amp;quot;hardware id&amp;#39;s&amp;quot;&lt;/li&gt;
&lt;li&gt;Select the first value and right click and select &amp;quot;copy&amp;quot; &amp;#0160;-  &lt;span class="asset  asset-image at-xid-6a00d8347b318169e201630203983d970d"&gt;&lt;a href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e201630203983d970d-popup" onclick="window.open( this.href, &amp;#39;_blank&amp;#39;, &amp;#39;width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0&amp;#39; ); return false"&gt;View this photo&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;DO NOT CLOSE THE DIALOG&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Update the driver file provided by Adobe&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the folder where flex is installed, for example on my machine its at :&lt;span style="font-family: &amp;#39;courier new&amp;#39;, courier; font-size: 8pt;"&gt;&amp;#0160;&lt;br /&gt;&lt;br /&gt;D:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\&lt;br /&gt;&amp;#0160;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;The driver file is located under the utilites folder :&lt;br /&gt;&amp;#0160;&lt;br /&gt;&lt;span style="font-family: &amp;#39;courier new&amp;#39;, courier; font-size: 8pt;"&gt;Adobe Flash Builder 4.6\utilities\drivers\android&amp;#0160;android_winusb.inf&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Edit this file and find go to the end of the &amp;#0160;section [Google.NTamd64] and copy one of the existing devices and chnage the USB &lt;span style="font-family: arial, helvetica, sans-serif;"&gt;portio &lt;/span&gt;of the value to the device ID you copied ealier, &amp;#0160;e.g. :&amp;#0160;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;#39;courier new&amp;#39;, courier; font-size: 8pt; color: #00bf00;"&gt;; Acer Iconia &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;#39;courier new&amp;#39;, courier; font-size: 8pt;"&gt;A100%CompositeAdbInterface% = USB_Install, USB\VID_0502&amp;amp;PID_3348&amp;amp;REV_9999&amp;amp;MI_01&amp;#0160;&lt;br /&gt;&amp;#0160;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Save The file&lt;/li&gt;
&lt;li&gt;Go back to the dialog you left open and click the  &lt;span class="asset  asset-image at-xid-6a00d8347b318169e201630203b119970d"&gt;&lt;a href="http://theresidentalien.typepad.com/.a/6a00d8347b318169e201630203b119970d-popup" onclick="window.open( this.href, &amp;#39;_blank&amp;#39;, &amp;#39;width=640,height=480,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0&amp;#39; ); return false"&gt;Driver Tab&lt;/a&gt;&amp;#0160;&lt;/span&gt;and select &amp;quot;update driver&amp;quot;&lt;/li&gt;
&lt;li&gt;select &amp;quot;browse my computer for driver software&amp;quot; and navigate to the utilities/android folder where you save the updated /inf file e.g.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;#39;courier new&amp;#39;, courier; font-size: 8pt;"&gt;D:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\utilities\drivers\android&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;click &amp;#39;next&amp;quot;, say ok to windows warnings about the driver not being signed, and let the install complete.&lt;/li&gt;
&lt;li&gt;You should now be able to run your app from flash builder and see your device in the &amp;#0160;choose device dialog&lt;/li&gt;
&lt;/ol&gt;&lt;ol&gt; &lt;/ol&gt;</content:encoded>


<category>Tablet &amp; Mobile</category>

<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Sat, 25 Feb 2012 14:00:28 -0500</pubDate>

</item>
<item>
<title>NInject and Umbraco Trouble?  Or simply need to extend Global.asax?</title>
<link>http://blog.bluetubeinteractive.com/2012/02/ninject-and-umbraco-trouble-or-simply-need-to-extend-globalasax.html</link>
<guid isPermaLink="true">http://blog.bluetubeinteractive.com/2012/02/ninject-and-umbraco-trouble-or-simply-need-to-extend-globalasax.html</guid>
<description>So Bluetube Interactive has recently been doing a lot of Umbraco projects, rolling out several new sites on the platform. As a method of speeding development, all of our projects leverage Injection frameworks and our framework of choice for .NET...</description>
<content:encoded>&lt;p&gt;So Bluetube Interactive has recently been doing a lot of Umbraco projects, rolling out several new sites on the platform. &amp;#0160;As a method of speeding development, all of our projects leverage Injection frameworks and our framework of choice for .NET is NInject. &amp;#0160;However, due Umbraco and NInject both want to extend the Global.asax, which isn&amp;#39;t possible. &amp;#0160;So what is a developer to do?&lt;/p&gt;
&lt;p&gt;The answer is surprisingly simple. &amp;#0160;Although Umbraco does in fact extend Global.asax in its own class, it turns out it does not have a significant use... or at least one not significant enough to prevent us from wanting to use our Injection framework of choice.&lt;/p&gt;
&lt;p&gt;In the bin folder, find a remove the following file:&lt;/p&gt;
&lt;p&gt;App_global.asax.dll&lt;/p&gt;
&lt;p&gt;Having issue with App_Browsers too? &amp;#0160;It seems Umbraco inherits from that as well.&lt;/p&gt;
&lt;p&gt;App_Browsers.dll&lt;/p&gt;
&lt;p&gt;Both can be safely removed and at least to this point, we have not seen a negative impact.&lt;/p&gt;
&lt;p&gt;Also, remmber with NInject you&amp;#39;ll want to inherit from&amp;#0160;Ninject.Web.UserControlBase, not from WebControlBase.&lt;/p&gt;
&lt;p&gt;Bluetube Interactive is a cutting edge digital agency that designs and builds native mobile, mobile web, tablet, social, and presence solutions.&amp;#0160; You can find out more about Bluetube Interactive at &lt;a href="http://www.bluetubeinteractive.com" target="_blank"&gt;www.bluetubeinteractive.com&lt;/a&gt;&lt;/p&gt;</content:encoded>


<category>.NET</category>
<category>Umbraco</category>

<dc:creator>Bluetube Interactive</dc:creator>
<pubDate>Fri, 24 Feb 2012 18:07:57 -0500</pubDate>

</item>

</channel>
</rss><!-- ph=1 -->
