[Lenyacms-dev] using more dhtml in the authoring area

"Gregor J. Rothfuss" <[email protected]> Tue, 15 Apr 2003 09:16:45 +0200
Newsgroups gmane.comp.cms.wyona.devel
Message-ID <[email protected]>
his fileupload concept sounds pretty nifty, far better than
our seperate screen.

i will put in a feature request

> 8) the admin section is heavily DHTML-ized. It works on all 6th
> generation browsers and the user is able to upload images and such
> without requiring rountripping
> 
> [by setting the 'src' property of an img with the value of the <input
> type="file"> it is possible to visualize the image the user is uploading
> right from disk, without requiring any rountripping. this improves the
> user experience *immensively*!]
> 
> [also, using dom cloneNode() it is possible to keep on adding images in
> the form without requiring roundtripping.]
> 
> My experiences in DHTML programming with 6th browsers has been very
> positive. IE and Moz are pretty much compatible, there are only a few
> issues that really bug me:
> 
> 1) if you have <div class="blah"> blah is found in div.class in mozilla
> but div.className in IE! sometimes I think those guys in redmond just
> need more sunshine. I ended up testing for 'document.all' to
> discriminate between the two DOM types.
> 
> 2) the event model is *completely* different. there are tricks to make
> the same code work on both, but things like onclick(), onchange() and
> onfocus() never seems to work the same way. I ended up using
> onpropertychange() which is IE-specific. It is amazing how two different
> browsers can claim compliance with a spec, but still be completely not
> interoperable.
> 
> To be honest, I have to say this is not only Redmond's fault: the DOM
> spec lacks any connection with the system. So, it says that events are
> pushed, and what is their names, but not *how* and *in what order*!
> 
> As a result, I wrote some 300 lines of javascript for the client side
> and only 4 of them were browser-dependent.
> 
> 9) I used Mozilla for development. If you are using another browser to
> develop your sites, throw it away and use mozilla. If you haven't done
> so, please read:
> http://devedge.netscape.com/viewsource/2003/mozilla-webdev/
> 
> but even better, go to http://livehttpheaders.mozdev.org and download
> that awesome plugin that shows you the dump of all the headers that flow
> thru between you and the server. This saved me hours of cocoon-view
> based debugging, expecially on multipart forms. Not counting the ease of
> use of the javascript console compared to the stinking useless IE error
> popup window. yuck.
> 
> 10) at the end, this is a web site designed with *extreme usability* in
> mind. I spent endless hours trying to remove *everything* possible from
> the site without sacrificing the information that the site needed to
> transmit. Also, the site is completely manageable by people who are
> barely able to read email.
> 
> 11) despite the ability of IE6 on all machines that need to access the
> internal CMS, I decided *NOT* to use any contentEditable solution but to
> use pure forms for two reasons:
> 
> a) their content is always structured
> 
> b) web users are used to forms, but not to inline editable pages
> (yet, at least). Forms provide visual semantics which are generally
> understood, inline editing is not standardized and without proper visual
> indications, users assume that if it's not in a textarea, the content is
> simply not editable. I think that even in a future of advanced inline
> editing, forms will still have their pretty consistent usage because of
> the clear visual semantics that are associated to them.
> 
> 
> - o -
> 
> Lessons learned:
> 
> a) cocoon can be very useful for small sites, but the hard part is
> *not* to use all its features and get down to easy stuff like a velocity
> template that generates XHTML. Still, it can provide very useful
> features even in that case (think style wrapping instead of
> header/footer inclusion)
> 
> b) flowscript rocks the planet. it will rock even more combined with
> hot-deployable avalon components.
> 
> c) LiveConnect (the glue between javascript and java) makes it hard to
> abuse the flow to write business logic in it. Even after a few lines of
> having to call the classes by their full package names, you spin it off
> into their own classes and call them. This turns out to be very
> straightforward and keeps the flow *very* clean.
> 
> d) flow + inputmodules + redirection from flow totally substitute the
> need for actions in the sitemap. The elegance of the resulting solution
> is not even close to be action-based equivalent.
> 
> e) sessions and continuations do need to cohexist and they do very well
> already.
> 
> f) cocoon needs an xml repository as an avalon component accessible
> from the flow! the use of protocols is simply not enough for the kind of
> data manipulation required in seriously roundtripping webapps that have
> to mix, match and change stored xml content. This doesn't need to be an
> xml database, it could be a virtual file system on top of a blob-capable
> DB or a CVS view.
> 
> Hope this helps.
> 
> -- 
> Stefano.
> 
> 
> 
> 

-- 
Gregor J. Rothfuss   [email protected]  +41 1 272 9161
                     Wyona AG, Hardstrasse 219, CH-8005 Zurich
Open Source CMS      http://www.wyona.org http://www.wyona.com 

OSCOM 3 - Third Open Source Content Management Conference
May 28th - 30th 2003, Harvard University, Cambridge, MA, USA
http://www.oscom.org/Conferences/Cambridge/