Issue No 57

The default Skrift banner

Examine in Umbraco 8

Onsite search can be challenging, and isn't as sexy as other features on a site. But the Lucene search engine in Umbraco gives us the chance to make fast, feature-rich search in just a few hours. The Examine APIs have changed a lot in Umbraco 8. Thankfully, Paul is here, having done the hard work to show us how to implement a basic text search.

Issue No 56

The default Skrift banner

Creating Custom Editor Experiences

Since Umbraco 7 launched in 2013 we've had access to new ways to extend the back office. Kenn feels that despite this we rarely include improving the editor experience in our project budgets. But it doesn't have to be that way. He walks us through the process, showing that it's not time consuming or complicated to create intuitive editor experiences and make successful projects.

The default Skrift banner

Why You Should Do More Crazy Stuff

It's easy to get stuck in a rut, both personally and professionally. Although we're often happy in our habits, it's by taking some risks and getting outside of our comfort zones that we can learn what we're capable of and make new friends in the process. Tim shares his own experiences with doing more crazy stuff and how that's improved his life.

Issue No 55

The default Skrift banner

A Perspective On Caching In Umbraco

Good, fast code is always better than caching. But when you need to cache, make sure you can control it and turn it off. Anthony walks us through his perspective of caching in Umbraco, and offers an alternative caching pattern to help you gain better control of your cache.

The default Skrift banner

When is it a good time for Migration? Now!

With Umbraco 8.1 out, more teams are confidant that it's the time to start moving clients over to v8. There is no upgrade path between 7 and 8, so we need to migrate instead. Having begun to do this himself with internal projects, Owain has a number of "look out for this" pieces of advice to offer for those beginning this undertaking.

Issue No 54

The default Skrift banner

Who Moved My Cheese?!

Umbraco 8 brought a huge overhaul its backoffice UI. For Callum, the experience is a "buttery smooth" update from v7. But with the changes came some situations of "moved cheese", where finding the new v8 versions of v7 functionality can trip folks up. Callum shares some common trip-ups he and others have found, providing a useful guide for locating needed features that have moved.

The default Skrift banner

Accessibility in an Umbraco Context

The Umbraco CMS and community pride themselves on their friendliness. For Jan, part of being friendly means making the Umbraco backoffice as accessible as possible, both in modifying the patterns in our own projects as well as helping out in updating the backoffice itself with best practices.

Issue No 53

The default Skrift banner

Saving the world with Umbraco and GraphQL

GraphQL is a powerful tool for querying data for use in your client-side applications, allowing the client-side to define the data it needs from the server. Laura shows us how to use GraphQL with Umbraco to get bespoke data alongside Umbraco content from a custom dashboard, and does so to build a tool to track her own carbon footprint as part of her efforts to help contribute to saving the world.

The default Skrift banner

The Double Negative (Programmer)

As a woman from Aruba, Natasha faces two challenges in the tech industry in the Netherlands as part of a male-dominated career and as a foreigner who didn't speak Dutch as her first language. Now part of the team at Perplex, she discusses the difficulty of her "double negative", and how those became positive traits in an industry that benefits from diverse voices.

Issue No 52

The default Skrift banner

Umbraco Cloud Failover with Azure

Paul and Ben believe in Umbraco Cloud, but it lacks geo-redundancy for the service (AKA failover) and load-balancing for individual projects. Spurred on by (rare) outages in early 2019, they've created a failover environment to use with Umbraco Cloud. Better yet, they've shared with us their solution, which is useful for cases such as zero downtime upgrades and blue-green deployments

The default Skrift banner

How to Survive as a Canary in a Digital Office

Joke shares what agency life is like as a "Highly Sensitive Person" with a heightened sensitivity to the noises, sounds, and smells in the office, and uses her experiences to share advice on how to survive in an agency, whether or not you are an HSP, and take better care of yourself in the process.

Issue No 51


An Umbraco Privacy Health Check

It's been a year since GDPR, which is the perfect time to look at how we as the Umbraco community, the Umbraco CMS itself, and other CMSs, can participate in the journey to better privacy and security. As a member of the Cross-CMS Privacy Working Group, Alan looks at all this and our opportunities to maintain momentum in privacy in a post-GDPR world.

The default Skrift banner

