Showing Massive Galleries

A unique capability of Omni Gallery is the ability to show absolutely massive image galleries.

Suppose you have a collection of hundreds, thousands or even tens of thousands of images (like I have for my underwater photography). Conventional image selectors, filesets or folders would take months or even years to configure. You may end up writing a custom importer script to pull such a collection of images into the Concrete CMS file manager. Then when it comes to display, the gallery or slider would choke and timeout on the sheer volume of data long before it got to actually rendering the page. 

Omni Gallery provides image selectors specially designed for massive filesets or folders with the infinite dynamic selectors. These only retrieve one page of images at a time, so avoiding the first bottleneck. If you have all your images in a file system directory, you can simply upload the directory structure with subdirectories to your web space and the directory crawler image selector takes care of the rest. If you have captions in similarly named text files,  directory crawler can pull those in as image descriptions.

Pagination

For displaying massive collections of images, most display widgets support pagination. You set a page size and the display widget displays that number of images. A paginator similar to the Concrete CMS page list paginator then allows the containing Concrete CMS page to step forward (or backward) through the massive list.

Infinite Lists

Most of the gallery display widgets also support infinite lists, where rather than paginating through a list, the existing page is extended dynamically using a more button. Such infinite lists can work well until the size of the growing web page exceeds the capacity of the browser/device, so they are not really infinite.

Directory Crawler and Thumbnail Grid

The example above uses the Directory Crawler image source to pull and reference images from my jlunderwater.co.uk site. This is hosted on the same server as c5magic.co.uk, so the directory is directly crawlable from the web server.

If both sites were https://, then Directory Crawler could use the image URLs directly from jlunderwater.co.uk (as this example used to do). However, browser security now prevents an https:// site from including content sourced from an http:// site. Hence it was necessary to create a symbolic link on the server to make the images available within the c5magic webspace. That won't matter to general uses as you would have the image files already in the webspace.

The image captions are held in text files that follow the same numbering as images, which directory crawler is configured to pull in as image descriptions. Rather than show everything, the image selector is configured to start at one subdirectory.That is still over 1000 images. If you want to see the rest, go to jlunderwater.co.uk​​​​​​.

As on jlunderwater.co.uk, the thumbnail grid display is used, but this time with a maximum of 3 images per row, pagination of just 6 images at a time and image borders and spacing ​​​​​changed. For fun, the description overlays are configured to spiral out and I have messed with the colours. The lightbox popup remains the similar, but could just as easily have been changed to a new layout or colour scheme. When viewing the lightbox, it is configured to continue through pagination.

If you have a massive set of images already imported into the Concrete CMS file manager, a similar gallery can be configured using the fileset infinite dynamic or folder infinite dynamic image selectors.

A small limitation

With this kind of massive gallery, its probably not a good idea to show multiple galleries on one page with pagination. The pagination in the url could easily become confused. If you need to do so, in the advanced tab select to include the block ID with pagination. Doing that will connect the paginator to the omni gallery block. In this case the most recently paginated block will show the current page and any other blocks will show the first page.