[Zope] Barriers to Zope popularity: Part 1: wysiwig editing

Jay, Dylan djay@lucent.com
Thu, 23 Sep 1999 17:00:33 +1000


Having been using Zope for the past 8months or so I see two potential
reasons as to why more people at my work havn't taken to Zope.

One discussed of late is WYSIWYG editing. I HATE wysiwyg editing. It
invariably makes a mess.  It seems that a lot of people disagree with me and
find a system that allows wysiwyg editing to make the creation of good web
pages simplier. 

Possible solution: 

Frontpage seems to me to be the weapon of choice for these "amateur" web
authors. I imagine that frontpage will support webdav in the future but for
now I think it would be possible to support a subset of the frontpage web
extensions. At least the ones that deal with authoring etc. It all uses HTTP
so I imagine it would be as hard to implement as webdav support was.
Products could even be created for searching and web discussion extensions
but I would think that this would detract from Zope and add support for
frontpage more than the reverse.
The next problem with this is how to edit partial pages in a wysiwyg editor.
Ie how to edit a whole page when every DTML doc has <dtml-var
standard_html_header> etc in. What we could do is to have a special render
method that produces an html document which has all the html the real
rendered page does as well as the DTML cunningly encoded in it. Then a
special update method can take this an process the changes to the parts of
the document as neccesary. For instance

<!--#var standard_html_header-->
<h2><!--#var title_or_id--></h2>
<p>
This is the <!--#var id--> Document.
</p>
<!--#var standard_html_footer-->

could be rendered as 

<!--%begin-dtml-var standard_html_header-->
<html>
<head>
<body>
<!--%end-dtml-var standard_html_header-->
<h2><!--%begin-dtml-var title_or_id-->My Documents Title<!--%end-dtml-var
title_or_id--></h2>
<p>
This is the <!--%begin-dtml-var id-->myDoc<!--%end-dtml-var id--> Document.
</p>
<!--%begin-dtml-var standard_html_header-->
</body>
<!--%end-dtml-var standard_html_header-->

or something similar.

As long as ALL the dtml in a document can be encoded in this way and the
visual editor leaves the comments alone then this will work. 

This leads to the question of how the update method will deal with updates
to include documents/methods/properties? Not sure. It could either, give an
exception (might be possible with WEC), just ignore them, or try and perform
the updates on the other objects (potentially messy but possible in limited
cases???).

Thoughts?