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.
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.
Dealing with permissions and security systems such as Security-Enhanced Linux (SELinux) is an issue that seems to challenge many developers. Some enterprise Linux distributions like Red Hat and CentOS come with SELinux enabled by default, but not knowing how SELinux works can lead developers to disable it. This is a mistake.
Facebook's solution to speed up mobile web page loading is called Facebook Instant Articles (FBIA), and it's only available to Facebook app users. Here's a look at how to integrate FBIA into eZ Publish / eZ Platform.
On content heavy sites, it can be useful to inject snippets of code into CMS data before display (for example, into the body copy of an article). These snippets could be automatically generated glossaries, tables of contents, or ad units, placed mid-content.
Let's explore a general approach to getting such snippets into place.
eZ Publish allows you to develop custom REST APIs to transfer data among different platforms. This "getting started" guide will show you how to build and integrate a REST API into an eZ Publish installation by developing a custom module view that returns a JSON object.
Accelerated Mobile Pages (AMP) is Google's technology designed to create fast mobile pages. AMP allows developers to take advantage of fast rendering and improved performance. Here's a look at how it can be integrated into an existing eZ Publish website.
Your eZ site might be serving megabytes of unnecessary image data on every page load. Do your users and your SEO rankings a favour: strip image metadata and set a reasonable image quality setting for your image aliases!
To set up Apache Solr -- the search platform that powers eZ Publish (through the eZ Find extension) and eZ Platform -- as a service on CentOS 7, you have at least two options. We’ll cover both: a manually created service for the new systemd as well as the older SystemV -- via the service script included with eZ Find.
Working with CSS preprocessors like Sass or Less is much more fun than working with pure CSS. Here's a simple shell script to integrate Sass into your eZ Publish project.
In eZ Publish 5.x and eZ Platform, we use Assetic to manage a website's JavaScript and CSS. By default, if you make a change to your JS or CSS files, the resulting file name ends up the same. This has some undesirable cache implications that vary depending on whether you're using a reverse proxy or CDN, how you've set up browser caching rules, and more. Here's a simple way to version the file names, while still being able to cache the files as much as possible.
Not all of the burden of testing website code lies with automated tests, a QA team, or the end client. There is a lot you can do as a developer to test your own website code and make sure it is as good as possible before passing it over to someone else or an automated system. At Mugo, we've developed a simple and general checklist to follow, in order to make "self-testing" a key step in the QA workflow.