Useful resources for frontend Developers

I’m always on the lookout for new and interesting ways to improve sites I work upon, the following are in my bag now, let me know if you have any to add:

Ideal Forms

What’s Ideal Forms:

  • Ideal Forms is a small framework to build powerful and beautiful online forms.
  • It’s very easy to use and requires minimal html syntax.
  • Absolutely everything is stylable with css, no images needed.
  • Support for IE 7+, Firefox 3+, Chrome 3+, Safari 3.1+ and Opera 11+.
  • Degrades gracefully with javascript disabled. 


Ever needed to automatically track downloads in Google Analytics and sick of adding the tags manually, well no more.

Google Analytics doesn’t track file downloads automatically. This guy needed unobtrusive and framework agnostic download tracking for Google Analytics. That’s when Entourage.js was born.

Goals for Entourage.js before a single line of code was written. Entourage.js needed to embody the following:

  1. Automatic Tracking
  2. Framework Agnostic
  3. Unobtrusive JavaScript
  4. Small Footprint

New Umbraco package – uSecureFiles, secure your file downloads

In it’s simplest form, this project will allow you to serve files that are outside of the website folder structure to an end user – ok in other words you hide the real download location of your files.

An example:

You are a software company providing widget XYZ that costs $199 to purchase. In the past you had a secret hidden folder structure which was

This link was available to anyone once they purchased your software, however the probem was that this link could be passed around to anyone and everyone so not very secure.

What you actually want to do is provide a link like and for your site to determine via it’s authentication system whether you were allowed to access it or not – if you have paid, you could provide this link which will then check you are logged in, check you are allowed to download it and then return the file to your browser for you to download. Much more secure.

Ok this is how you could set it up:

* Your site is setup in c:inetpubwwwrootmySite
* Your secured files are outside of the wwwroot so c:inetpubmysecurefiles*.* (this is where you dump your exes and other secure files)
* You ensure when your user purchases your software, they are logged into the site as a user and redirect them to the your-account page.
* This page has a user control that checks the query string, provides a mechanism to pull the file from the secure folder and serve to the user

Thats pretty much it.

I’m looking for collaborators for this package/project to improve and expand upon it’s core functionality. Things that could be added are:

* Customisable filetypes – currently only supports pdf, exe, msi and zip
* Embedding Google Analytics for tracking downloads against purchases/users
* anything else?

Source is included (7 zip file) and is currently compiled as .net 4.0 solution, if you are not using 4.7, you will need to recompile and relink in the correct version Umbraco dll’s for it to work – should work in all versions of Umbraco 4.x onwards

Project can be downloaded from

Struggling to find the right developer for your Umbraco project? Simon is now a Certified Umbraco Developer

Finding the right developer for your Umbraco project is all about being assured that the developer you pick has the skills you need.

There is only one way to become a certified Umbraco developer, by attending one the many Umbraco training classes. There developers get up to date knowledge from qualified trainers, ensuring that an Umbraco certified badge actually stands for a certain skillset and knowledge.

Great news, Simon has just obtained his certification to prove he can do all this and more.

Simon Steed Umbraco certified development professional









To speak to Simon, follow this link to the Simon Antony website

Umbraco Macro to update a logo dependant upon the page being viewed

umbraco LogoHeres a simple Macro for umbraco to allow you to update a logo or image on a page depending upon which page you have selected. You can use it to dynamically update images based upon content etc.

Here we check to see if the current page nodename is home (i.e. homepage) and set it to one thing, otherwise set it to something else. Obviously you can add as many conditions as you like.

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp “ ”> ]>
xmlns:umbraco.library=”urn:umbraco.library” xmlns:Exslt.ExsltCommon=”urn:Exslt.ExsltCommon” xmlns:Exslt.ExsltDatesAndTimes=”urn:Exslt.ExsltDatesAndTimes” xmlns:Exslt.ExsltMath=”urn:Exslt.ExsltMath” xmlns:Exslt.ExsltRegularExpressions=”urn:Exslt.ExsltRegularExpressions” xmlns:Exslt.ExsltStrings=”urn:Exslt.ExsltStrings” xmlns:Exslt.ExsltSets=”urn:Exslt.ExsltSets”
exclude-result-prefixes=”msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets “>

<xsl:output method=”xml” omit-xml-declaration=”yes”/>

<xsl:param name=”currentPage”/>

<xsl:template match=”/”>


<xsl:when test=”$currentPage/@nodeName = ‘HOME'”>
<div id=”logoDiv”>
<a href=”/”>
<img src=’/images/logo1.png’ alt=’This is logo 1′ class=’logomargin’ />
<!–<h1>Add some text here if you like</h1>–>

<div id=”logoDiv”>
<a href=”/”>
<img src=’/images/logo2.png’ alt=’This is logo 2 for another page’ class=’logomargin’ />
<!–<h1>Add different text here also</h1>–>