The (Ir)relevant Degree: Why Being 1 in 3 Isn't So Bad

One in three professional developers don't have degrees in computer science. Instead of suffering from the doubt of imposter syndrome, developers with backgrounds in different fields should take heart as Linda discusses the evidence that this isn't a predictor of your skill as a coder and the non-coding skills that make programmers of all backgrounds priceless.

Issue No 50

The default Skrift banner

There's More Than One Way to Cook an Egg

Paul walks us through five different ways of rendering reusable ModelsBuilder content, the pros and cons of each method, and how to do each one. You may already have a preference, but now you'll be able to recognize someone else's method if you inherit a project!

The default Skrift banner

Accessibility in the Umbraco Back Office

Hot off the heels after delivering her talk at Codegarden 2019, Tiffany Prosser discusses how web accessibility has come to the forefront of her role in web development; looks at how it can be considered one of the fundamental building blocks of creating modern high quality websites; and considers the role of accessibility within the back office environment of Umbraco.

Issue No 49

Issue No 48

The default Skrift banner

Putting Your Clients In The Firing Line

Burnout is a constant risk in our industry. One contribution that puts our work/life balance is taking on any clients that comes our way. But as David reminds us, having more clients isn't always the healthy way to grow our business. Instead, he he outlines the process to know which clients to fire, and guidance on how to do so.

The default Skrift banner

The Other Thing You Don't Have In Common With Flat-Earthers

One thing we all have (hopefully) don't have in common with flat-Earths is the mistaken belief that the Earth is flat. But more so, many of us Umbracians suffer from the opposite of the Dunning–Kruger effect that causes them to believe they're experts when they are not: and that is imposter syndrome. Renee discusses her own struggles with imposter syndrome and shares ways we can all combat it.

Issue No 47

Issue No 46

The default Skrift banner

Responsible Animations for the Web

Animations are the flare that everyone wants on their website (or app), but how do we approach them responsibly? Mike touches on everything from accessibility to performance in this follow-up article to his Umbraco UK Fest presentation.

Issue No 45

The default Skrift banner

Five Tips for Starting an Umbraco Meetup

Starting a meetup can be rough but also incredibly exciting. Every new take we get on running and starting them helps new areas feel confident in building their own. Mike gives us some great tips and tricks that he's learned from the very new Minneapolis meetup!

The default Skrift banner

A New Year's Challenge to Conference Organizers

It's not exactly a New Year's Resolution, but following an #Umbraco twitter conversation on conferences in December, Kyle has issued a "conference challenge" to the organizers of our varying festivals about how we engage with and compensate our speakers.

Issue No 44

The default Skrift banner

Umbraco, Docker and Kubernetes – Should We Care?

What are containers? What is orchestration? With new technologies and buzz-words coming out every day, Callum discusses Docker and Kubernetes, how you can integrate them with Umbraco and answers our most important question - should you?

Issue No 43

The default Skrift banner

Importing External Data as Content in Umbraco

We don't always want to store external data in Umbraco, but when we do, getting it from point A to point B can be quite a headache. Anders gives us an incredibly detailed real world example that not only helps us determine why and why we might want to import data into Umbraco but also how to do it.

The default Skrift banner

Presenting is a Team Sport

Speaking at a conference can be exhilarating, intimidating, and potentially full of unknown hitches. Pete gives us insight into what presenters should pay attention to when giving a talk and how audience participation can make all the difference. Perfect as we dive into UK Fest this week!

Issue No 42

The default Skrift banner

Umbraco Migrations Made Easy

Migrating data from old versions of Umbraco to new ones with the ID to UDI changes can be intimidating, especially when you have large amounts of data. Benjamin takes us through using Umbraco Migrations and how to implement it to make your upgrades seamless and painless.

Issue No 41

The default Skrift banner

A Tour of the (Backoffice) Tours

One of Umbraco 7.8's coolest new features are Tours. Dave is back to show us what tours are capable of, along with some cool ways they can be used to help our clients get the best editor experience possible.

Issue No 40

The default Skrift banner

Using Umbraco Is Good For Your Health

It might be a bold claim that your choice of CMS can be good for your health, but Owain backs his assertion how aspects of Umbraco's back office, its community, and services like Umbraco Cloud do in fact make it a healthy CMS.

