[Mozile] mozile 0.8 - help offered

James A. Overton james at overton.ca
Wed May 3 09:04:05 EDT 2006


	Ok!
	First an update. Since I posted the RNG code I've been working on  
actual editing code. It makes a lot of use of the DOM Range and  
Selection objects. David gave me some code that converts IE's wacky  
TextRange and Selection code into W3C standard and Mozilla-like  
interfaces. That has saved a huge amount of time. Opera has good  
Range and Selection support, with a few quirks, but I've put off  
supporting it for the time being while I figure things out. Safari  
(even the nighty version) doesn't have sufficient Selection support  
for what we need. Hopefully that will come soon.
	So the current target platforms are Firefox 1.5 and IE 6. I try to  
make things work first for Firefox, then fix them for IE. Support for  
all the other browsers will come after that.
	I have basic text insertion with solid undo/redo support working on  
both FF and IE. On FF I have proper deletion (always tricky) with  
solid undo/redo support. The plan for today is to make that work  
under IE, and then start on a few other primitive operations: move  
nodes, split and merge nodes, wrap a selection with a new element.  
All of these have to be flawlessly undoable, and so they take some work.

	Things that need work:
- The RNG system will need support for name classes and datatype  
checking eventually:
   - I'm not sure yet how the name classes should be implemented.
   - Datatypes could be done using regular expressions. The XML  
Schema datatypes would be the first target, but unfortunately there  
are a lot of them.
- David's IE Range and Selection are missing a few features like  
deleteContents and compareBoundaryPoints, which will eventually be  
needed.
- The new loading system could use some features, like waiting for  
the page to load before loading heavy schemas in the background.  
(Unfortunately, it's not as simple as using asynchronous  
XMLHTTPRequests...)
- I haven't started on the interface/toolbar code, although I have  
some ideas for how it should work.

	In answer to David's other points:
- There isn't much that can be copied from 0.7 into 0.8, because of  
cross-platform differences and architectural changes. On the other  
hand, there's a lot of problems solved in 0.7 that will need to be  
solved in 0.8, and so the old code will be helpful.
- The OASIS examples in the RNGLibrary aren't needed, but are  
included for completeness. Yes, the file is too big, and it would be  
better if it got broken up.

	I'll start posting what I've got into CVS. Keep an eye on <http:// 
mozile.mozdev.org/source.html>. No impressive demos at this point,  
and a lot of half-finished code, but at least you can all see how  
things are shaping up.
	I'll be hanging out in IRC at http://freenode.net #mozile If you'd  
prefer some other method of communication, ask.

James


On 2006-May-03, at 6:47 AM, david wrote:

> Hi James, hi all,
> I've got some time free and would like to put it into some mozile  
> stuff and I've taken a brief look at the 0.8 stuff. Relax NG is  
> very nice and it looks like a workable solution. How do we go about  
> bringing the stuff that's in CVS today towards a (more) complete  
> editor?
>
> The stub methods in mozile core (mozile.createEditor() etc) are  
> maybe to be filled in with stuff from the 0.7 releases? Or are we  
> talking a complete re-write here? (Hope not...).
>
> Are all the OASIS examples really necessary in the RNGLibrary.xml  
> file (after a cursory look it seemed to be a big file already...)?
>
> What can I do to help?
>
> -- 
> "Notre malheur n'atteint son plus haut point que lorsque a été  
> envisagée, suffisamment proche, la possibilité pratique du bonheur."
> _______________________________________________
> Mozile mailing list
> Mozile at mozdev.org
> http://mozdev.org/mailman/listinfo/mozile



More information about the Mozile mailing list