Zenario 9.3

Zenario 9.3 is a significant release, with improvements in many areas of the content management system.

Improved speed efficiency: JavaScript libraries

In Organizer, Configuration->Site settings, there is now an admin box listing all JavaScript libraries that are included with Zenario, and this gives the administrator better control over what JavaScript libraries are included.

Zenario generally tries to combine JavaScript libraries into a single file, so that clients download the file once and for all, and not the libraries in lots of smaller files. With the new controls the administrator can, depending on the library, choose to:

  • always include the JavaScript library in the single combined file
  • omit certain libraries when sure they are not needed on the site
  • automatically include certain libraries on a page-by-page basis when they are just used on certain parts of a site.

This allows Zenario sites to run much faster than before, with much-improved PageSpeed scores.

pagespeed score 95

Note to designers and developers when upgrading

When migrating from 9.2 or earlier versions, if a site has:

  • custom modules (in zenario_custom), or
  • custom frameworks for any module (again in zenario_custom)
  • AND uses colorbox or other JS libraries that are now included when needed ("auto" setting)

then visitor-facing interfaces may break. (They may work in admin mode, but not in visitor mode).

You will need to adjust the custom framework, or the module code, to make the relevant JS library be included. Alternatively go into the "JavaScript libraries" site setting and ensure that the required libraries are On.

 

Image optimisation and credits

We have updated the Meta Data module (zenario_meta_data) to support retina-quality images, the faster WebP image format, and the crop and zoom feature.

Imagine you have an article like this:

meta-data-crop-zoom-santa-maria-1.png

Adjust the image zoom like this:

meta-data-crop-zoom-santa-maria-2.png

The result is like this:

meta-data-crop-zoom-santa-maria-3.png

"Pinning" articles for a set period of time

Zenario already supports pinning content items, such as news or blog articles. When an item is "pinned", it automatically comes to the top of a list of items in a content summary list, even if it doesn't have the most recent release date.

We have now added support for pinning an item temporarily, i.e. until a certain date, or for a number of days or weeks. After that time, the item will be unpinned.

For example, if you have news about something that's important until June 1st, but less important afterwards, you can say it should be pinned until that time.

Here is the new option when editing a content item:

Pinning-for-a-set-period-of-time.png

We have introduced a system of image credits, so that whenever storing an image on Zenario for which you wish to credit a photographer, third party library or other supplier, you can now easily enter it.

To access image credits, just go to the image library in Organizer (or the MIC images library), and edit an image, and the "Image credit" field will be available.

This can be made to display on the front end of the site, in Banner plugins, and in Multiple Image Container plugins.

image-credit-come-to-catalonia.png

Here it is in a gallery (Multiple Image Container, MIC plugin):

gallery-with-image-credit-on-enlarged-image.png

We have made the creation of a WebP image on all WebP-enabled plugins optional, but recommended.

There is better checking of image formats and naming, so that only image with a correct file extension can be uploaded.

Cookie management

Zenario has a new built-in cookie management system. When a site's setting for cookies is set to "explicit consent", then a visitor to the site, upon first arrival, will see a new message on the screen, inviting them to either accept all cookies or manage their cookie preferences. 

new cookie message

If they click the latter button, they will see a further box in which they can determine which types of cookie to accept or reject.

We've improved the Raw Twig Snippet and Raw HTML Snippet plugins so that they have better cookie consent options too. If for example you have a snippet that is going to include some code that may issue cookies (e.g. an iframe that loads a 3rd party site), then you can have Zenario withhold it until the visitor has decided on what cookies to accept.

Note that the options only appear when the site setting for cookies is set to use Explicit or Implicit cookie consent.

Here is the new option in a Raw HTML Snippet plugin:

Raw HTML showing cookie options

When editing the settings for a Layout, the same type of settings are now available, thus to control what cookies may be issued by any content item using a given layout.

The Cookie Consent Status module (zenario_cookie_consent_status), whose plugin can be placed on a page to show visitors what cookies they've accepted, has been removed, as it is now replaced with the system described above.

Security

We realise there has been an annoyance for administrators for whom their local IP address changes frequently. This can occur in locations such cafes, corporate networks, and users of Safari with the Apple Private Relay system.