The default Skrift banner

My Open Source Journey - An Umbraco Tale

Before he became a world-famous Umbraco conference DJ, Adam was another hardworking digital agency owner doing what every agency did: make their own CMS. Then he discovered Umbraco. Adam takes us on the journey of how embracing the open source community changed him and motivated him to give back, encouraging you to do the same.

Issue No 39

Issue No 38

The default Skrift banner

Building with Components

Websites can be huge with hundreds of pages, which is one reason that Umbraco is so useful. It lets us create dozens of templates instead of hundreds of pages. But reusability can make us even more efficient when we think about template sections as components. Kevin will show us how and why to design our Umbraco sites on the component level to make them even more flexible.

The default Skrift banner

Confidence with Umbraco Media

The default media folder in Umbraco doesn't scale well across different Umbraco site instances, especially when you need to worry about whether teams have up-to-date media folders in their dev environments. Jimmy has a solution for this conundrum, arranging for a programmatic transfer of media assets via Azure with the UmbracoFileSystemProviders.Azure Umbraco Package and AzCopy.

Issue No 37

Issue No 36

The default Skrift banner

User Enumeration Vulnerability in Umbraco

Umbraco is a well-protected CMS, but security is a never-ending battle in any web application. Cristhian shows us how Umbraco is vulnerable to timing attacks for user enumeration, what risks it might pose, and how well-protected Umbraco is against those risks.

The default Skrift banner

Using One Umbraco Instance to Host Multiple Sites

One of Umbraco's most convenient features is the ability to create and host multiple websites from one instance. Maggy shows us how to use Umbraco's multisite feature to enable clients to manage their brands and content from one portal, with tips she's learned along the way.

Issue No 35

The default Skrift banner

SOLID CMS: SOLID Principles in CMS Development

The SOLID best practice principles are frequently applied to object-oriented designs, but they have a place in any development. Emma Garland takes us on a deep dive on SOLID and how to apply it to CMS Development in Umbraco.

The default Skrift banner

Countdown To Burnout

Overworking ourselves is a common thing in development, especially with the dreaded crunch time! Tim has some great advice on how to recognize when you're reaching burnout, mitigating it before it hits that point, and what to do when it's too late.

Issue No 34

The default Skrift banner

Umbraco and Web Accessibility

Many of our clients have the need for more accessible websites, either to comply with regulations or to improve the ability of potential customers to access and use their sites. Accessibility is a complex topic, but Dominique and Catherine show us ways to make our Umbraco sites more accessible from the beginning, keeping the impact to clients minimal while allowing more users to access them.

The default Skrift banner

Building Blocks in 2018

Three years ago, Jeavon Leopold showed us how Crumpled Dog's projects were structured and why they were structured that way. Three years is an eternity in the web, so now he's come back to show how they've changed their process and the new tools and structure to show us all how to get up to date.

Issue No 33

The default Skrift banner

How to Create Custom Editors for the Umbraco Grid

The grid has been a great tool for Umbraco since its release in 7.2 right out of the box. But it's with the creation of your own custom grid editors that its true power shows. Anders shows us how to create our own property and grid editors with minimum effort to make the most of this powerful feature.

The default Skrift banner

Running MS Build with Grunt

Sometimes, back-end developers don't want to bother with Visual Studio and sometimes front-end developers would like to do a build without having Visual Studio even installed. This can be done! Inspired by a virtual meeting with GLUUG, Janae talks us through setting up Grunt to run MS Build with some VS Code tricks on the side so you (almost) never have to touch Visual Studio again.

Issue No 32

The default Skrift banner

We Are All Addicts

Almost every worker in our industry has pushed themselves a little too far chasing that addictive rush of solving a problem with code, working too long of hours and living too little in the process. This holiday season Pete shares with us his past struggles and how he keeps that dopamine rush from making him a workaholic.

The default Skrift banner

I Have a Nightmare Dream About Umbraco and GDPR

The EU's General Data Protection Regulation is coming in 2018, and with it guidelines on how to protect the personal data of European citizens. If you're making a website visited by Europeans, it applies to you and your site. Jeffrey has taken a hard look at the GDPR and what changes Umbraco and its community of developers should make to meet these guidelines.

Issue No 31

The default Skrift banner

