Plugins and Nests in Zenario

Plugins: Building Blocks of Dynamic Content

What Are Plugins?

Plugins are Zenario's modular components that bring functionality to your web pages.

They are smart building blocks that can be inserted into "slots" on page layouts to provide specific features — from contact forms and search boxes to news feeds and user dashboards.

They are re-usable, in the sense that a plugin can be used in one or many places, meaning that an edit to a plugin can have effect in multiple places.

How plugins work

Plugins can be placed in a on a layout, with the scope being appropriate to its use, for example:

  • Site-wide: Deploy plugins in header/footer areas across an entire website (for example, the main site logo)
  • On a layout: Place plugins that appear consistently across all pages using that layout (for example, showing a menu breadcrumb trail)
  • On a specific content item: Add plugins on individual pages, overriding layout plugin choices (for example, showing a form, or a list of documents).

There are various types of plugin:

  • Interactive plugins: Contact forms, search functionality, user login panels
  • Content display: News listings, Document lists, event calendars, image galleries
  • Integration plugins: Social media feeds, maps, video players
  • User management: Registration forms, member directories, dashboards.

Speed and caching

Plugins run quickly: although they often pull data from Zenario's content database, the output is cached, and then is available for other site visitors. 

Zenario's caching system is smart enough not to cache data that is personalised to specific users, among other things.

When the caching system cannot deliver an entire web page from the cache, the system falls back on delivering content from the cached plugins, thus providing a still rapid user experience.

Customisable

Plugins are highly customisable: most contain a number of options to adjust their behaviour, what they display, and styling.

They also use the Twig templating system, so where a built-in HTML output cannot be achieved, the Twig framework for that plugin can be modified (via the file system for security).

Nests: putting multiple plugins together

What are nests?

Nests are like plugins that contain plugins!

They allow you to organise multiple plugins into a single, cohesive unit. They're perfect for creating complex layouts or pages where several related pieces of functionality work together seamlessly.

Two types of nests

There are two kinds of nest, which have a very similar management interface, but which work in slightly different ways: regular nests; and Ajax nests.

Regular nests

These are the most commonly used type of nest, and are ideal for visitor experiences which demand:

  • A simple view of multiple plugins, where the size and settings of each of its plugins can be easily controlled
  • A multi-slide view, in which each slide contains multiple plugins, thus creating a richer experience; there can be tabs with text, each with an image, and with forward/back navigation; there can be animations when users switch between the slides
  • An accordion-type view, in which each open/close bar of an accordion has text, and when clicked by a user it reveals the plugin (i.e. text and image content) that it contains.

While the user experience can be quite different between these cases, the management interface is easy to use, with a drag-and-drop type experience, and it's easy to switch between one kind of experience and another.

The entire content of a regular nest is SEO-friendly. Because Zenario uses CSS to hide and show its content, it is visible to search engine bots.

This makes regular nests ideal for galleries of information, product showcases, lists of product features, and much more.

There are many display options for nests, and all can be adjusted and enhanced using CSS:

  • Tabs: Horizontally tabbed, or vertically tabbed interfaces
  • Buttons: Navigation buttons with customisable styling and images
  • Combined: Tabs with additional button controls

It is easy to control the design and appearance of a nest:

  • Grid system support with configurable column widths for each plugin
  • Mobile-optimised layouts
  • Automatic responsive breakpoints

Ajax Nests for more advanced interfaces

Ajax nests are designed for more demanding situations, and are particularly useful in secure areas of a password-protected extranet site.

They have similar viewing choices as regular nests — with simple single-slide views, and a multi-slide view — but instead of accordions they have an advanced Conductor view.

Content is loaded on demand (so they do not reveal hidden content to search engine bots), but this means that they can carry a considerable amount of personalised content and functionality.

When the Conductor view is enabled, extremely rich experiences can be developed. For example, on an extranet site, it is possible to have a "superuser" user who supervises a number of other users. The Ajax Nest then might show (for example)

  • lists of users in the superuser's organisation
  • they can click through to view an individual user's details
  • there can be a slide to edit a user, and delete a user
  • there can be a slide to create a user, assign a timer-based subscription, and so on.

Behind this can be a whole set user permissions that determine who can do what, and there is granular control down to permissions of individual slides, if required.