Zenario now ignores changes of IP address after an administrator has logged in, provided the administrator is using https.

When an administrator changes their password, it now triggers a confirmation email of the change.

There is improved handling of the password-suggest feature in Chrome, when administrators enter or change a password.

Finally, we have reduced the number of available functions that can be called by Twig snippet plugins, so as to make the function set more useful but with less system information available.

New icon to show where News or Blog items be created

Zenario lets you determine that News or Blog items (or indeed Events or other content types) should ordinarily be created under a particular part of the menu.

We now have a bright green icon to clearly show where such menu nodes are in the navigation tree, like this:

Green icon to suggest news created here

Events calendar

The Event Calendar plugin, based on the Event Content Type, can now be made to display a year starting at any chosen month. So for example, for an academic year, it can now be made to display events with September at the start of the year, and run until August of the next year.

Videos Manager module

The Videos Manager module now has the ability to fetch and store a still image from YouTube.

This makes it easier and quicker to build up a local library of videos that are listed or categorised within Zenario but are hosted on YouTube or Vimeo.

We have also improved category support on the front end when using the Videos FEA plugin. It now has the ability to search by ALL categories as well as ANY of a given list.

Multiple Image Container module

The Multiple Image Container (MIC) module can make plugins which display a gallery of images. We have improved the module so as to support WebP images, for much faster speed on large image galleries.

Forms data clean up

Zenario now has better methods of cleaning up form data, from "save and complete later" forms that were never completed.

Bug fixes

We fixed bugs:

  • When duplicating a content item, or starting a translation, the menu node text didn't get populated with the original
  • When creating a new content item, the wrong menu section (e.g. "Footer") could be pre-populated in error
  • When sending a test of an email template, a fixed attachment that is present on the template was not being sent; we also now show the template ID in the test mail
  • It was not possible to allow an OG (open graph) image to be a JPEG, now allowed
  • Spare aliases were ignoring the language code in a URL if specified; they now honour it and try to redirect to the translation in the language of the given code
  • Advanced Search could return no results when the search term included a MySQL stop-word; now results are always returned
  • Date pickers on content items are no longer buggy or allow styles to bleed in from the website skin
  • Responsive push-pull menu plugin improved, and no longer shows links to unpublished drafts
  • Not-found JavaScript errors occurred in admin mode, referring to zxcvbn.js
  • In the document content items panel, the panel of duplicates was not reliably showing where more than content item uses the same underlying file
  • When editing roles or groups of a user/contact, the last modified date and administrator name are now recorded on the user/contact record.

Other improvements

All tables are now updated to use utf8mb4 for full extended character set support.

We improved the date picker, when setting the release date of a content item.

When editing categories (in content items), Zenario now records who (which admin) created the category and when, and who last edited the category and when. This is displayed when editing a category.

We improved the Organizer panel for Roles to show better information, and roles/locations are now editable within the main float admin box for editing a user/contact.

For sites using User Timers to manage subscriptions or memberships, it is now possible to make a smart group that automatically contains users who have a current or expired timer(s).

We removed the Google Geocode API key field in site settings, as this was redundant (you can just specify the main Google Maps API key).

When uploading images, Zenario now has better checking that image name extensions match the image type.

The responsive push-pull menu plugin can now have a fixed link to the contact page of a site. It also now correctly shows links to menu nodes that don't have content items (but have child nodes linking to content items).

On large sites (e.g. 10,000 content items+), when duplicating a content item, there was a slow query which caused a long pause on the interface. We improved the efficiency of doing this.

We implemented WebP image handling for location listing plugin.

When Zenario encounters a PHP coding problem, the error email now makes it more specific as to whether it's a PHP Error, Warning or Notice.

In Organizer in the spare domains panel, there is now better info warning when spare domains won't work because no primary domain has been set. (Zenario can redirect all requests to a given domain or subdomain to a specific content item, but it can only do this when a primary domain has been set.)

RSS feed from CSLs is improved and now adds the ability to include language and author.

Quick-create of document content items now has hyphens to replace spaces and special characters, rather than underscores.

We have improved the efficiency of creating a new content item on large sites (e.g. 10,000 pages or more).

Categories (for content items) now record who created or last edited the category, and the date.