Hybrid Grid Editors: Get More Mileage From Your Grid

The Grid is great for giving content editors options for controlling their content, but migrating content into it from existing properties elsewhere on your site can be a painful experience. Jason shares their pain, and shows how to lessen it through the use of hybrid grid editors.

Issue No 30

The default Skrift banner

Umbraco CI & CD using Jenkins and Github

The biggest challenge we all face as developers is time. Malcolm shows us one way to help manage time by drastically decreasing the time involved in the deployment process using Continuous Integration and Continuous Deployment with Jenkins and Github.

Issue No 29

The default Skrift banner

Saving the future, one interface at a time

For an organization in a utopian society the user interface of Star Trek's Starfleet's user interface sucks. A lot. Taking a look at the lessons that can be learned by examining the shortcomings and challenges that such interfaces would create, anne gibson encourages us to think about our own interfaces, and where to start in making them usable in our era, let alone the future.

The default Skrift banner

The Introverts Among Us

Umbraco is all about community. But "the Friendly CMS", like any group, possesses introverts who can feel their internal batteries draining at social events like CodeGarden and other meetups. Christie Pearson discusses introverts in our community and starts a conversation on easing the challenges for introverts in an industry reliant on collaboration.

Issue No 28

The default Skrift banner

How an Umbraco Festival is Born

We might be Umbraco specialists, but when it comes to organizing local community events most of us are novices all over again. Callum helps us eliminate some of the pain points with solid advice on the important phase of preparing for a conference, using his experience in organizing The Cogwork's Umbraco UK and Umbraco Poland festivals.

The default Skrift banner

YSOD-Driven Composition

When we're stumped by a particularly pernicious bug in our code, or can't get a design to gel properly, sometimes the best solution is to step away from the problem (and maybe even your desk) altogether and put our minds to something completely different to reset and gain a new perspective. Chriztian shares his experience doing just that, turning the dreaded YSOD into a song in the process.

Issue No 27

The default Skrift banner

Umbraco's Guide to the WordPress Gallery

We live in a world where WordPress powers more than 27% of all web pages. As such, many clients have expectations formed from their Wordpress experiences, thinking that a great website is only a few plugins away with minimal fuss. Josh helps us examine what kind of expectations clients may have, and how to challenge those and show how experts with Umbraco can make a better web experience.

The default Skrift banner

Testing the Performance of Querying Umbraco

There are always several ways to accomplish the same task in Umbraco. And it's not always clear which is the right one. Querying content is one of the biggest examples of this, with many different techniques and levels of performance as a result. Tim walks us through the methods available and testing which is best.

Issue No 26

The default Skrift banner

Integrating SAML into Umbraco

Implementing Single Sign On in Umbraco using SAML is an effective way to integrate Umbraco into a larger estate of IT systems, making new sites for corporate clients of all sizes easier for their internal users to access securely. And with Paul showing us how, we can learn how easy it is to implement.

Issue No 25

The default Skrift banner

Extending Umbraco Forms

Umbraco Forms is highly extendable with the ability to add both custom form controls and custom workflows. Richard walks us through his experiences and lessons learned, giving tips and tricks on how to get the best uses out of Forms for your business needs.

The default Skrift banner

Changing backoffice functionality without changing core code

Sometimes you just want to override the Umbraco backoffice's functionality for a client, like adding a custom button into the content editing view. But you don't want to modify the core and it's not a feature to put in a pull request. What do you do? Dave is here to help, showing how you can override core functionality without the mess of touching core code.

Issue No 24

The default Skrift banner

Extracting High Contrast Colors from Images

Making a delightful experience for content editors is one of the primary functions of Umbraco. With that in mind, Anders teaches us how to pull the primary colors from images and use a custom property editor to select which colors to use on their pages straight from the back office.

The default Skrift banner

Food and Friction

The websites we create can cause unintended consequences for our users, as some may encounter points of friction from barriers and setbacks that we may be unaware of from our own life experience. Kyle shares his recent challenges with eating, and how that has made him more thoughtful about the human cost of decisions we make with our code and design.

Issue No 23

The default Skrift banner

Seek and Ye Shall Find

Ismail has a good deal of experience with Examine and Umbraco's search and is partnering up with Umbraco HQ to provide the new Umbraco Examine course. In this article he shares his history with Umbraco and Examine, and what you can learn about in the upcoming course.

