A couple of months ago I wrote a column on how to use jQuery and other JavaScript libraries in Sitefinity. It was elegant and fairly simple. The sad news is, it's no longer valid for Sitefinity 5.3. The good news is, there is always a better way !

Here's how I managed to modify my base master page class to include the JavaScript libraries as well as the built-in jQuery that comes with Sitefinity without having to worry about the fully qualified name of the resource.

public class MasterBase : System.Web.UI.MasterPage
    protected void Page_PreRender(object sender, EventArgs e)...
Its 2013, so out with the old and in with the new! Over the holidays, the Falafel team was hard at work preparing our new Sitefinity 5.3 website for launch. The new site is a complete redesign inspired by Windows 8 that features a tile-based, color-coded theme to make navigating the site and finding the exact Falafel Software content you were looking for easier than ever before.

Under the hood, the Sitefinity 5.3 engine and MVC based widgets have given the site a huge performance boost over past incarnations. Fans of Sitefinity will also recognize and appreciate that the Falafel ...
Today I am going to introduce to you a new way of building Sitefinity widgets. A couple of them are actually live on our new home page. The image carousel and blog rotator are JavaScript widgets stored in shared content blocks. It's only a few lines of script and very elegant. See for yourself:

<div id="myCarousel" class="carousel slide hidden-phone"> <div class="carousel-inner"> <div class="loading-page"></div> </div> <!-- Carousel nav --> <a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</...

If you’ve worked with ASP.NET membership and worked with the membership data directly in the database, you have probably run into this problem: there is a procedure called aspnet_Membership_CreateUser that sounds like you should be able to use it to create a user, but once you look at the parameter list, you quickly realize that this isn’t going to be as easy as you might have hoped, because the procedure requires you to pass in pre-hashed, pre-salted passwords. Now what? If your experience was anything like mine, you resigned yourself to using the .NET Membership classes, all the while wishing ...

