Mugo Web main content.

In-depth insights on content, code, and creativity

Cleaning up the data structure and workflow for a new CleanerSolutions.org site

The Cleaner Solutions laboratory conducts dozens of new, highly detailed cleaning product reviews each month. But an outdated data input workflow and publishing process resulted in the CleanerSolutions.org website being updated irregularly and some research simply falling through the cracks and never being published.

LEARN MORE

Single sign-ons on a multi-site Ibexa DXP install using Symfony kernel events

The Ibexa DXP excels at multi-site installations. For example, on the same installation, you can create multiple sites that share the same database, or that share the same code but use independent databases. Different sites can share the same base design and templates, but make use of site-specific overrides where relevant. For sites with user logins, you might need Single Sign-On (SSO) behavior, so that whenever a user logs in to one site, they are automatically logged in to all sites without having to re-enter their credentials. In this post, we'll review how to implement SSO logins on an Ibexa DXP website, specifically one where some of the sites are still using eZ Publish legacy siteaccesses.

LEARN MORE

Using the Moneris Hosted Payment Page with data preload to reduce card testing fraud

If you use Moneris for payment processing, its Hosted Payment Page with data preload increases security, reduces fraud, and ultimately saves the merchant money by reducing chargeback fees incurred by fraudulent card testing.

LEARN MORE

The website accessibility process: key steps for every project

Deciding to develop your website to conform to the Web Content Accessibility Guidelines (WCAG, pronounced “wickag”) is a positive move that will allow more visitors to consume your content and will help meet impending legal requirements. But how do you get started? What steps do you need to take to make your site more accessible and ensure it stays accessible?

We here at Mugo have helped many teams navigate the website accessibility process. The following outline can help you navigate the process.

LEARN MORE

A primer on Symfony routes and how to use match conditions

When working with Symfony applications, the routing component is key to mapping your website URLs to custom PHP code in controllers. In this post, we explain how to define URL routes and how to use match conditions.

LEARN MORE

How to edit Rich Text fields in a custom page in the eZ Platform Admin UI

The Rich Text field is one of the most powerful fields in eZ Platform. It enables editors to format content using headers, paragraphs, bold, italic, and much more. It is natively included when you edit content in the eZ Platform Admin UI. Sometimes, however, you need to add editing capabilities to custom pages outside of the standard editing experience. Here’s how to enable editing Rich Text field content on any custom page on your website.

LEARN MORE

Automating SSL certificate renewal for multi-site installs

Recently, we built a platform running more than 80 websites on eZ Publish / eZ Platform. New sites would get added to this platform over time, so we needed to automate its ongoing maintenance, including automated SSL certificate renewals.

LEARN MORE

ALA Survey: Few librarians are truly happy with their websites

Librarians who can easily manage the content and pages on their websites say they are happy with the overall usefulness of their sites. Unfortunately, most librarians report they have yet to adopt modern web publishing tools that help make these benefits a reality.

LEARN MORE
css and fonts

Fixing opacity problems on fonts with overlapping glyphs

Certain fonts feature glyphs that intentionally overlap.

This largely applies to "brush" or "script" type fonts where the overlap is intentional to achieve the effect of connected letters. Using a web font like that becomes a problem as soon as you try to apply opacity to text using the font.

LEARN MORE

Native advertising is most effective when it’s built directly into your CMS

As traditional online ad platforms become less profitable, publishers are turning to native advertising as a high-value alternative.

LEARN MORE

Events registration management made easy, right there in your CMS

Letting site visitors know that you have exciting events coming up is just the first step in building attendance and audience engagement. You also need to make it easy for guests to register for those events, and your team needs flexible management tools that help you keep all those dates, attendees and waiting lists organized.

LEARN MORE

Easy, cost-effective management of more than 80 library websites with eZ Platform

One of the more powerful features of eZ Platform is its ability to serve multiple sites from a single database and instance of the CMS, while allowing local managers enormous flexibility in how they manage the appearance and content of each site instance.

LEARN MORE

How to use Optimizely to create your first A/B Testing experiment

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.

LEARN MORE

Get to know your customers better (and easier) with Mugo Custom Forms

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.

LEARN MORE

Automating “curly” quotes in rich text fields

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:

  • J. R. R. Tolkien wrote "The Lord of the Rings," a trilogy of novels that serve as a sequel to Tolkien's "The Hobbit."

But really want this:

  • J. R. R. Tolkien wrote “The Lord of the Rings,” a trilogy of novels that serve as a sequel to Tolkien’s “The Hobbit.”

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.

LEARN MORE

Adding complex fields to WordPress custom post types

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.

LEARN MORE

Does Scrum deliver an Agile website?

My experience working for an enterprise-level website using Scrum methodology for Agile development has been enlightening. Does Scrum work? That depends on many factors!

LEARN MORE

Library CMS website platform features checklist

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.

LEARN MORE

How to customize Bootstrap 4 using Sass

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.

LEARN MORE

Concrete and simple examples for responsive HTML images

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.

LEARN MORE

Building machine images with Packer

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).

LEARN MORE

Editing CSS/JS in Google Chrome

How many times have you found yourself editing and tuning up CSS or JavaScript code right in the browser, then refreshing the page only to lose all of your changes? Improving development workflows can help web developers to be more efficient and deliver a higher quality final product.

LEARN MORE

How to develop the right paywall for your publication

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.

LEARN MORE

Custom tags in eZ Platform with legacy bridge without XSL

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.

LEARN MORE