Filtering data with the Search Bar

Xamarin Quick Tip – Adding a Search Bar to a UITableView in iOS

By | .NET, C#, iOS, Mobile, Multi-Device, Visual Studio, Xamarin | No Comments

A common bit of functionality required in a mobile application is including some type of search functionality in an application. Typically this takes the form of a search bar along with tabular results. In this article, I will walk you  through adding simple search functionality to a UITableView in iOS. Setting up the project Create a new blank iOS universal application with a storyboard. In the storyboard create a new UITableViewController and assign it the class name of FruitTableViewController. Name the table tblFruit. Finally, change the type of table cell to Basic, and assign it the reuse identifier of FruitCellId. If you have trouble setting…

Read More
Swipe Left on Pineapple

Xamarin Quick Tip – Swipe Left To Delete

By | .NET, C#, iOS, Mobile, Multi-Device, Visual Studio, Xamarin | No Comments

In some projects, it may be requested to be able to swipe left to delete an item in a table. In order to implement this, there is a handy component called SwTableViewCell that provides this valuable functionality.  What is missing however, is decent documentation to get it up and running with Xamarin. In this article, I will walk you through adding this component to an already existing table view. Setting up the project The first thing we need to do is to build an application that has a table populated with some items. Create a new C#, Universal iOS application,…

Read More
Selecting a Tab in Visual Studio Moves it to the First Position

Selecting a Tab in Visual Studio Moves it to First Position

By | Visual Studio | One Comment

Recently I noticed that selecting a tab in Visual Studio moves it to first position in the tab well.  This was pretty shocking to me because I was fairly certain that things where not always this way.  I verified there where not any updates to Visual Studio lately that may be the issue.  Then I looked at the Visual Studio Productivity Power Tools because I knew that this extension added capability to the tab well. Sure enough that extension was updated very recently.  So I did some digging into the options for this extension and found this: Apparently someone decided that…

Read More
00-master

Using HandleUnknownAction in MVC Widgets

By | .NET, ASP.NET, C#, MVC, Sitefinity | No Comments

Sitefinity’s MVC widgets are fantastic. They allow untold amounts of customization and enable you to create an MVC framework as complex or as simple as you need. There is a caveat to using them, however: Because the controllers are typical ASP.NET MVC controllers, going to particular pages on your site might make them disappear! There is a simple workaround for this problem, and with this information you can ensure that your Sitefinity MVC widgets consistently display no matter what current state your web site is in. The Problem Say you have a simple custom MVC widget that has a single…

Read More
Component in Solution Explorer showing "Error"

Xamarin Visual Studio: Error adding to project: Cannot get libraries from incompatible component

By | Visual Studio, Xamarin | No Comments

I recently came across a scenario with Xamarin Visual Studio where one developer would add a new Xamarin Component in to the solution and check in the bits and then a different developer would pull down the latest bits and receive a compilation error specific to the class or classes of the newly added component not being found. In the solution explorer the component showed as “[ComponentName] (Error)”. Double-clicking on the component brought up the details and at the top was a little red error message that stated “Error adding to project: Cannot get libraries from incompatible component”. Turns out the trick for resolving…

Read More
Express+Handlebars

Getting Started with Node.js in Windows – Web Apps With Express

By | JavaScript, node.js | No Comments

This is post 3 of 3 in the series “Getting Started with Node JS” Recap In my first post, I went over the basics of Node.js package management with the NPM CLI. In the second, I went a little deeper and delved into the the basic architectural foundations of a Node.js application. Today, we will take all of these things and apply them to create the skeleton of a web application capable of reading data from request URLs and bodies and responding with HTML templates or JSON formatted data. Choices! If there’s one thing that really differentiates the ecosystem of Microsoft .NET…

Read More
kendo css heart

Kendo UI Customization with CSS

By | CSS, HTML5, Kendo UI | One Comment

I’ve been using Kendo UI for many years now and I continue to be impressed with the many ways it can be extended and customized. Recently, I had a client request a Kendo Grid customization that at first glance seemed like it might require some code changes, but in the end, it could all be done purely with CSS. Here is the scenario as a CSS customization example: by default, the Kendo Grid shows the sort icon immediately after the header text and when using the column menu with a filter applied, it highlights the border around the column menu…

Read More

Getting Started with Node.js in Windows – Node Modules

By | JavaScript, node.js | No Comments

