Mugo Web main content.

In-depth insights on content, code, and creativity

How publishers can benefit from a WordPress to eZ Publish migration

Migrating a website from WordPress to eZ Publish affords many benefits for content publishers looking to add robust front-end and back-end features to their site.

LEARN MORE

Extending eZ Find: How to specify minimum relevance values using Solr frange queries

eZ Find, the enterprise search extension for eZ Publish and wrapper for the Apache Solr search engine, is a highly performant alternative to manually searching through databases. We recently extended eZ Find to support Solr frange queries, and specifically to support minimum relevance values.

LEARN MORE

Building an accessible website: How to create accessible forms

Forms are an integral part of many websites but they pose unique challenges for accessible websites.

LEARN MORE

Building an accessible website: Writing accessible alt tags for images

Creating alt tags that conform to Web Content Accessibility Guidelines (WCAG) ensures all of your readers can have access to your website's images. Here's a look at how to create effective alt tags for web accessibility.

LEARN MORE

Persistence caching with memcache in eZ Publish 5.x and eZ Platform

In eZ Publish 5.x and eZ Platform, the concept of "view cache" has changed. The "module result" part of it (which was basically page-level caching if we didn't count the pagelayout) has been offloaded to HTTP caching, most often implemented with Varnish. In addition, Cache blocks no longer exist and have been replaced by ESI (Edge Side Includes) blocks.

The persistence caching element -- that is, caching of your actual content from the database -- of the "view cache" still exists, handled by default on the file system through the Stash bundle. Stash also supports memcache (which, as its name suggests, uses memory, and has a much better performance). We use memcache(d) for all of our production sites.

LEARN MORE

It’s time to secure your website: Chrome enforces deadline for HTTPS

Does your website have account logins or have e-commerce functionality? If so, you’ll want to ensure it runs on the HTTPS protocol by January 2017.

LEARN MORE

Web development as a service: customer service is as important as code

Many people think web development is mainly about code: code in frameworks, code connecting systems, code in different languages. And it’s true, web development is full of code. But it’s also about much more than code; it’s about serving clients.

What makes your web development team a great partner instead of just "those technical people you have to deal with"? Good communication. A solid understanding of your needs. Digital solutions that meet those needs. All of which, ultimately, amounts to good customer service.

LEARN MORE

An rx for quality medical content online

With more than one-third of Americans using Dr. Google to search for medical information online, and one in every 20 Google searches related to health information, there is undoubtedly a need for quality medical content on the internet.

LEARN MORE

Why an accessible website benefits your business

Ensuring your website is accessible to people with visual, auditory, speech, cognitive, and neurological disabilities -- including all of its text, images, video, audio, and even forms and checkboxes -- is good business practice.

LEARN MORE

Building an accessible website: how to make toggle boxes screen-reader friendly

Making your website accessible to people with visual impairments involves ensuring that screen readers effectively communicate all essential information to the user -- including information conveyed in toggle boxes. Here's an example of a toggle box that needs to be made accessible. Let's walk through how it's done.

LEARN MORE

Mailchimp newsletter template tool for WordPress

When it comes to creating newsletter campaigns, you have to compile the content and then send that content out through an e-mail marketing service. Having a content management system helps in order to structure your content and automate the creation of the newsletter HTML. Here's an example of a newsletter integration with WordPress and Mailchimp.

LEARN MORE

How to create custom tags in eZ Publish 5

Custom tags are very useful for adding custom functionality to rich text fields beyond simple formatting and embeds. Here is a walkthrough of how to implement custom tags in eZ Publish 5.x compared to an eZ Publish 4.x / legacy install.

LEARN MORE

Layout management in book publisher website platform ReaderBound

In developing a website platform for book publishers, we wanted to provide fully featured page layouts that publishers can customize. We've built many custom publisher websites, but with ReaderBound it is important to offer ready-to-use widgets as building blocks for editors to organize into their own layouts. By achieving this balance, ReaderBound is a flexible but powerful platform.

LEARN MORE

Stamping PDFs with a watermark in eZ Publish

When running an intranet or an otherwise password-protected site, you sometimes need to share confidential or sensitive files, specifically PDFs. It is a challenge to balance the confidential nature of the files while allowing privileged users to download and work with the files normally. One lightweight approach is to stamp a watermark onto each page of the PDF. Instead of just a big "confidential" watermark you can customize each download so that each file is stamped with, for example, the current user's name and the current date.

LEARN MORE

Mugo office in New Westminster!

In early 2015, we decided to trade in our downtown Vancouver office for a new Mugo HQ in downtown New Westminster (30 minutes outside of Vancouver)! Although the main motivation behind the move was to have a more central location relative to Mugonites' homes, we've been very pleased with the surrounding area and amenities.

LEARN MORE

First draft preview in eZ Publish 5

The eZ Publish 5 series has been a successful step forward for eZ Publish with the adoption of the Symfony stack and the ability to run dual kernels with the new and legacy stacks. However, content preview functionality has gone through many fixes through the 5.x version. The final fix comes in eZ Publish 5.4.5, which is very important since eZ Publish 5.4 is a milestone release that will be used as a stepping stone for upgrades through to the 6.x series aka eZ Platform! Here's how to update your code to make your editors happy with proper content preview!

LEARN MORE

Online Daily Evaluations: a walkthrough of emergency department shift evaluations

With the Online Daily Evaluations portal, student (or "trainee") doctors and attending doctors can easily evaluate each other after every hospital shift with a customizable online course evaluation form. This ensures that mandatory student evaluations are completed within a CanMEDS compliant and RIME compliant evaluation system, and that students get the most out of the learning experience. In such key environments as emergency medicine and anesthesia departments, doctors and patients can appreciate every bit of efficiency! Here is a brief walkthrough of how Online Daily Evaluations works.

LEARN MORE

Sorting search results by date-based relevance in eZ Find

The eZ Publish search extension eZ Find offers many sorting parameters for its search results, the most common being by relevance / score, and by date. On large sites, sorting by date can lead to non-relevant results showing up first. What if you want to sort by date and relevance, essentially boosting newer content but still giving you relevant results?

LEARN MORE

Building a development environment from a production website with Vagrant and VirtualBox

When it comes to local development environments, in a lot of cases Mugo uses VirtualBox images and manages them with Vagrant. These environments are sometimes created after the production environment has been set up. To make a local development environment as similar to production as possible, one approach is to actually copy the production server.

LEARN MORE

Image aliases and filters in eZ Publish 5.4+

As of eZ Publish 5.4 / 2014.11, there is a new way to define custom image filters and image aliases. This is because image alias generation is now using LiipImagineBundle, with the underlying Imagine library from avalanche123. In this post we will review the old and new ways of configuring image aliases and filters along with a useful example.

LEARN MORE

JavaScript and CSS caching best practices with ezjscore and eZ Publish

A good caching system keeps elements in the cache as long as possible, but clears them as soon as the elements are updated. For content pages in eZ Publish and most content management systems, "purge-on-publish" features are well documented. When it comes to JavaScript and CSS files, there are usually different caching systems involved, and these are important to configure. Otherwise, you'll end up with the all-too-familiar problem of a broken front-end on deployments, where the only fix is to have users do a "hard refresh" (CTRL+F5) in the browser.

LEARN MORE

Integrating the Dropbox Chooser with eZ Publish

When working with a CMS, you might decide to store some files in Dropbox rather than in the CMS for several reasons, including storage, workflow, and performance considerations. The Dropbox Chooser is one of 2 Dropbox Drop-ins. The "Chooser" enables users to generate a file link from a Dropbox account, and the "Saver" enables users to save a file to a different Dropbox account. The Chooser is often most useful for CMS editors.

Using the Dropbox Chooser with the eZ Publish Administration Interface saves editorial staff a lot of time by giving them direct access to the file links they need without having to jump between Dropbox and eZ Publish. The Chooser UI also allows you to upload files to a Dropbox account, making it even easier to get everything done within one operation.

LEARN MORE

Multi-language sites in eZ Publish: requirements analysis

eZ Publish has had multi-language features (also called "internationalization") built into its core for over a decade. If you're considering building a multi-language eZ Publish website from scratch or to add additional languages to a single-language eZ Publish site, there are many technical details to be aware of. However, before you begin, it's important to develop a list of requirements for how end users and editors will use the languages on the site.

LEARN MORE

eep in action: eZ Publish command line operations

eep (Ease eZ Publish) is a command line tool we introduced in a previous post, which in combination with other command line tools like awk, grep and xargs makes for powerful one-liners. The examples in this post will highlight its versatility and show just how quickly and conveniently eZ Publish related tasks can be accomplished using eep. Get ready for some command-line fun!

LEARN MORE