What is Verity, Anyway?
(February '03)
(Blasphemy) Being a relative computer dinosaur, I remember they days before Windows. Before DOS. Back.. back.. back to the time of punch cards, teletypes, and massive mainframes capable of little more than addition and subtraction. All the while, it has been my central thesis that computers are NOT difficult to use. No. See, it's the instructions. Incomprehensible. Inscrutable. Obfuscatory. And plain wrong. If the DOS manuals had been better, and if the hardware IRQ switches had been numerous and described plainly, then we wouldn't have Windows or programming bloat, and a 386sx would be plenty fast for most any application.
(Commentary) Anyway, a couple of months ago I decided to "learn the Verity thing." Previously, I'd sort of glanced at it in the ColdFusion manuals, but couldn't see their point in the 30 seconds I alotted them, so I moved on to something more urgent. But now I'd reserved a substantial block of time and resolved to figure it out "once and for all."
Quickly I determined that the CFCOLLECTION tag was the starting point, because it "allows you to create and administer Verity collections." Given my past experience with the English language, I assumed that by "creating a collection" I would be creating a big pile of stuff, in the same manner that a car collection has a big pile of cars. However, this is not what is meant. Instead, when you create a verity collection, you have simply created a repository for your stuff, similar to building a garage for a car collection that has no cars. But, if I have an empty garage, I don't open it for guests and say "this is my car collection." Instead, I say "This is my garage. Someday I hope to park cars in here."
So my point here is that CFCOLLECTION and related references to "collections" are misnomers. If the tag was CFGARAGE or CFREPOSITORY, then things would be far clearer. Once you realize that this is how things are, then the CFCOLLECTION useage becomes obvious.
Next we move on to the CFINDEX tag, where we find conflicting instructions. On the one hand, the tag is used to "index a collection," and on the other hand it is used to "populate a collection." The truth is that it is used to populate AND index a collection. See, the collection is empty until you populate it, and you certainly can't index it until there's some content to work with. (Why index an empty garage?) So why not give the tag a more descriptive name like CFPOPINDEX or CFLIBRARIAN or some such thing?
Next we move on to the CFSEARCH tag, which is actually named as it should be. A search is a search. Wow! Hooray! No confusion or incomprehensible mumbling! It's a miracle!
(Blasphemy) But I must be careful. I don't want to climb TOO high on my soap box. I don't want to suggest that Macromdia actually SHOULD rename any of their tags. If they do, it's a virtual certainty that backward- compatibility won't happen. Then I and a bunch of other programmers will be scrambling to rename all of our tags with the next CF release. Then all those other programmers will come gunning for me, screaming "It's that Jensen guy again! Tie him to a post and start the bonfire!"
But hey... somebody's gotta burn.