Custom HTML Pages

CanDB HTML generation automatically produces numerous HTML web pages, with pictorials grouped by brewery, alphabetically, version history, want lists, pages for individual cans, etc. While useful for most collection viewing, CanDB version 2.0 introduces the ability to define three completely custom generated pages. Under the Edit menu is the ability to define three different sets of filter criteria, producing lists of project items which match the given user defined rules.

For example, I collect the different variations of Lucky Lager where I produce a pictorial where Short Name contains “Lucky”, and Short Text contains “Aged For Flavor”, using the following configuration:

:

The filter editing dialog is comprised of three optional criteria “logically AND’ed” together, meaning all criteria in the group must match. If your filter is very complex, you can AND or OR more than one group together. If your filter is more complex than what the three groups AND/OR together then you have too complicated of a collection or need to read a bit about “Boolean algebra”.

For a given criteria grouping the “Property” is a selection combo box listing all CanDB properties. The Value is what you want to perform some operation regarding the property’s value. The different operations are listed below:

Operation

Description

Equals

Compares Property against the specified Value. If there is an EXACT match “true” will be returned. This comparison is case insensitive, so “ABC” will match “abc”. However, this is an equals match, so “ABC” will not match “ABCD”. Only use this if you are looking for an exact string value. Example: Size Equals 12

Contains

Returns “true” if the user entered value is “contained” within the property value. For example, my Short Name for Lucky Lager includes the UL/LL/LR/UR code for the “bug”. If I used Equals I would find no exact matches. However, if I query for Short Name Contains Lucky, I find what I am looking for. Example:  Short Name Contains Lucky

Matches

If you want absolute comparison power and are familiar with Regular Expressions this is for you. If you want to learn see http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html. Example: ^[A-C].*$ will match (return “true”) for all items that start with the letters A, B, or C.

Greater Than

Compares two values for “greater than”. Example: Cost Greater Than 25 will match true for all items that have a Cost greater than $25.00. This in itself is an interesting query, and the results might be surprising.

Less Than

Opposite of the above, comparing “less than”. Example: Date Less Than 1970

 

The “NOT” column, if checked, simply negates the given property/value match. For example: Name Not Contains ABC.

As for the remaining controls, hopefully they are fairly easy to understand:

            Page Name: Text to display at the top of the generated HTML

            Images Per Row: How many pictures per given row

            Rows Per Page: How many rows of pictures per logical page

 

            Image Height: Which image size to use for a given picture

 

            Optional Display Values: These are user specified values to display under a given picture.

            There may be up to three rows of text values under each picture