Mugo Web main content.

All Lit Up

On All Lit Up, readers of emerging, quirky, and unabashedly Canadian literature can find and purchase the best books this country’s independent publishers have to offer. The site currently features some 5900 editions from close to 3800 contributors across 58 publishers.

On All Lit Up, readers of emerging, quirky, and unabashedly Canadian literature can find and purchase the best books this country’s independent publishers have to offer. Curious readers can also browse through our exclusive behind-the-scenes content about the books, authors, and publishers whose work is available on our site.

Additionally, All Lit Up serves as a community bookstore for readers with no local option, ensuring every Canadian has access to the literature produced by Canadian independent publishers.

All Lit Up came about as a response from the members of the Literary Press Group to the changing ways readers discover, purchase, and read Canadian books. The site currently features some 5900 editions from close to 3800 contributors.

The Literary Press Group, which manages All Lit Up, is a non-profit membership association of 58 independently-owned and -operated Canadian literary publishers. Since 1975, the LPG has helped its member publishers sell, distribute, and market their books to booksellers, libraries, institutions, and now, through All Lit Up, directly to readers.

All Lit Up was our first opportunity to deploy some of the proprietary technology that had originally been developed by Mugo for, and then to take it further still.

The Mugo team took the chance to rebuild the extensive data import components we use on 49th Shelf to handle large volumes of ONIX data, an XML-based data standard used extensively to exchange product information within the book industry supply chain. And we deployed an entirely new user interface for All Lit Up, one that used a responsive design approach to help ensure that the site could be effectively delivered across a complete range of desktop and mobile devices.

The other notable thing about this deployment is our extensive integration with e-commerce and e-book fulfillment components provided by UK-based Stison. Mugo accomplished this integration in collaboration with Stison via the development of a system of highly effective web services that pass users and user info seamlessly between the eZ Publish and Stison components that have been combined for the All Lit Up site.

This was another ambitious project undertaken with great humour, imagination, and dedication by the Mugo team, and the result is nothing short of spectacular. All Lit Up now lists nearly 8,000 Canadian literary titles from more than 40 publishers. The site is an invaluable platform for those publishers to build direct relationships with readers, and as such is a major contribution to marketing and selling literary work in Canada.

- Craig Riggs, Project Lead, All Lit Up






Before All Lit Up, Canada did not have an online book retailer that specialized in literary works from Canadian-owned publishers. This was a major gap in the marketplace, and provided an opportunity for a nonprofit like the Literary Press Group (LPG) to create a storefront that would benefit the Canadian-owned sector directly by addressing a group of readers (primarily core literary readers) who are unserved or underserved in Canada’s current book retail market.

Mugo Web has been the development team for All Lit Up since conception and has supported LPG to make the most of this opportunity.

The site leverages major infrastructure components in Canadian publishing, including BookNet Canada's BiblioShare database and, and as such represents an important new collaboration between Canada's literary publishers and other key industry groups, including BookNet Canada, the Association of Canadian Publishers, and the Literary Press Group.

All Lit Up features rich title listings for nearly 8,000 literary titles, all from small and mid-sized presses in Canada. It also incorporates an active editorial program featuring original content and an active community on social media.


Data import component update/rebuild

One of the key features of the All Lit Up site is that it pulls all of its book metadata via an ONIX feed from BookNet Canada's Biblioshare services. In All Lit Up, this is a rewrite of the code that we have developed for The 49th Shelf.

In doing the rewrite, we have consolidated several years of experience into a new codebase that is faster and more maintainable. The problems associated with importing and making use of an ONIX feed are numerous and complex, including:

  • diverse editions
  • massively de-normalized data
  • corrupted markup
  • stripped-down HTML

As well, All Lit Up added some new requirements to the import process such as requiring that only one edition of any given title be shown on the site -- this being different from The 49th Shelf where we show every single title in all its ONIXy glory. All Lit Up also required the option to manually invoke the update process for specific titles, again different than what happens on The 49th Shelf where the 80,000 titles are continuously being polled for updates.

All Lit Up uses a third party platform for handling fulfillment and DRM delivery of eBooks: This meant that the import process had to provide support for interacting with the remote system so as to provide updates and raw ONIX.

The ONIX import component is a powerful and battle-tested piece of code that would be of use to any publisher considering using ONIX to drive a website and we are leveraging it to build a platform specifically for book publishers.


Responsive design

The All Lit Up site was developed with a focus on responsive design from the beginning. This approach allowed All Lit Up to target a much greater range of devices in a cost effective manner as well as making the site more accessible overall. The layout adjusts in a number of ways, re-flowing and re-sizing content to provide a better user experience for users on smaller devices, such as mobile phones or tablets. Some of these modifications include increased font and image sizes, larger UI controls, re-stacking vertically rather than horizontally as well as grouping and consolidating UI elements to afford additional space for content and images.

