We have reviewed many of the comments that forum members have posted since we released the database Checker utility. Sonjaya Tandon, of the Agenda 2.0 development team, analyzed the many examples and is preparing a series of forum notes that will deal with the key subjects that your notes address. Sonjaya will have his own account here soon and will post directly. In the meantime, here is the first:
"I've been following the messages on Agenda 2.02 and the checker."
"Many of you have been concerned about the number of files that the Checker reports as damaged. There are different types of damage that can occur. I think of it in three levels:"
"First, an Agenda 2.0 file is composed of objects (items, categories, etc.) and links (assigments, sort info, etc.). An Agenda 2.0 file is damaged when one of these objects or links contains incorrect information."
"In some cases, the fact that one of these objects or links is bad doesn't affect Agenda's operation. For example, (prior to the latest update) under certain conditions, a change in the database would remove the need for a link (or links) but the link would not be discarded. That this "vestigial" link remained in the database was not a problem since no other object or link in the database had any knowledge of it. Checker will find these vestigial links, and will declare your file as damaged when it does. Checker with the /f parameter will locate and discard these links. This is a kind of damage that I refer to as "harmless" damage."
"On the opposite end of the spectrum is "blatant" damage. The bad object or link is not inert, and this causes Agenda 2.0 to set the DMGD! flag."
"Finally, some kinds of bad objects or links can cause corruption to other objects or links as the program runs. A good example of this was the Compress bug. I refer to this as "devious" damage because it quietly sits in your file until some operation trips over it, and all of a sudden you find yourself wishing "devious" things on Agenda developers."
"With this latest update and Checker we have addressed all the "harmless", "blatant", and "devious" damage that we are aware of. Checker, however, doesn't distinguish among the three kinds of damage. All it knows is that some objects or links have the wrong information in it. If it knows how to fix the object or link, it will, if the /f option is specified. Otherwise it will just tell you to run DB2STF."
"Hope this information helps. The next note will explain why Checker complains about so many files, including 2.0 Planner."