This is post 2 of 3 in the series “Getting Started with Node JS” Introduction In the previous post, I gave a quick idea of what Node.js is and then fell down the rabbit hole of the topic of NPM. With all that said and done, you should have a basic working knowledge of how to manage NPM packages, both locally and globally. So now let’s turn to the topic of Node.js programming itself. In the previous post about NPM, I mentioned that NPM uses a file named package.json to keep track of dependencies so others can reinstall packages that your…

Read More
Classical inheritance

Getting Started with Node.js in Windows – NPM

By | JavaScript, node.js | No Comments

This is post 1 of 3 in the series “Getting Started with Node JS” Introduction I’ve already written a few posts about my own journey to find a good Node.js development environment on Windows: journeying from the familiar environment of Visual Studio, to the opposite end of the spectrum with Sublime Text, and then finally somewhere in the middle with Visual Studio Code, where I have dwelt happily ever since. But in the telling of that journey, I’ve glossed over the meat of getting to know Node.js itself, and so that’s what I’m going to do in this post: share…

Read More
Sitefinity-Roles

Accessing Sitefinity Roles in Code

By | .NET, C#, Sitefinity | No Comments

When developing custom solutions in your Sitefinity application, you may need the ability to work with Sitefinity roles. As a developer, you would reach out to the RoleManager that Sitefinity provides, and access the roles from there. However, you may run into an issue where some roles, verified to be a part of your site, are not represented when working with the RoleManager. This post goes into this issue, and shows how to access all Sitefinity roles to work with. Basic Role Access Let’s say you want to list all available Sitefinity roles on your web site. The natural idea…

Read More
FalafelBytesLogo

Falafel Bytes Show is Released

By | Falafel Bytes, News | No Comments

Starting July 1st 2016, Falafel Software has released a new video show called “Falafel Bytes” that will interview technologists and celebrities from all over the world to chat about subjects that are important to you and your technology teams. Topics: We will be talking about Windows, Mac, Linux, Hololens, Testing, Mobile, Xamarin, NativeScript, iOS, Android, VR, IoT,  ASP.NET, Angular2, Azure, AWS, Power BI, Wearables, CMS, and many more topics… YouTube: Subscribe to our channel on YouTube and we look forward to producing these interviews.  Don’t miss the bloopers at the end of each interview 🙂 First Show: The first show…

Read More
sitefinity-status-page-200

Sitefinity Status Page HTTP Response Codes

By | Sitefinity | No Comments

When working with the new Web Services module or WCF services in Sitefinity, you want to be able to allow the requesting clients to properly respond to and handle a failed request. This is generally simple enough, as a failed request would usually be accompanied by an HTTP status code that indicates something went wrong. The status can be reviewed by the client and handled appropriately based on the status code (such as 404 for not found or 500 for a server error). To demonstrate this let’s look at this sample code, which uses the Web Services module API to…

Read More
HooToo

Traveling with Wi-Fi IoT Devices

By | Hardware, IoT | No Comments

These days, a lot of Wi-Fi IoT devices are intended for use in your home where there is typically only a single Wi-Fi access point. You set up the device one time, and then as long as the SSID and password never changes, the device will just continue to work. But, taking that same device on the road can prove to be a challenge. Add a hotel or conference center wireless network into the mix, especially one with a Captive Portal, and it can be next to impossible to get the device onto the internet. I have started using a travel router with…

Read More
Adafruit BMP280 sensor: https://www.adafruit.com/products/2651

A Simple IoT Project using NodeMCU

By | IoT | No Comments

This is post 12 of 12 in the series “IoT with the ESP8266” At a recent conference, I showed a simple demo for the ESP8266 using NodeMCU. This demo connected to Wi-Fi, synchronized the time with an internet time server, and then read temperature and air pressure from a sensor every 5 seconds and published the values to a MQTT broker. It was essentially a fully functional IoT solution (minus a lot of the exception handling and compensation that a more polished app would include). For the temperature and barometer, I used a BMP280 sensor available on a small board from Adafruit that…

Read More
Kendo UI Grid with Natural Sort

Kendo Grid Custom Column Sort

By | HTML5, JavaScript, Kendo UI | No Comments

In my previous post, I demonstrated a simple natural sort that could be used to generate a sortable string that has mixed letters and numbers by padding the numeric portions of the string. As demonstrated in that post, alphanumeric strings may not sort the way users expect if it uses the standard ASCII sort instead of a natural sort:

While it is true that we could implement our own IComparer in C#, by using a string extension method, we can generate a sort-friendly string that can easily be used outside of your C# service. In this post, I’ll show you how…

Read More
dynamic-loader-app

Loading Components on Demand – An Introduction to Angular 2

By | Angular 2, Google, HTML5, JavaScript, Microsoft, News, Web | One Comment