The default Skrift banner

AMP up your Website with Umbraco

40% of people will abandon a website that takes more than three seconds to load. That could be a lot of missed conversions for your company or client! Google's Accelerated Mobile Pages (AMP) can help with that, and Alex Vilmur is here to help us get up to speed with AMP.

Issue No 22

The default Skrift banner

Diversity in tech communities

The Umbraco community, with its tight-knit nature, can be fairly intimidating at first glance for those on the outside looking in. But as Carole learned last year in her first CodeGarden attendance the community is great once you give it a chance, and she's here with advice on how to break the ice and get involved, and for veterans on how to approach newbies looking to join.

The default Skrift banner

Strongly typed models in the Umbraco Grid

The grid, one of our favorite tools, gets better by making it beautifully strongly typed, more extensible, and incredibly searchable. Anders is here to walk us through how to set up our models, render them, extend them, and use them with Examine.

Issue No 21

The default Skrift banner

Why Community Matters When Planning an Umbraco Festival

As the force behind the Umbraco UK and Umbraco Poland festivals, The Cogworks has learned a lot about what is needed to run an Umbraco Festival. Their very own Sam Bailey shares their experiences in running festivals, the role of community in them, and gives advice for those looking to operate their own.

The default Skrift banner

Make 2017 Great by Attending a Festival!

It's a new year, and that means a new round of festivals to plan on attending. Erica walks us through why festivals are important, how you benefit from attending them, and tips on how to convince your boss to send you (or why you should send yourself!).

Issue No 20

The default Skrift banner

Building Umbraco Websites with Archetype Widgets and Ditto

Umbraco lets us build sites virtually any way we please, which can be both a blessing and a curse with an overwhelming range of choices. Nicholas is here to help with a technique he thinks virtually everybody can make use of: making websites with widgets using Archetype and Ditto.

The default Skrift banner

Creating A UI Layer For Custom Content With UI-O-Matic 2

The simplicity of Umbraco's backoffice UI can be quickly lost when we step outside of standard website content and into custom territory and "bespoke" development where inconsistent Bootstrap-based UIs and buggy editors raise their ugly heads. Thankfully, UI-O-Matic, now at version 2.0, is here to help, with Matt showing how we can all save us from ourselves.

Issue No 19

The default Skrift banner

Segmented A/B testing in Umbraco

Adding personalisation to your site can be hard, creating an obstacle of time and money that keep many from attempting it. Ondrej walks us through some of the difficulties and shows us how to quickly set up A/B testing in Umbraco-hosted sites using Personalisation Groups and uSplit.

The default Skrift banner

How to Quickly Add eCommerce to Your Existing Website

Adding an eCommerce store to an Umbraco website has become even easier thanks to FastTrack, a starter kit for Merchello, the open source ecommerce solution. Lee Messenger takes us through the steps to get a store quickly up and running using these two packages.

Issue No 18

The default Skrift banner

Add Your Own Icons to Umbraco, Automatically

Importing custom icons into the Umbraco backoffice isn't difficult, but updating your icon fonts can be a tedious procedure. Søren shows us how to use the Gulp task runner to do the heavy lifting when creating and maintaining your custom icon fonts.

Issue No 17

The default Skrift banner

Decluttering Your Remote Work Life

Working remote can seem like a dream to a cubicle coder. No commute. No pants. No boss over your shoulder. But when you work where you live, your "office" and your life can become a cluttered mess. Janae gives practical advice on how to declutter your remote work life in order to safeguard both your productivity and sanity.

The default Skrift banner

Stop Mapping, Start Adapting

Lars-Erik thinks developers might be too addicted to mapping content to view models, creating headaches in the process that we could avoid by using the adapter pattern instead. Follow along as he makes his case, showing how we can use adapters and stop mapping in Umbraco.

Issue No 16

The default Skrift banner

Sections and Trees in Umbraco 7

Sometimes a project's Umbraco back office requires a good deal of extra functionality. So much so that you'd like it to have its own section. But how? Anders walks us through adding custom sections and trees step by step, with a little help from some familiar Umbraco animals.

Issue No 15

The default Skrift banner

How to Get Started with #webperf