Ever wanted to send request headers from jQuery instead of the "code-behind"? You can easily tweak the ajaxSetup object like this:

    beforeSend: function(xhr) {
        xhr.setRequestHeader('X-Parse-Application-Id', 'QIDkel*****SR2c3');
        xhr.setRequestHeader('X-Parse-REST-API-Key', 'mbm311*****d0X2N');

This is especially important when you need to be authenticated to use a service or API. Think of assigning server-signed auth tokens (that you generate on your own servers) to client-side apps. Now with every jQuery AJAX call, tokens get sent back to the server ...
If you've looked at JavaScript recently after any kind of hiatus, you've probably noticed that the language has changed a little in the last few years. Technically, the language hasn't changed so much as the way we use it has. 

One of the most noticeable changes--besides the daily multiplying list of new libraries and frameworks--is the object oriented way in with the language is used. For instance, instead of just creating a sea of functions, you might now create your JavaScript code in classes of related functionality:

var mathObj = {
    writeToLog: function (message) {
Falafel CEO Lino Tadros takes a break from his Windows Phone 8 Workshop tour and joins Microsoft Developer Evangelist Daniel Egan for a free online Windows Phone 8 Phone Camp.

When: Friday Dec. 7th, 9AM - 2PM PST
Where: Online
Cost to attend: FREE!
Let us know you’ll be watching by registering here: http://wp8camp.eventbrite.com/

Full day Windows Phone workshops typically cost hundreds of dollars and you have an opportunity to to get the same Windows Phone development knowledge for FREE!

You’ll learn everything you need to know to develop and publish a Windows Phone application. Whether you’re a student just ...
If you are a fan of Microsoft development tools, you know the landscape has changed tremendously in the past few weeks. There have been major game changing releases that include Windows 8, Windows Phone 8, Visual Studio 2012 and an array of Azure enhancements. Thankfully, there is an upcoming event where you can learn the skills you need to master these tools immediately, and if you register before Nov. 27th you’ll receive a free Windows Surface Tablet!

DevIntersection will be held Dec 9 -12th in Las Vegas and will be the last stop on Carl Franklin and Richard Campbell’s ....

Table-per-type (TPT) inheritance mapping in Entity Framework is one of two options for representing object hierarchies in a database, the other option being table-per-hierarchy (TPH). Out of the box, one is correct relational design with poor performance, and the other is, in neutral terms, denormalized design with good performance. In this article I will describe the differences between the two and demonstrate a way to fix the performance penalty of using the TPT mapping strategy.

TPT vs TPH Mapping

Why choose one over the other? There are other resources and articles out there that describe the differences in detail, but ...

Make that an “Appathon”. Microsoft’s “Gen Appathon”. On Friday Nov 9th, Microsoft is hosting the world’s largest code fest at cities all over the country. This free event is your chance to build Windows 8 and Windows Phone 8 applications with education and oversight from experts. The experts at the Sunnyvale, CA event and Irving, TX  event includes three familiar faces who we can vouch for. In Irving, get help from Bary Nusz, the author of the Magnetometer app for Windows Phone and a long series of in-depth Windows Phone and Windows 8 related blogs. At the ...

Telerik's Kendo UI controls are efficient, client-side controls for web pages that are built on top of JavaScript/jQuery. The control suite includes all the usual suspects, i.e. grid, calendar, drop down lists, navigation controls (tab strip, panel bar, menu), tree views and windows. You may be a web designer, JavaScript/jQuery programmer or perhaps happier programming on the server-side. Stay tuned, because each development style has its own approach for creating Kendo UI controls.

Web Designers

Let's say you have a web page with existing content. You'd like to use Kendo UI controls in place of the HTML but don't want to dive ...

Developing in XAML (Windows 8, Silverlight, Windows Phone, or WPF) gives you a powerful combination of declarative markup with databinding, but one shortcoming I often come up against is the ability to build simple ComboBox elements declaratively with both Content and Values.
If you are familiar with HTML, you know that you can use a select tag to pair the display name with a key value, such as:

  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value...
We’ve been waiting. And waiting. AND WAITING. For the official release of the Windows Phone 8 SDK. Microsoft has teased us all for months. Many developers were expecting to get their hands on the SDK back in June when Windows Phone 8 was first announced. Sure no one told us the SDK would be available, but our expectations had been set from years of previous Microsoft announcements. Since Microsoft did not deliver the SDK in June, they did the right thing by trying to set developers at ease, telling us all the SDK would be available “later this summer.” As ...
Microsoft is running out of designations for Falafel’s Tiberiu Covaci. Before becoming a Microsoft Certified Trainer, Tibi had to pass nearly every .NET related Microsoft exam and earned several Microsoft titles in the process. His technical qualifications and contributions to the .NET development community have already won him the prestigious title of Microsoft MVP. Now, his contributions to the growing Windows Azure community have also caught the attention of Microsoft, and it is with great pleasure that we introduce to you the latest Windows Azure MVP, Tiberiu Covaci.

Congrats Tibi!

Did you know that SQL Server has built-in support for base64 encoding and decoding and has since 2005? I sure didn’t, because it’s hidden in the depths of XQuery. Here is a complete sample showing a complete round trip from string to binary to base64, back to binary and back to string again.

declare @source varbinary(max), @encoded  varchar(max), @decoded varbinary(max)
set @source = convert(varbinary(max), 'Hello Base64')
set @encoded = cast('' as xml).value('xs:base64Binary(sql:variable("@source"))', 'varchar(max)')
set @decoded = cast('' as xml).value...
**Update - To get Lino's slides from the Sitefinity and Beyond performance session go here.

Today, Falafel Software CEO Lino Tadros is speaking at the Sitefinity and Beyond Conference in Boston, but that is only a part of our big Sitefinity news.

Customers tend to approach Falafel for the hard stuff. Performance problems, integrations, custom modules, often much more than just a pretty user interface. Having consulted on over 100 of these complex Sitefinity solutions, Lino is well suited to deliver the talk on “Deploying High Performing and Scalable Web Solutions”, but it’s his energy and comedic style that ...

Today, I spent some time hooking up EventBoard to EventPoint, and the solution turned out to be so compact I felt a blog coming on…

EventPoint has a nice REST API that can return JSON or XML. I wanted JSON. I had a demo conference set up, and also an API Key. First, I set about exploring the API, using the Chrome HTTP Dev Client, which is my new best friend. It is kind of like Fiddler in a browser, and allows you do do GET, PUT, POST etc, set HTTP headers, see the return values in JSON, ...

I was teaching a class today at HP, and demonstrating how to implement Search suggestions for in app search. The pattern is easy: you hook an event, and in the event, return any matches. Here is an example:

  var sp = SearchPane.GetForCurrentView();
  sp.SuggestionsRequested += OnSearchPaneSuggestionsRequested;

// ...  

void OnSearchPaneSuggestionsRequested(object sender, SearchPaneSuggestionsRequestedEventArgs args) { args.Request.SearchSuggestionCollection.AppendQuerySuggestions( (from t in App.ViewModel.ConferenceInfos where t.Name.StartsWith(args.QueryText, StringComparison.CurrentCultureIgnoreCase) select t.Name).Take(5)); }

Every year, October kicks off a very busy season at Falafel : “Conference Season”. Multiple members of the team travel across the country and around world to share their expertise on a number of technologies. All Falafel Software team members spend their days, and often their nights, helping design and build cutting edge solutions for our customers. Their technical presentations draw from these real world experiences and are assembled, practiced, and presented in what little spare time they have. That’s why we call them “Rock Stars”.

This weekend at Silicon Valley Code Camp, Falafel’s entire team from around the ...
I was working on a Silverlight application with a WCF RIA Services middle-tier recently when the need arose for us to add an HTML/Javascript front-end in addition to the existing Silverlight one. I knew Microsoft offerd WebAPI services that are specially geared toward being consumed by Javascript clients, but the team wanted to leverage the existing work we'd done on the middle-tier in RIA Services if possible.

So the question was, could I publish my existing RIA domain service in a way that is Javascript-friendly? WCF RIA Services exposes its domain services in a binary-format by default. Javascript works better with a ...