eZ Community » Blogs » Peter Keung

Member since: 15/08/2007

Blog entries
  • Currently 3 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

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

Monday 14 November 2016 06:51

by Peter Keung  | 0 comments

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.

  • Currently 3 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Layout management in book publisher website platform ReaderBound

Friday 04 March 2016 04:28

by Peter Keung  | 0 comments

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.

  • Currently 3 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

First draft preview in eZ Publish 5

Tuesday 15 December 2015 05:15

by Peter Keung  | 0 comments

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!

  • Currently 3 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Sorting search results by date-based relevance in eZ Find

Thursday 19 November 2015 06:57

by Peter Keung  | 3 comments

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?

  • Currently 5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

JavaScript and CSS caching best practices with ezjscore and eZ Publish

Tuesday 20 October 2015 05:29

by Peter Keung  | 0 comments

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.

  • Currently 3 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Multi-language sites in eZ Publish: requirements analysis

Tuesday 29 September 2015 02:55

by Peter Keung  | 0 comments

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.

  • Currently 3 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Built-in Varnish Cache "purge-on-publish" support in eZ Publish

Friday 22 May 2015 07:28

by Peter Keung  | 1 comment

eZ Publish 5 comes with built-in Varnish Cache support. Essentially this means that when content is published in the eZ Publish back-end, it notifies Varnish so that the Varnish cache is cleared. This feature is often called "purge-on-publish" and makes it so that you can cache your pages for a very long time, but that edits refresh the cache and thus appear immediately. To get this native support, you just have to use the "new stack" in eZ Publish. However, even if your legacy site is not ready to be fully upgraded to the new stack and you are running eZ Publish 5 in "legacy mode", you can take advantage of this native support.

  • Currently 5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

"Sort by language" filter in eZ Publish

Saturday 22 November 2014 01:10

by Peter Keung  | 0 comments

Multi-language sites often have a set of base rules and then edge cases for different parts of the site. For example, on the French version of the site you might only want to show French content on most pages. For the news section, you might want to show press release results from all languages sorted in reverse chronological order, regardless of language. But for the case study section specifically, you might want to show all French versions first, following by case studies in any other language. For the most part, eZ Publish supports these features out of the box. In this post, we'll show you how to extend eZ Publish to sort results by language.

  • Currently 5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Enterprise login features in eZ Publish: sub-accounts, log in by IP address or referring URL

Wednesday 10 September 2014 05:18

by Peter Keung  | 0 comments

If you have a membership-based website, the standard model is to provide users access via a username and password. Enterprise customers often require more advanced validation models. Here, we sketch out use cases around validating by IP address or referring URL; and as a bonus topic: multi-seat accounts. We've implemented these advanced features for a couple of sites and they work seamlessly.

  • Currently 5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

ezurl() links in eZ Publish 5

Wednesday 20 August 2014 05:24

by Peter Keung  | 0 comments

In eZ Publish 4 / legacy, formatting link URLs is handled by the well-known ezurl() template operator. This is especially useful when you have multiple siteaccesses and you use URL-based matching. In eZ Publish 5, there is no single ezurl() equivalent; instead, there are several options depending on the type of link you want to display.

You must be logged in to track the activity of this blog!

Proudly Developed with from