[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kfm-devel
Subject:    Re: HTML editor based on Konqueror
From:       Lars Knoll <knoll () mpi-hd ! mpg ! de>
Date:       1999-11-30 9:34:01
[Download RAW message or body]

Hi Frederik,

Matthias told me a few days ago about your project. What you plan is really
quite a lot of work. I wrote most of the current khtml lib, and can tell you by
experience, that it would be impossible, if you start from scratch. Just
getting the rendering engine to a useable state would take you (at least) three
month Especially, since the rendering engine has to support dynamic changes in
the html.

So I would propose to use khtml as the rendering engine. It uses DOM Level 1 as
its document model, and (should) support dynamic changes in the document tree.
By should I mean, that these features are mostly untested up to now.

There are a few things one needs to change/add, to get some support for an
editor.

First of all, if you write an editor, than it should produce html code
complying to the HTML4 standard. At the moment, the parser in khtml tries to
handle bad html as gracefully as possible, to display as many as possible web
pages. For an editor, we should change the model to be as strict as possible,
so we wont get broken html as output of the editor. This is not too hard to
achieve, a flag in the parser could do most of the job. Adding and removing
elements dynamically might need some work, but already does most of the 
checks. Some fixes for allowed/forbidden attributes might need to be added,
since at the moment khtml just ignores undefined attributes.

Second, we need editing functionality. There are already functions in the
rendering engine, to process mouse events. In the same way, one could extend
this to have some functions for getting/setting cursor positions (which you will
need for the editor).

Third, we will surely need to fix parts of dynamic formatting of khtml, since
its not tested that much with dynamic contents up to now. But the
rendering model will change a bit in the near future anyway, to support 
CSS (see below).

And as fourth point, one will need to add some function to the DOM, to convert
a parsed document tree back into html code. This is rather trivial, but
nevertheless some work.

I'm sure there are lots of other points I forgot about at the moment.

If you're interested in this, I would propose to try to put the features you
need into khtml. This would be the cleanest solution, and khtml would profit
from it too.

Most discussions about khtml are taking place on the kfm-devel@kde.org
development list, so I  hope you don't mind if I send a copy of this mail to
the list. The best would be to conduct all further discussions there anyway.

I just proposed some changes in the khtml rendering engine, which might affect
your work too. Please have a look at the mail I send to kfm-devel 2 days ago.
You can find it in the mailing list archive (http://lists.kde.org). It also
explains some of the internals of khtml.

You can find some more information at http://developer.kde.org/kde2arch/khtml/
and in there are a few files (which aren't all up to date unfortunately) in the
khtml sources describing parts of the lib.

I would propose you have a look at the sources, and don't hesitate to mail me
(or better to kfm-devel) if you have questions.

Cheers,
Lars

On Mon, 29 Nov 1999, Frederik Holljen wrote:
> Hello Lars!
> 
> We are three students from the University of Gjovik (in Norway) who plan to
> develop a webdesign application for Qt/KDE, as a main project in our final year
> at this school. We spoke to Mathias Ettrich, who told us this is an enourmous
> amount of work, which we of course already knew...:)
> He also told us that the task would be easier if we based our editor on the
> konqueror html engine, and that he had contacted you. If you are positive to
> the idea we want to implement khtml in our project.
> 
> THE PROJECT
> is to make a webdesign application like ms frontpage, HomeSite, Pagemill and
> others. Of course this task is too big for us to handle with the small amount of
> time we have (4 months), so we have limited the the task to only develop the
> editor. (Not the html code editor, but the wysiwyg thingie... I guess you get my
> point.) It is still an big task for three students without too much coding
> experience, but we think we can give it a nice start. Or at least, a start.
> 
> What we wanted to know is how you think we should implement the khtml code to
> our application (if you approve to the project of course, and you think this
> is possible at all). Mathias thought we should work on the same codebase to
> keep the editor up to date and make it easer to maintain. The point is.. we are
> very interested in your thoughts on how to do this.
> 
> We have just started the planning. The school project must be finished in May
> 2000, but we intend to continue the work after that, and implement all the other
> features. (Like a code editor, web project management, uploading, etc.) We may
> get it approved as a school project at our next school too. But regardless of
> that, we want to make this a useful application. (This is the final year of
> our 3-year computer engineering education, but all tree of us will continue at
> another university next year.)
> 
> regards Frederik, Gunnstein and Sigurd

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic