People have asked me why MySource Matrix doesn't support image libraries, a feature that almost every other CMS provides. Of course, MySource Matrix does support image libraries, but not in the traditional way that many people think.
Rather than providing an image library asset, MySource Matrix provides the basic tools you need to not only create highly customisable image libraries but almost any kind of data library you can think of.
Let's take look at the basic features of an image library and the tools MySource Matrix provides to implement them.
The first thing we need to do is store our images. MySource Matrix provides an Image asset that can be used to represent an image and Folder assets that can be used to store and categorise them. Folders can be arranged in a hierarchy to provide a highly customisable category system for the image library. Basically, you can categorise your images in the way most suited to you and you can create structure rather than using a flat list of categorisations.
MySource Matrix provides functionality to add new images through the administration interface, but also provides the Asset Builder page that allows registered users to create their own assets from the frontend. An Asset Builder page can be provided to allow users to upload their own images. The create locations feature of the Asset Builder allows you to present a list of your image categories to the user so they can select the appropriate place to store their image.
Alternatively, you can force all users to upload their images into a single drop-box so you can categorise them yourself.
While the Asset Builder page can automatically approve images that your users upload, you may wish to have the images created with an Under Construction status so you can approve them yourself. Workflow can even be applied to newly uploaded images if the approval process is more involved or needs to be configurable or dynamic.
Once an image has been uploaded or approved, you will probably want to generate a thumbnail of the image to show in lengthy image listings. An Image Variety can be created for each Image asset to represent the thumbnail. The Image Variety can be generated from the main image and scaled down to an appropriate size. Proportions can also be constrained.
Creating an Image Variety for each Image asset that is uploaded is tedious, so MySource Matrix provides a triggering system that allows you to automatically create the Image Variety whenever an Image asset is uploaded into your image library. The triggering system is also powerful enough to create different rules for different parts of your image library, allowing some parts of the library to have thumbnails and some to not, or even for some sections of the library to have different sized thumbnails than the rest of the library.
Of course, the most important part of an image library is the actual listing of the images. MySource Matrix provides a very powerful listing engine called the Asset Listing. Multiple Asset Listing pages can be created to provide different views of your image library. They can group your images by category or provide a flat list of images for browsing. Asset Listing pages can be used to show thumbnail views of the images or can show the larger versions. The list can even be sorted by the users of your image library.
Browsing an image library through listings is good, but searching is more powerful for larger libraries. MySource Matrix provides a Search Page that allows your users to search for images within your library. Searching based on category, name and caption is provided by the Image asset, but you can extend these fields using metadata schemas and provide more complex searches for your users. It's entirely up to you.
So there we have the tools required to build a basic image library. Notice that none of the tools I have mentioned in this article are specific to image libraries though. The exact same tools and concepts can be applied to any type of data library that you want to build. All you need is an asset in which to store the data.
For example, a download library could be developed using the same tools and concepts as the image library, but the download files would be stored in a File asset rather than the more specific Image asset. Similarly, you could create a simple document management system to store Microsoft Word and PDF documents, each of which can be indexed by the MySource Matrix searching system to provide a more powerful search.
The other really great thing about a tool-based system like MySource Matrix is that you get to decide what parts of the image library that you want to enable. If you don't want a category system, don't build one. If you don't want users to upload their own images, don't expose that feature. If you do want to provide those features, you have complete control over how they look and function. Each tool is highly configurable to allow you to decide how things should look. You are not locked into a standard template and you don't need to be technically skilled to configure the tools.
So basically, MySource Matrix doesn't need an image library asset. It provides all the tools required to both build simple and complex image libraries and makes these tools available to you for other types of data libraries that you may require.