Jeff Bauer wrote:
Now that Andrew Kuchling has open pandora's box by describing in explicit detail how to "roll your own" dtml tags,
BTW Andrew, thanks for getting started on this. I owe you a detailed review. It's on my to-do list!
it might be a good time to discuss how to protect "tagspace". Otherwise, Digital Creations may produce future dtml tags that will stomp user-defined tag names, if this becomes a popular pastime. A simple convention for tag names prefixed by <whatever> could be reserved for user designation.
This kind of convention would also be a documentation aid in reading .dtml files.
Comments from the Z guys?
Here are a number of somewhat random comments: - I don't think that there will be *so* many new tags written that there is a large danger of a conflict. There *is* some danger, so your point is certainly worth raising. - New tags need not be put in the global DTML tag-space. There are basically two ways to register tags: - Add an entry to DocumentTemplate.String.commands (Andrew described this) - Subclass String (or some other DTML class like HTML) and provide a commands registry that combines the base commands with your custom ones. The second approach doesn't affect the global tag registry. We used the second approach in Z SQL Methods (formerly known as Aqueduct). SQL methods use a subclass of DocumentTemplate.HTML to render SQL. This subclass adds several tags that are specifically designed to make generation of SQL simpler. See http://www.digicool.com/site/Aqueduct/Aqueduct.html#pgfId=930928 - It's likely that people will come up with cool new tags that should be made globally available. If you feel especially paranoid, then it wouldn't hurt to use a naming convention: <!--#jim.var ......--> - There may someday be a way to define new tags and make them available through acquisition. For example, maybe someday you'll be able to define a new tag object and insert it in a folder. Templates used in the folder or sub-folders would be able to use the new tag. This is just speculation. Jim -- Jim Fulton mailto:jim@digicool.com Technical Director (888) 344-4332 Python Powered! Digital Creations http://www.digicool.com http://www.python.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.