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

outline of a person sitting at a computer typing. Text on screen reads Tales from a Developer: Troubleshooting Varnish

Tales from the Developer: Troubleshooting and fixing issues with Varnish

When things go seriously wrong in a well-built but complicated system, the cause is often a cascade of small failures that pile up. Not that we’re building rockets over here, but an excellent example is the ill-fated Ariane flight V88. Solving the issues behind such failures can be problematic. Many things contribute to the difficulty, from the extensive use of caching to the need to convincingly reconstruct the failure in retrospect. Debugging this kind of failure, especially under pressure, is hard. We consider the ability to do this to be the hallmark of a senior developer. Even so, it is essential to have a team of experts working together to troubleshoot issues and find solutions promptly to help keep your site running.

Google Analytics logo beside a bar graph with a magnifying glass

Cross-domain tracking in Google Analytics: Excluding domains in GA4 and GTM

If you manage one of the millions of websites affected by the Google-mandated migration from Universal Analytics (UA) to Google Analytics 4 (GA4), you might be following the best practice of simultaneously running UA and GA4 scripts until you’re ready to adopt GA4 fully. One of the analytics features that needs special attention is cross-domain tracking.

A pair of quality boots. Slightly worn, but sturdy.

Investing in a great publishing website pays off in the long run

A great deal is only “great” if it ends up paying off in the long run.

This truth is perhaps best expressed by author Terry Pratchett in his “Boots theory” of economic value, as laid out in his iconic Discworld novel series:

screenshot of the P20Asys interface

New TURI P2OASys site continues course for improved UX, performance

The Toxics Use Research Institute (TURI) at the University of Massachusetts Lowell wanted to add memos to records in its Pollution Prevention Options Analysis System (P2OASys), a database for evaluating and comparing the safety of chemistries. TURI could have elected to simply add a field to its database structure, but it saw a bigger opportunity to reinvent a key system that had not been updated for more than five years.

two gears, one with salesforce logo, one with ibexa logo, and arrows showing the movement between the two

Integrating Ibexa DXP with Salesforce for powerful marketing automation

Business data is inevitably distributed across multiple systems. However, we know that customers are not prepared to deal with that kind of complexity, especially when they see little relevance or value to the task at hand. A typical location for this kind of friction is in the integration of the Content Management System (CMS) and the Customer Relationship Management system (CRM). Integrating the two can help provide a seamless experience for the customer and increase the overall usability of your website.

illustrated people view a giant computer and point to the webpage displayed on its screen

Reasons why your business needs a new website

Websites are not static things; they are a dynamic part of your company and the actual storefront for all of your online customers. Most companies acknowledge the importance of upkeep on their brick and mortar branches, websites often aren’t given the same consideration. Your website should constantly evolve to keep up with current standards, trends, and the functionality your clients deserve. We often don’t realize what opportunities we are missing and what we are leaving on the table by relegating website maintenance to the bottom of the list.

Screenshot of library calendar listing

Send automated email reminders to attendees with Mugo Web’s library event notification feature

Promoting events and managing attendee registrations is one of the key ways a modern website supports a public library's educational mission. Here at Mugo Web, we’ve developed a comprehensive Custom Event Registration System that lets library staff schedule recurring event series, create waiting lists for popular programs, and even manage sign-ups for multiple children from one family.