A RoboHelp CPD file dissected
The .CPD file that comes with each RoboHelp HTML project is an item of wonder. The problem is a lot of users wonder what it is. It is a file that for the most part sits in the background and is rarely, if ever, touched. Even if users do venture near it, it is normally to delete / rename it so it can be recreated. Such is the mystic surrounding it that recreating the file is the nearest most RoboHelp users will get to understanding it.
What is the .CPD file ?
The file is a Microsoft Access database (in MS Access 2002/2003 format) that is created as part of each RoboHelp project. The file’s name is taken from the project’s name and is required regardless of the output types being produced. For example if I create a RoboHelp project called “RoboColumn”, the file name would be “RoboColumn.cpd”. Should the file not be present when the project is opened, it is created, hence the ability to recreate it by deleting / renaming it. The CPD file is sometimes referred to as a configuration file. This is slightly misleading as it should not be used to configure the project, but it does contain cached information about the makeup (i.e. content) of your project.
What does it contain ?
As it is a database file, it contains a number of tables. Take a look at the following list of tables and see if you can spot any similarities with RoboHelp project elements:
As you can see, you should be able to ascertain the type of information contained in each project’s .CPD file and therefore when it gets updated. There are 54 tables in the .CPD file in total. Take the following example of the CPD file of a brand new RoboHelp project with no additional content added that has been opened in Microsoft Access 2007. Four of its tables have been opened displaying their content.
Now I know what it contains, what can I do with it ?
The simplest answer is, “Nothing!” Under normal circumstances you should never have to touch your project’s CPD file. It just goes on being updated as and when the need arises and you are none the wiser. Very occasionally you may be advised to take what may appear to be a drastic course of action; deleting or renaming the file. This is normally advised following a forum post where the user:
- Is having trouble opening a project.
- Noticed a marked increase in the file’s size.
On occasions, recreating the .CPD file can solve issues opening a project. Additionally the .CPD file, like any cached database file, can suffer from file bloat. Recreating the .CPD file normally removes any bloat returning the file size to normal. As a guide, any .CPD file in excess of 2MB may suggest a sign of file bloat. To help prevent this, RoboHelp versions 8 and after has an option to create the .CPD file each time a project is opened.
Should I delete or rename it ?
If you need to recreate your CPD file, the safest action is to rename it (e.g. “RoboColumnOLD.cpd”). In this instance RoboHelp spots the “RoboColumn.cpd” file is missing and recreated it when the project is opened. Renaming also means you have a backup of the original file should you need it.