If you’ve seen some of my recent posts you’ll know I’ve been playing around with WebHooks. These are simple HTTP requests to endpoints allowing services to exchange data and events.
Integration Platforms as a Service
Those of you cool kids will have known about IFTTT (If This Then That) for some time. It’s a online tool that acts as a way to glue a huuuge number of online services together into simple workflow pairs called ‘recipes’. Each service can provide a number of triggers to the platform, which are then linked to actions provided by other services.
I’ve got a number of personal recipes set up, some useful some not. but all of them are good fun!
- If somebody tags me in a picture on Facebook, then upload the picture to my OneDrive account
- If one of my team creates a new GitHub repository then email me
- If I arrive or leave my office then log the time in a Google Doc.
- If an astronaut is launched into space then send me a notification
Whilst IFTTT targets individual users, other iPaaS platforms focus more towards business and enterprise. These will become increasingly useful and popular as a cheap means of system integration and data exchange. For example – if somebody submits a payment via the organisation’s payment gateway, log the entry directly into the cloud-based finance system. You won’t need development teams to set these up, just someone to configure the data exchange / webhook endpoints.
Publish your home!
One of the channels IFTTT offer is called the Maker channel. This is a user specific channel that will accept http triggers to an endpoint and can also make requests to a specified endpoint. It allows you pass up to 4 data points from a trigger or to an action.
As I’ve demonstrated before, adding webhooks to an existing ASP.NET app is straightforward. I decided I’d hook an Episerver solution up to an IFTTT maker channel, meaning when I clicked the publish button I could make all manner of amazing things happen, like turning my lights on
The code to do this is straightforward (see below). I’m using an Episerver initialisation module to hook a handler for the Content Published event. I’ve also built a simple helper method to call the Maker channel API. To use this you’d just have to add in your own API key that you get when you configure the Maker channel on IFTTT.
Detailed content management requirements are often overlooked in the design and build of a content managed website. This can result in an implementation that lacks flexibility and incurs higher costs over its lifetime.
Web Content Management (WCM/CMS) implementations deliver two key capabilities for an organisation:
- A website, perhaps with a new or updated design or brand.
- The ability to manage the website content via a content management system
To achieve the best implementation outcome, it is important start your project with design measures and KPI’s that focus on both the success of the website as a business tool, as well as the CMS that enables it. Too often the focus is on just the website, largely because of the difficulty in measuring how well your content management system works for your organisation.
Whether your CMS is effective is rarely immediately apparent, instead it will emerge over time through your content team’s ability to operate autonomously and a reduction in future development need and cost.
A CMS is for life, not just for launch
Even after a successful implementation, it is still easy to overlook your content management requirements. Marketing and campaign-led activity often have bespoke visual needs which can challenge your existing CMS design and content flexibility. They also often come with fixed deadlines and limited opportunity to fully assess the expected campaign content usage and lifespan.
The default position may be to ‘content manage all the things’, but do you really need to?
It is all to easy to build up technical debt within your implementation by designing bespoke types that are so specialised they offer little or no opportunity for reuse. This feature bloat not only increases the size of your code-base, making the landscape more complex for your technical teams. It also makes the system more complex for editorial teams as they have to navigate additional content types. If you have many content types in your CMS that are only used in a few places then you may already be suffering.
Don’t waste time (or money)
To keep on the right track, you should always have your content editing team as a key stakeholder in any website or CMS development. After all, they are the team that will be using any functionality and be responsible for publishing campaign content / functionality on your website through your CMS. It is only sensible that their feedback is taken onboard.
The basics of content reuse requirements aren’t that difficult.:
- I need to reuse this content and/or design in many places across the website
- I may reuse this content occasionally
- I am unlikely to reuse this content, but I need to be able to change it at short notice
- I shouldn’t need to change the content. If I do I am happy to rely on techincal support
The answers will drive very different technical solutions, ranging from fully reusable content managed features to a set of static pages to be thrown away after use. The middle ground here is also useful, which allows more technically minded CMS editors and admins to standup flat HTML pages through the CMS interface (an example for Episerver – http://tedgustaf.com/blog/2011/4/publishing-plain-html-pages-in-episerver/).
The difference in cost and implementation effort can be substantial.
Why spend money and valuable time building reusable content elements for a one-off campaign if you don’t really need to?
Spring is on its way (think daffodils and lambs) and so is Episerver’s next Developer Meetup.
Zone have very kindly offered to host the meetup at their laid back offices in Kings Cross. And Episerver will be supplying the pizzas and beers – after all, it’s not a meetup without it.
We have a great line up, covering some exciting new features in Episerver and looking at what it coming too
In the Winter Release 2016, Episerver Forms were officially released! Finally, a replacement for XForms! Janaka (from Episerver) will talk through different form examples you can build, re-using them, and customized rendering for display channels, personalization, multi-language and permissions. As well as the new four elements added after Beta; Date time, Range, Rich text and URL.
Commerce Promotion engine
New UK EMVP, Jon Jones, will take us through the new promotions engine in Commerce.
ASP.NET Core 1
(AKA ASP.NET 5) There are big changes coming soon to the ASP.NET framework. We’ll be taken through some of the changes and how Episerver are redesigning the product to take advantage.
As always, RSVP through our Meetup page, and please let me know if you’ve got any good ideas or want to contribute in any way. Remember, its your group!