In-depth insights on content, code, and creativity
A few months ago we discussed the importance of A/B testing to help your business build a winning digital strategy. In this blog post, I’ll show you how to use Optimizely, a leading A/B testing platform, to create your first experiment to study, analyze and decide what’s the best move for your content and key site pages.
Customer feedback is a powerful tool for decision-making in any business. Web forms are a popular device for gathering such information, but it’s critical that site operators can easily create forms with the right questions and formats that encourage user interaction. We created an eZ Platform module that lets editors build a custom form by selecting from multiple different input types and ordering the fields as desired. In this blog post, we’ll discuss key details of our Mugo Custom Forms module.
One of our clients recently came to us with an interesting problem. When end users type content into a rich text field, double quotes, single quotes and apostrophes are not “smart.” That is, the quotes and apostrophes are straight instead of curly — typographically speaking, they are inch and feet characters.
An editor might type this:
But really want this:
Here's how we created a script to automate search and replace for curly quotes and implemented an easy-to-use button in the client’s CMS to run the task.
With the release of the new Gutenberg editor in 2018, WordPress alienated some users but continues to lead in the CMS space, currently at a peak of 60% market share. Though most of our clients are on enterprise platforms like eZ Platform, some continue to run complex websites with WordPress. In this post, we'll peek under the hood to see how WordPress handles content classes and field types and we'll use that knowledge to add complex field types of our own.
As a library or library system, you might have well-defined feature requirements for various digital systems such as the online catalogue, various eResources, or even in-library WiFi. However, what about the public-facing website, which can be the first and sometimes most frequent interaction that patrons have with you? Here's a handy library CMS website platform features checklist, whether you're looking for a new website or evaluating your existing one.
Some months ago I listed 7 reasons why you should be using Sass over conventional CSS to build stunning websites. One of these reasons is the ability to customize Bootstrap, the most used front-end framework in the world. In this blog post, I will explain some basic concepts to enhance Bootstrap 4 with Sass to deliver a unique and delightful user experience.
In HTML you can implement responsive images. That means that you specify multiple image variations (lower and higher resolution images) and let the browser pick the best fitting image for the given screen size. For a responsive website you want to render large images (higher resolution) on bigger screens like a desktop PC screen, and smaller images (lower resolution) on mobile phones.
Earlier this year we wrote about adopting Vagrant and Terraform in our steady march toward Infrastructure as Code. We recently added a new tool to this list, HashiCorp’s Packer. Packer automates building machine images, and with a single set of provisioners, creates images for multiple builders (such as VirtualBox, DigitalOcean, and Google Cloud).
Paid content and circulation have always been a mainstay of the magazine publishing business (with the exception of controlled circulation magazines). And prior to the advent of the Internet, it was, for the most part, the norm for readers to pay for magazine content, either by purchasing a newsstand copy, or by buying a subscription. The same has not been true for magazines online.
In a previous blog post we covered how to create custom tags in eZ Platform (with the legacy bridge or eZ Publish 5.x). The most difficult part of that process was building the XSL to output the custom tag HTML. But there's a simpler way to do it, which allows the developer to use Twig template code instead of XSL.