This is the fourth in a series that starts here.  It is time now to turn our attention to testing AngularJS applications.  Over time, we’ll want to move to test-first, where we write the test and then write the code. There are many advantages to test-first, but let’s hold off on discussing them until we’re ready for that step.

Today, I’d like to discuss testing Controllers.  Controllers were introduced in the previous posting.  To make sure we’re all on the same page, let’s start with a common starting project, which you can download here.  This stripped down ...

When working with Kendo DataSources, it is very easy to accidentally disconnect your original data from the data in the DataSource. Understanding the causes will let you prevent this from happening and keep all references to your data pointing to the same place.

Observable Wrapping

Example 1

var data = [
  { company: 'Apple', os: 'OSX' }
];
 
var apple = data[0];
 
var viewModel = kendo.observable({
  gridSource: new kendo.data.DataSource({
    data: data
  })
});
 
kendo.bind($(document.body), viewModel);
 
data.push({ company: 'Google', os: 'Android' });
 
apple.set('os', 'iOS');

This example illustrates ...

When Sitefinity added MVC in version 5.1, it was a real pleasure to create widgets the "new way" via MVC. What made it so unique is that Web Forms was still offered in the platform for developers to use as an alternative or hybrid approach, so you can mix Web Form and MVC controls on the same page.

After the honeymoon stage was over, the community started to realize there was some serious limitations to the MVC implementation that made it nearly impossible to create pure MVC pages in the real world. Some examples were not being able ...

Updated 04/14/2014: If you're a Windows Phone developer, then you are now able to update your Windows Phone to a developer preview of Windows 8.1, including Cortana. All you need to do is install the Preview for Developers app and then check for updates on your phone.

As soon as I get the new bits installed, first on my list of new API's to try out is the Nokia SensorCore bits. Very exciting times for us Windows Phone developers.

There’s a number of forum posts wanting to use a lookup table for a column in a Kendo grid, where the lookup has text and a numeric id, and where all of the operations like grouping, sorting and editing need to behave as expected. The trick is to provide the lookup without causing problems for sorting, filtering, grouping or editing at the same time.

Many of the online examples use a drop down list to lookup into a list, where both the text and value for the drop down list use the text data. Real-world scenarios use a foreign key ...

In a previous posting I introduced the critically important topic of Behavior Driven Testing, but the example AngularJSI gave was straight JavaScript rather than Angular. We’ll want to modify that example to be Angular, but to do so we need a bit more of the fundamentals under our belt.

Let’s return to the previous program and modify Index.html, which will be our opening page.  Make sure you have a link to Bootstrap.css as shown below. 

 

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"  ng-app="app">
<head>
    <title>Expenses</title>

     <link href="Content/bootstrap.css" rel="stylesheet" />
</head>

 

One key feature in this listing is the presence of the ...

Telerik's RadEditor provides a wealth of functionalities to manage a wide range of content including Videos, Images, documents, Hyper Links and text manipulation. 

One of the key features of the RadEditor is the ability to extend these built-in functionalities and add easily new dialogs to provide new functionalities using both its client-side and server-side APIs.

One of the cool feature that is missing is the ability to Link to blog posts directly from the editor without the need to leave the page and check for a particular post that you want to reference while you are creating/editing content.

In order ...

With an exponential growth in mobile devices over the last year, the need for resources specific to mobile development, connectivity and the mobile experience has never been greater. In its fifth year, Comex 2014 is the place to be to learn about all of these topics. This year, the Comex Conference is focusing on real time communication applications and services available for the businesses to transform employee engagement and productivity through Mobility. 

Follow Falafel and the event on Twitter 

We are excited to be a part of the exhibition this year, and we’d love to meet you! George Saadeh, ...

There can be situations when we require our pages to be loaded from database or assembly, instead of file system. One would want to hide the implementation and place all the resources in an assembly. In this post, I'll show you how to do it in a very simplified way.

Step 1

Register your routing rule like this.

public  static  void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name:  "Virtual",
        url:  "{*viewName}",
        defaults:  new { controller =  "Frontend", action =  "Default" },
        constraints:  new { controller =  "Frontend", action =  "Default" }
    );
}

I have named my ...

A small point of concern with Kendo UI aggregates has to do with the naming conventions. While the Kendo UI DataSource can calculate min, max, sum, count, and average aggregates for any column and output these aggregates at the group level or for all of your data, there is more than one way to get at these calculations.  There are configuration options aggregates and aggregate, properties within those options called aggregate, and just for extra fun, methods called aggregate() and aggregates().

Let’s try to sort these out starting with a little data that ...

