Version 2 of Image Class supports interface customization through 6 methods. Of these, only the Collection Database Customizations are required. Unlike version 1 of the Image Class, many collections specific customizations may be done in the colldb, and without creating collections specific templates. It is anticipated that this will be a great time saver.
The methods above may be used independently. For example, you can customize the CSS for an individual collection without creating custom template files, etc.
Cross collection interface files are by default located in the following directories. The location may be modified in the /DLXSROOT/cgi/i/image/imageclass.cfg file.
Collection specific interface files may be created at /DLXSROOT/web/c/coll.
In general, if a collection specific interface file is not found by the middleware, the cross collection interface file is used.
The collection database provides a great way to implement a collection in a customized fashion without much work. The most essential collection specific interface variables are customizable in the colldb. A few examples are:
There is only one colldb, located at /DLXSROOT/obj/i/image/lib/db/colldb. Some of the colldb columns have cross collection counterparts in the /DLXSROOT/cgi/i/image/imageclass.cfg file. See the colldb documentation for more info.
This is the most basic customization that may be made. Modify the $gBanner global variable in the /DLXSROOT/cgi/i/image/imageclass.cfg file to change the banner text or graphic for the cross collection templates. Modify the banner column of the colldb for collection specific customization.
Modify the cross collection CSS file directly, or for collection specific customization create /DLXSROOT/web/c/coll/css and copy an existing CSS to this location and modify it.
Modify the cross collection template (.tpl) files directly, or for collection specific customization create /DLXSROOT/web/c/coll and copy an existing template (or templates) to this location and modify.
Naming conventions for templates are configured in a global variable in the /DLXSROOT/cgi/i/image/imageclass.cfg file. The variable is %gPagesHandled.
Additional functionality may be added to Image Class with the ALLPURPOSE processing instruction (PI). The ALLPURPOSE PI may be inserted anywhere within any of the standard templates. Any desired parameters may be passed in by the PI. The actual functionality must be coded into the /DLXSROOT/cgi/i/image/ICLocalUtils.pm Perl module. The module is distributed with the default "allpurpose" subroutine, which initially does nothing. The "allpurpose" subroutine may be modified to perform certain tasks depending on the parameters passed from the template via the PI.
All essential middleware variables are accessible by the "allpurpose" subroutine. See the ICLocalUtils.pm for details.
Interface files for portfolios are located in /DLXSROOT/web/i/image/all and begin "bb", e.g. "bbthumbnail.tpl".
Currently it is not possible to have collection specific portfolio inteface files. However, the basic color scheme for the portfolio templates may be specified in the cross collection CSS files.