In order for WebLord to determine if a page has changed or not, it maintains a database of page signatures. When the signature of a page being built turns out to be the same as that of the previous one, then WebLord knows not to write the page out again, suppressing the output and post-exec operations for the page.
Considering that WebLord can derive page contents from external objects, even network resources, user-input, etc. it is infeasible to rely on date/time stamps of files or such resources. Similarly, the date of the site description file may simply indicate that one object has changed, but this says nothing about ALL pages.
The solution is to maintain a "signature" of your pages to compare to each newly built page. If the signature for a page is the same as the earlier version, then the page contents have not changed and there is no need to update the page.
The Page Signature Database maintains an MD5 Digest for each page's output file. You can remove (or reorder) individual lines from this database file (it is a simple text file, each line often less than 80 characters in length and and easy to edit) if the need arises to "prune" old files away.
The name of the Page Signature Database file can be specified with the pagesigdb command line argument. If you do not specify a file, WebLord will look for a file named wl-pgsig.db in...
- the current working directory,
- the weblord directory in your home directory (~/weblord/)
- the /opt/share/weblord/ directory, which may or may not be available or even writeable.
Note: If you use time-sensitive information on your pages, such as a "this page last modified on..." notice, then you are effectively changing the signature of your pages whenever the date changes. Please keep this in mind when relying on the Page Signature Database to prevent unnecessary page updates.
|