This is post 11 of 11 in the series “An Introduction to Angular 2” Background Components are the building blocks of any Angular 2 application. We usually create our components and then define where and how they are included. A component is loaded using either an HTML tag (following the component’s selector) or by using a router outlet if we have routing in place (You can read more about Routing in a previous post). In many cases, we find ourselves needing to load components dynamically (on demand) by following a certain criteria or state that is not represented by route. Cases when we don’t…

Read More
2016-06-24 14_10_29-c__users_rachel_documents_visual studio 2015_Projects_Database1 Database1 - Micr

Mystery Solved: SQL Database Project Won’t Update using Schema Compare

By | Visual Studio | No Comments

I recently started using a SQL Database Project in Visual Studio 2015 to on a (pre-existing) complex database, and since the previous source control was pretty much nonexistent, it’s been a welcome change. Overall, the upgrade process went pretty well, with one exception that kind of screeched the whole thing to a halt. Since I’m sure I’ll run across the same issue again someday and by then I will have forgotten what the solution was, I’ll share it with you – and myself – in blog form.

Read More
angular2-series-bg

Routing in Angular2

By | Angular 2 | 2 Comments

This is post 10 of 11 in the series “An Introduction to Angular 2” In this post we will look at how Routing is done in Angular2. Router in Angular2 has changed quite a bit over the span of Angular2. When Angular2 Beta shipped it shipped with a Router which the Angular team are now deprecating in favor of the more modern Component Router. The old router is still available over a deprecated package but in this post, we will be using the new Component Router that is part of Angular RC and forward. To start using the new Component…

Read More
ng2-http-using

Working with HTTP – An Introduction to Angular 2

By | Angular 2, HTML5, JavaScript, Microsoft, News, Web | No Comments

This is post 9 of 11 in the series “An Introduction to Angular 2” In a previous article, we discussed RxJs and how we can use it with Angular2. In this post, we will take a closer look at HTTP and some of the key differences in using HTTP with Angular 2 vs Angular 1. Background jQuery came up with a very intuitive way of dealing with HTTP requests (XMLHttpRequest (XHR) and JSONP). It introduced a $.ajax() method which takes a request configuration and returns a promise. Many JavaScript frameworks followed the path of jQuery and Angular 1 was no different. While similar…

Read More
search-index

Customizing Search Result URLs in Sitefinity

By | .NET, C#, Sitefinity | No Comments

One of Sitefinity’s many features is its search capabilities. Using Lucene under the hood, Sitefinity indexes your site content, both built-in content types and dynamic content types, along with static HTML, and allows you to present organized results to the user. You can customized what is and isn’t indexed among other things. Most of the time, Sitefinity is smart enough to create search result URLs that take you directly to the content in question. If you have “/my-news” as your news page, for instance, a particular article URL might look something like “/my-news/2015/1/1/my-article-url”. The search indexer automatically takes the page…

Read More
angular2-series-bg

Directives in Angular2

By | Angular 2 | No Comments

This is post 8 of 11 in the series “An Introduction to Angular 2” There are two different types of directives in Angular2. They are Structural Directives Attribute Directives Let us look at both of them in more detail – Structural Directives A structural directive changes the DOM by either adding or removing elements to the DOM. Some of the examples of Structural Directives are ngIf ngFor ngSwitch Structural directives internally use the HTML5 <template> tag which sets the DOM elements CSS display property to none by default and Angular2 not only sets the display to none but also removes…

Read More
angular2-series-bg

An introduction to RxJs in Angular2

By | Angular 2 | No Comments

This is post 7 of 11 in the series “An Introduction to Angular 2” In this article we will discuss the importance of RxJs in Angular2 and also look at couple of examples on where RxJs plays a crucial role in Angular2. But first, let’s try to understand what RxJs is? RxJs is short for Reactive Extensions for Javascript which brings the concept of Observables, which we know and love a lot in a lot of server side technologies, to Javascript world. Angular2 team are moving towards Observables instead of Javascript Promises for Http and Form data. Now, before we…

Read More
shield-large

Creating and Injecting Services – An Introduction to Angular 2

By | AngularJS | One Comment

This is post 6 of 11 in the series “An Introduction to Angular 2” In my last post we learned how to write our first Angular 2 component by writing a simple application comprised of a simple weather widget. The data displayed by our weather widget was static, defined directly within the component itself. Today we’ll learn about creating and injecting services. I’ll expand on the previous example by extracting the weather data into a separate service and injecting that service into the component. An Angular 2 Service In order to keep our weather component as simple as possible, we’re going…

Read More