Old Site

This site is archived. I now update and maintain my blog here.


Incrementing the Umbraco Client Dependency version with Octopus Deploy

If you use Octopus deploy to deploy your Umbraco sites, you've probably forgotten to increment the Client Dependency version before building and deploying - which leads to old CSS and JavaScript being served. Octopus Deploy allows you to run custom powershell scripts during the deployment life cycle - and the one below will set the client dependency version. $Config = ".\config\ClientDependency.config"; If (Test-Path $Config) {     $Cd = New-Object System.Xml.XmlDocument $Cd.Load($Config) ... Read More »

This post has 2 comments.

A runtime for Umbraco - Part 4

It has been a while since I wrote about the Moriyama runtime for Umbraco - and that is because it has undergone quite a bit of development. I want to talk about the concept of a Deployment Adapter - that hooks into Umbraco publish and unpublish events to add and remove content to a runtime. The serialisation of content has already taken place. The deployment adapter is simply responsible for sending that content somewhere: The definition of a deployment adapter looks like this: using ... Read More »

A runtime for Umbraco - Part 3

And so on to part 3 - and the runtime has a name "Speedwagon". Since I last wrote, the project has become all hipster with Kevin offering up a Node implementation of the runtime at https://github.com/KevinJump/nodebraco.runtime.site I've also bared my soul and published the source for the runtime at: https://github.com/darrenferguson/moriyama-umbraco-runtime This time, I want to write about the CacheLessRuntimeContentService and show how we can get a piece of content from our  JSON files and ... Read More »

This post has 3 comments.

A runtime for Umbraco - Part 2

So before I start out on Part 2 - I should point out you need to read part 1 for this to make any sense. Also thanks for the twitter reaction, we even have a PHP implementation of the runtime now by Gary at https://github.com/garydevenay/Moriyama-Runtime-PHP I should also point out that the interfaces detailed in part 1 are not part of the Umbraco core - I just hook into the regular Umbraco events to call my own implementations of my custom interfaces. I can't fight this feeling any longer At ... Read More »

This post has 3 comments.

A runtime for Umbraco

It seems like an age ago now, but in 2013 I wrote about mapping Umbraco content to POCO and presented on the state of Umbraco and Azure as I saw it at the time. I also wrote an article called My three circles of Web CMS Nirvana (I was into diagrams involving circles at the time). This article explained why I wanted a runtime for Umbraco and is probably good background reading for this post. But what I haven't mentioned until now, is that I went away and built the runtime. In fact you are using ... Read More »

This post has 9 comments.

Post to Slack when Umbraco content is published

Slack is very of the moment isn’t it? Thanks to damianwalsh we were early adopters at Moriyama and use it as our main internal communication tool. One of the joys of Slack is just how easy it is to add your own integration. Here is ours that shows you how to post to a slack channel when an Umbraco document is published. Note: You’ll need the wonderful RestSharp library from nuget. using RestSharp;   void ContentServicePublished(IPublishingStrategy sender, PublishEventArgs e) {   foreach (var ... Read More »

This post has 4 comments.

YSOD when Umbraco package manifest doesn't validate

I've put together an Umbraco application startup handler over on github that makes Umbraco throw an exception if any package manifest files aren't valid JSON or reference non existent files. Why? Building custom property editors using JavaScript and HTML allows developers without .NET specifc tooling or knowledge to start customising Umbraco (which is great). But the flipside of this - is that it can be little daunting for .NET developers who are learning Javascript and Angular to also pick up ... Read More »

This post has 1 comment.

Umbraco Contour as an AdHoc database with CSV export

We love Umbraco Contour at Moriyama, the power that it gives editors to create and quickly roll out forms. Sometimes though it isn’t quite the right fit. From time to time we want to roll out a form that isn’t editable by users, that has a complex integration that doesn’t merit the creation of contour custom field type or workflow. Also, sometimes our client side guys can’t quite live with the GUID input field identifiers and inline JavaScript that contour can somehow generate. It is easy ... Read More »

Typed access to Umbraco Marco parameters in Partial Views

In an Umbraco PartialViewMacroPage any Macro parameters are typed as: IDictionary<string, object> This makes for some rather messy code when trying to retrieve these parameters. Consider a Partial View Macro that takes two parameters: Date - any date Days - a number of days to subtract from the date The purpose of this Macro is going to be to output the following using Razor: @days days before @date.ToString("dd MMM") ago it was ... Read More »

This post has 3 comments.

Recruitment isn't easy

Recruitment isn’t easy. We’ve got a world class team at Moriyama, but it took a lot of effort to assemble. Needing to expand again and fearing the pain of the whole recruitment process we floated around a few ideas about how to make our lives easier this time. So what is painful about recruitment? Recruitments agents First of all, recruitment agents. We don’t use them, but they call us anyway. They use tricks to get around our reception. They waste our time. I think agents are a good idea for ... Read More »

This post has 7 comments.