CanDB Directory / File Structure
First, you absolutely do not need to understand any of the following in order to use CanDB. From the CanDB user interface there should be more than enough graphical widgets, buttons, menu items and dialog boxes to reference or manipulate any of your collection data. Still, the data is YOURS, not CanDB’s, and the following is provided for full disclosure. Additionally, if you ever want to manually copy any images, or even better, have some programming skills and want to generate some additional output from your data content, the files are fully available.
CanDB is released as a basic ZIP file, no installation
process, no Windows registry, no DLL’s or files littered all over your
computer. Everything is 100% fully contained under the directory of your
choosing. The following assumes you extracted the ZIP contents under the folder
C:\CanDB. If
you chose a different folder then adjust the following paths as necessary. All
files are either ASCII text, viewable in any text editor (such as WordPad,
NotePad, “vi”) or JPG viewable in any graphic editing product (such as Paint, Explorer,
Adobe Photoshop). There are zero proprietary file formats.
C:\CanDB
Sub-Folder |
Purpose |
PACKAGE.INF |
Created during CanDB packaging. Contains version information and build date |
Properties.txt |
Simple “key : value” properties, clear text ASCII file. CanDB stores user configuration and information such as screen sizes, last used location, previously selected project, brewery or item. |
icons |
Small JPG or PNG images CanDB uses for various tabs or window decorations |
help |
Contains all the runtime help topic HTML files. These are standard HTML and may be viewed in any web browser |
ImageMagick |
Public domain program to do image editing. While Java supports some image editing functions, nowhere near as powerful as ImageMagick. Please see https://imagemagick.org for details. CanDB calls this program. |
lang |
This was interesting development. A collector from Brazil asked if the GUI could support Portuguese. Some weeks later the answer was YES. Sadly, the collector never bothered to try the program. The lang directory contains crude English to other mapping text. If you are a non-English native speaker and would like to help correct the crude Google translations, I am willing to update. |
candb |
DIGITAL GOLD!!! This is where all your data and images are stored. This folder should be backed up regularly and ideally on both other computers and burned to USB or DVD or other external media. |
C:\CanDB\candb
Sub-Folder |
Purpose |
config |
Runtime saved configuration that is not specific to a given project. For example, saved screen sizes and locations, last used folder paths, last selected items in the navigator tree. All config files are simple ASCII text, “key : value” one per line |
html |
Generated HTML files which are not specific to a given project. At this writing the only HTML file written here will be the Cost/Price Report. All other files are related to specific project content. |
trash |
Where CanDB moves “deleted” content. This folder is only created if necessary |
projects |
DIGITAL GOLD!!! This is where all your data and images are stored. There will be one sub-folder under this directory for each defined project. For example, I have projects MBC and CSS, so CanDB created two sub-folders here named MBC and CSS. Substitute <PROJECT> for whatever your Project name. |
C:\CanDB\candb\projects\<PROJECT>
Sub-Folder |
Purpose |
Project.txt |
ASCII details file for the specific Project. For example, project name, type, authors, etc. This file must exist for a sub-folder under “projects” to actually be considered a CanDB Project. |
config |
Set of ASCII configuration files for the given Project. This folder will contain files such as the defined list of canning companies, can types, sizes, version info, etc. |
html |
All generated HTML web pages for the given Project. This has everything, including copyright, table of contents, cover page, version history, and sub-folders for both “browser” and “printable” specific HTML. |
images |
JPG files specific to the Project itself. There usually won’t be many pictures here since Brewery and Item pictures are stored in different sub-folders. |
<BREWERY> |
There will be 0..N sub-folders under a Project, one folder for each Brewery. The name of the folder will be the short brewery name with any special characters removed, including blanks. To manually remove a Brewery from CanDB, simply stop CanDB and remove an entire <BREWERY> sub-folder. There is no table of information, with content simply inferred from directory structure when CanDB is started. Substitute <BREWERY> for whatever your Brewery name. |
C:\CanDB\candb\projects\<PROJECT>\<BREWERY>
Sub-Folder |
Purpose |
Brewery.txt |
ASCII details file for the specific Brewery. For example, brewery name, location, year, address, etc. This file must exist for a sub-folder under a <PROJECT> folder to actually be considered a CanDB Brewery. |
Brewery.html |
Generated HTML web page linked from Table Of Contents. This is currently the only generated Brewery HTML. |
*.jpg |
JPG files specific to the Brewery itself. There usually won’t be many pictures here since Item pictures are stored in different sub-folders. |
<ITEM> |
There will be 0..N sub-folders under a Brewery, one folder for each Item. The name of the folder will be the short item name with any special characters removed, including blanks. To manually remove an Item from CanDB, simply stop CanDB and remove an entire <ITEM> sub-folder. There is no table of information, with content simply inferred from directory structure when CanDB is started. |
C:\CanDB\candb\projects\<PROJECT>\<BREWERY>\<ITEM>
Sub-Folder |
Purpose |
BeerCan.txt |
ASCII details file for a specific Item. For example, item name, type, cost, notes, etc. This file must exist for a sub-folder under a <ITEM> folder to actually be considered a CanDB Item. Note this file will still be named “BeerCan.txt” even for projects of other types. Simply an artifact of CanDB initially just for beer cans, and if started new from scratch would have been named Item.txt. For backwards compatibility, not worth trying to rename. |
*.html |
There are a number of HTML web pages generated for a given item. For example, the medium view, large view, and different full views. CanDB automatically provides numerous hyperlinks between these files. |
*.jpg |
These are the Item’s various copied/scaled images. Similar to the ASCII file named “BeerCan”, all images start with a leading “Can” prefix even if they are a tray, coaster, etc. For backwards compatibility, not worth trying to rename. For any given item there may be many scaled versions. For example, FF is “Full Face”, LF is “Large Face”, MF is “Medium Face”, and SF is “Small Face”. There are also files for Left, Back, Right and Top/Bottom LIDs. The generated HTML will reference the appropriate size JPG for display. For example, if viewing a pictorial where many images are used, likely the “small” versions will be used since they load so much faster and only a small subset of pixels will be viewable anyways. |
<VARn> |
There will be 0..N sub-folders under an Item name Var[n], one folder for each Variation of the Item. If there are no item variations there will be no Var[n] sub-folders. Under a given Var[n] folder will be files similar to Items, but the main ASCII details file for a specific variation is named Variation.txt. |