[Zope] is DTML a www standard?

Alan Capesius alanc@tech-world.com
Fri, 6 Jul 2001 10:06:46 -0500


> -----Original Message-----
> 2) "Is DTML a web standard?"
>    Answer: This question is somewhat misleading.  DTML is used on the
>    Zope server to dynamically render HTML back to the client.  Someone
>    viewing a Zope webpage in whatever web browser they use will NEVER
>    see any of your DTML, and the browser doesn't need to know anything
>


This is a very good point.
Cold Fusion uses proprietary tags too, but no one expects them to be a web
standard.

I'd think that the confusion lies in the use of the DTML moniker. It's so
similar to HTML that people assume it is a web standard, I know I was
looking for other standards references and sources when I started with Zope.

I was referred to Zope by a colleague who was learning Python. But, the
majority (99.9%) of my Zope work is done in DTML. I have NO external methods
on my site and no desire to spend time learning Python syntax. I have enough
to do with my VBScript, JavaScript, C++ work. DTML allows me to do rapid
web-to-SQL work without the convoluted and MS-centric use of the IIS APIs
and ActiveX and is well worth the investment.

Zope and DTML syntax and usage is way too tied to python syntax to make a
good standard anyway. I believe that the syntax derived from python coding
is a fundamental limiting factor for Zope growth. A friendlier and more
complete DTML tag structure would accellerate Zope aceptance by those that
do not come from a Python background. Since Zope grew from Python and is
primarily supported by Python pundits, I wouldn't expect to see much along
these lines.

Documentation out of the box is improving, but many products are documented
with a "look at the code" mentality. This is an "old boys club" mindset that
says that once I know something, you should know it too.

As with any other system, designing it for ease of use it what makes it
popular. Zope development efforts seem to focus on the Python technology
rather than Zope itself. What I have seen of Cold Fusion (admittedly
limited) focuses on what you can do with Cold Fusion, not what language Cold
Fusion is written in.

It would seem to me that a good direction for Zope to move would be to do a
few things that would significantly enhance development time:

1) Create an expand DTML tag library offering functions common to most
langauges and comparable to competitive systems. Remove the reliance on
python syntax with basic functions like strlen() and substring()

2) Simplify the SQL interface of DTML methods by creating a new method type
that integrates ZSQL Method and a DTML Method into a single entity for doing
simple single query-and-report operations.

3) Shift the focus of Zope promotion and development to be Zope-centric with
less reliance on Python-centric solutions. This would help to remove the
barrier to use created by the need to learn Python coding. The result would
be the opening of Zope to a non-programmer community (like alot of the Cold
Fusion community) and a reduction in resistance to Zope development by
management who is hesistant to bring yet another programming language into
their shop (a concept I've seen often in this list). Support for external
methods would still be maintained.

4) Redesign the Zope.org site to focus on how to use Zope to get things
done. The current focus (on the home page) is a management overview of the
Zope Concept that offers little real application content. The Learn Zope and
Introduction and Tours offer zero information to the person who is actually
going to use the product. The "Hello World" example is about it, expanding
that concept a hundredfold would do the trick. Kind of a Do this to get this
example library.

5) Expand the focus to embrace the Win32 market. Now, admittedly I am biased
here, as a Win32 programmer. But the userbase is there and Zope easily blows
away any learning curve Microsoft would require to learn their products. It
would seem that converting the enemy's minions would be better than fighting
them. "Zope: converting the enemy's minions" I like that :)

Oh, and P.S...

6) Personal pet peeve - Improve handling of whitespace in DTML docs to
reduce page sizes. Basic starting point: suppress all blank areas output
between rendered DTML tags when no content is present.

- Alan
---------------------------------------
Zope tips and tricks site
http://twsite.bizland.com/zopetips.htm