While the mobile/portable layouts differ drastically from that of the desktop, they do offer all of the rich features of the desktop experience, including carousels and various modals.

The responsive design approach seems to be well received as over 20% of visitors are currently browsing the site from a mobile device such as smart-phones or tablets.

A website that displays well on such devices is also more likely to be used 'on-the-go', for example to get suggestions while at a bookstore, or to check out an interesting book that has been reviewed in a magazine or paper, on the radio or during a podcast.


mobile view of site showing the book feature slider


mobile view of site showing the read more feature


view of the mobile site, showing the expand image feature




Shop integration and interaction

For the e-commerce integration Mugo provided an interface that allowed site visitors to add items to their shopping cart transparently without interrupting the shopping/browsing process. A data exchange service handles the communication between the All Lit Up site and the third party e-commerce solution behind the scenes, handling books being added to the cart and providing an updated cart count back to the site to display.

In addition to this service, the e-commerce platform also uses a range of other services to retrieve book and merchandise content updates on a regular basis as well as user validation, registration and authentication for the shop via All Lit Up.

These services allow users not yet registered on the site, to start shopping without having to go through a sign-up process first. User registration and login are both available as part of the checkout process after the user transitions to the shop to review their cart.

This separation of services allows for content management to handled via eZ Publish entirely, while cart and transaction handling are done by the e-commerce platform.


Web development

All Lit Up runs on the Enterprise Content Management System eZ Publish. eZ Publish's robust content model enables all book and supporting data to be stored and displayed. It also provides a flexible framework for working with the data in various ways, as well as connecting to external services for data exchange.

As eZ Publish experts, Mugo Web's web development for All Lit Up has included:

  • Scripts to manage pricing & availability data
  • Web-services to provide user validation & authentication for single sign-on and registration
  • Web-services to provide up to date book and merchandise data to the third party e-commerce platform
  • Responsive layout to enable better access to the site across a range of devices
  • onix2 extension(s); a re-write of Mugo's ONIX data handling and import extensions consolidating several years of experience working with ONIX data into a leaner, faster and more maintainable code base.
  • Customized data import and update scripts to consolidate large sets external book data feeds of different quality
  • Scripts to manage record updates in bulk, by section, or individually; and to update entire sets of information, or specific pieces of information such as purchase links
  • Content maintenance scripts that dynamically adjust behaviour depending on server load
  • Content modelling for categorization, site structure, and content attributes
  • Enhanced object relations to store not only the internal links but also information about the relationships themselves (such as contributor type)
  • Non-book content integration (e.g. Merchandise) featured on the site and sold through the same online shop (3rd party)
  • Templating for dynamic landing pages, extended search functionality (using the Solr-based eZ Find extension), open graph meta data, book pages, and more
  • Social media integration
  • Server setup



Read more

graphic of a computer monitor, with a list of documents and a magnifying glass

Adding data to your Solr index for Ibexa DXP 4.x

Sometimes, Apache Solr doesn’t index data in just the way you need for your custom search criteria. When you need to add data not indexed by default in the Solr search engine, the document field mapper should be created to fit your needs.

graphic of an image placeholder being resized to larger dimensions.

Custom filters for "scalemin" image variations in Ibexa 4.x

Having quality images on your site is important, and creating all the different versions of images for the various ways they will be used on your site is time-consuming and potentially frustrating. Letting browsers auto-render images to different sizes and shapes will cause pixelation and stretched images that don’t reflect well on your brand. The good news is that there are several tactics to automatically generate high-quality and specific versions of images to cover all the use cases.

illustrated computer with a large folding map on the screen

Making your custom embedded Google Maps more efficient with marker clusters

Google Maps is an almost ubiquitous tool and can be incredibly useful to integrate into your site. There’s a lot of versatility in its uses, but depending on how much you’re asking it to do, the results might not be optimal. When you have a huge dataset to display on Google Maps, the performance tends to slow down. When that data is spread across a large geographic area, the issue can be compounded. As you zoom out and more markers try to load, your map can slow to a crawl. What was a useful tool now becomes a point of frustration for visitors to your site. Let’s take a look at the technique that can be used to improve the performance of maps with large datasets.

doodle of a robot in front of a blackboard with a sketched graph showing growth above the google analytics logo.

Predictive analytics in GA4

One of the major selling points for Google Analytics 4, when it was released in late 2020, was the inclusion of predictive analytics metrics, a Big Data feature that until then had largely been the domain of enterprise analytics packages.

Now that Google has announced that GA4 will replace Universal Analytics for all users by July 1, 2023, it’s worth a second look at how GA4’s predictive analytics can impact your business.