Optimizing your site's web performance can be intimidating and sounds difficult. But as Matt shows us, there's several techniques that you and your organization can start implementing today to improve performance and make a faster, better web.

The default Skrift banner

Umbraco Migrations Viewer: My First Step Into Package Creation

Umbraco Migrations aren't new, but since v7.3.0 custom migrations have allowed for more exciting use of them. Follow along as Jamie describes how fellow Umbraco community members inspired and helped him in the creation of his Umbraco Migrations Viewer package to track custom migrations without logging into a server.

Issue No 14

The default Skrift banner

The Real Value of Open Source

For some potential clients, the perception can exist that open source software's value is as low as its free price. Andy helps turn around that misunderstanding by describe the real source of value in products like Umbraco to clients.

Issue No 13

The default Skrift banner

Bulletproof Interface Deserialization in Json.NET

Deserialization is hard, with a lot of tricky situations that can arise. Nicholas Westerby has walked through this dark land and faced its dangers firsthand, and fortunately for us he's willing to share the techniques he used to defeat the deserialization beast.

The default Skrift banner

Unit Testing Umbraco - Plausible

Third party solutions can make unit testing a painful experience for any developer. Umbraco is no different in this regard. But thanks to Umbraco's open source nature, there are some less restrictive solutions available than in many other projects, and Sam Sussman shows us how to make them.

Issue No 12.5

The default Skrift banner

uWestFest Reviewed: An American Perspective

From boots on the ground in San Diego, to the pre-party, and summaries of the sessions she attended, Kendra shares with us her first experience attending uWestFest from the attendee perspective, as well as from the perspective of the coordinating organization, Scandia.

Issue No 12

The default Skrift banner

Best practises can kill your work life balance

There's something about code and a life in development that makes us strive for perfection. Sometimes, however, that way of thinking just makes us miserable. Pete shares how to find peace with yourself and put aside the craft of the industry to get projects out the door and have a happier view of your own measure.

The default Skrift banner

How to Make Your Umbraco Site SEO Agency Friendly

It's no secret that many developers twitch at the thought of working with an SEO agency, and Tim won't deny it either. But what he will show you is how to painlessly set up an Umbraco site to be friendly towards these agencies and minimize their pain (and yours) when optimizing in Umbraco.

Issue No 11


Separation of Authoring & Delivery Environments

Creating an Umbraco project with separate authoring and delivery environments is no easy task. But once accomplished, it provides clients with benefits such as added security and quick recovery from a site being compromised. Thankfully, Brittany Dufort is here to walk us through the process step by step, telling us why, what, and how to set it up.

Issue No 10

The default Skrift banner

Collector of Great Moments

As we face challenges and accumulate failures, it can be easy (especially in the dark winter season) to become negative, both to ourselves and to others. Chriztian Steinmeier shares his technique for combating this mentality, by collecting his successes and speaking positively.

The default Skrift banner

Technology & Our Daughters

In the U.S., 74% of elementary girls are interested in STEM. By the end of high school, less than 1% plan on pursuing a CS career. Sydney Cole shares her experience helping establish a junior high girls robotics club, and its incredible results, illustrating the impact that STEM role models and the removal of obstacles can have.

Issue No 9

The default Skrift banner

Automating Umbraco Package Creation

Manually building a package to share your snazzy code with the Umbraco community can be a major pain. Thankfully, Tom is here in time for the holidays to show us how to automate the package process using grunt-umbraco-package.

The default Skrift banner

Skrift Spotlight: Fuji Kusaka

The Skrift Team interviews LUX* Resorts & Hotels' online development manager Fuji Kusaka about what its like being an Umbraco developer in the Indian Ocean nation of Mauritius.

Issue No 8

The default Skrift banner

Custom Property Value Converters

Kyle shows us how to make a custom property value converter, which makes it easy to implement the values from a custom property editor in the razor with strongly typed models without having to manually parse the JSON. It's easier than sacrificing a chicken and ten times more effective!

The default Skrift banner

Umbraco Upgrade Strategies

Tim runs us through some of the dos and don'ts when it comes to upgrading Umbraco sites. He offers advice on common gotchas and pitfall, advice on when to upgrade versus when to scrap and rebuild, and resources from others who've been there, done that.

Issue No 7