The Kendo UI Grid makes it easy to display and edit your data in a tabular format.  By default, the grid will use a TextBox for string and numeric data columns and a DropDownList for editing columns with a list of options.  What if you want to use a different editor type?  I'll demonstrate two examples of using a custom editor for a grid column: MultiSelect and NumericTextBox.

Custom MultiSelect Editor

There are a few steps to use a MultiSelect as a column editor.  The first is to make sure your data is formatted correctly.  Looking at this sample DataSource, ...

Although I didn’t have the honor of attending Build this year (someday!!), I thought I’d do the next best thing and grab the latest bits and get my feet wet with the new Universal apps for Windows and Windows Phone, available with the newly released Visual Studio Update 2 RC.

The installer ran without a hitch, and after a quick reboot I was up and running, though as far as I can tell nothing significant in the UI has changed.

Visual-Studio-2013-Update-2-RC

I was worried I would first need to install the Windows 8.1 Update as well, but apparently this is ...

In an earlier posting I discussed, briefly, why Angular is suddenly so popular, and demonstrated how to get started with Angular without writing a line of JavaScript.  It’s time now to turn our attention to a slightly more realistic example.

Many lessons on Angular pay lip-service to the importance of unit-testing and test-driven development, but virtually none actually practice it.  This series will buck that trend and teach Angular and testing Angular at the same time.  In the long run, this will be faster and better than trying to tack testing on at the end.

Test Driven and Behavior Driven ...

When a KendoUI widget is created the widget instance is attached directly to its associated DOM element using jQuery’s data method. This allows developers to easily interact with the widget in other parts of their JavaScript code. To grab the widget instance simply use jQuery to select the element with which it was instantiated and call the data method, passing in the name of the widget as the key.

$('#my-grid').data('kendoGrid');

It should be noted that if the jQuery selector returns more than one element, only the Kendo widget associated with the first element will be ...

Falafel Bridge Logo


Now in the Xamarin store, Falafel Bridge for TestComplete supports both Xamarrin.Android apps and Xamarin.iOS apps to be “white box” tested with TestComplete by SmartBear.

A few weeks ago we released Falafel Bridge for TestComplete for Android applicationsiOS version of Falafel Bridge for TestComplete. SmartBear just released their support for native iOS application testing, and we jumped at the opportunity to build an iOS version for Falafel Bridge for TestComplete and get it in the Xamarin store.

Building your Xamarin.Android or Xamarin.iOS apps with this component and calling a simple initialization routine will allow TestComplete 10.1 or ...

Microsoft Official Kinect for Windows v2 blog has recently revealed the images of the final Kinect for Windows v2 sensor.

This is how it looks like – the X style has been replaced with a power indicator.

Kinect for Windows v2 sensor

 

The much anticipated power supply and hub has been simplified to combine USB 3.0 output to PC, the sensor and power

Kinect for Windows v2 hub (top) and power supply (bottom)

 

Microsoft //build/ conference is just around the corner and we are expecting great announcement about Kinect for Windows v2

Read the full post on official Kinect blog

Unless your career consists of writing applications against Northwind sample data, you’re going to need some way to create, read, update and delete custom data from your own service. And no cheating; you can’t put the service and client in the same project with the same domain. Up until lately, JSONP (JavaScript Object Notation Padded) has been the hack-of-choice to read data across domains. Using JSONP involves returning a wad of JSON to the client, wrapped (or padded) with a JavaScript function call that the client is supposed to call. What if your client wants you to update the data? ...

Kendo UI allows you to create a “value template” which defines how the selected values are displayed in a DropDownList when it is closed.

image

Usually this value comes from the text field you specify either in the configuration options in JavaScript or in the data-attributes used to configure the widget.

<select data-role="dropdownlist"
 data-text-field="first"
 data-value-field="id"
 data-bind="source: dropDownData"></select>

  

Sometimes you want to be able to specify multiple properties in your value template. If you’ve tried this before, you’ve probably run into the limitation that these properties must ...

Capitola, CA March 31st 2014 – Jim Holmes, a veteran Software craftsman and Quality expert, joined Falafel Software today, a reputable consulting and training company based in the Silicon Valley with offices in 7 states, Canada and Dubai.

Jim will head the ALM and Testing division at Falafel as Vice President and will report directly to Lino Tadros, the CEO of Falafel.

Jim comes to Falafel with tremendous experience and success in the ALM and Testing space and is a great addition to the team worldwide.

“Having Jim lead our ALM and Testing efforts is a great boost to ...

Every web application I work on has a requirement on sending emails to their users upon completing some action. Be it be an order placed email, comments added to a blog email or any other workflow that assures the user that he completed a workflow that is designed by the site.

Most of these emails are more than just a “status update” meaning these emails would have lot of relevant information to the user. For example if you take a email that the user receives when he places an order with an eCommerce website, the user would except to see ...