Forums / Developer / an wysiwyg editor compatible with 3.6

an wysiwyg editor compatible with 3.6

Author Message

Xavier Dutoit

Tuesday 13 September 2005 1:24:59 am

Hi all,

as some of you have experienced already, the xmlarea extension doesn't quite work with 3.6. One of the problem is some change of storage of several elements, like the links.

I have discussed off-line with Gabriel about it, and he convinced me that it would be better to start a new editor instead of trying to hack stevo+'s work.

Part of the problem seems to be that xmlarea extension wants to keep both the xhtml and xml (ez format) on the client while modifying (and copy/paste is a bad thing). I suggest to simply deliver html.

I haven't yet fully understood how it works for the embedded images (some kind of AJAX things). However, I'm not convinced of the use of it yet.

Gabriel and I are discussing about what could be the best method for that and we'd like your input too.

<b>How it should work:</b>
- instead of delivering xml to the textarea while editing, deliver xhtml+a nice wrapper to launch the choosen wysiwyg editor. No more xml on the client.

That's a rather simple change, as ez has already a handler to output xhtml kernel/classes/datatypes/ezxmltext/handlers/output/ezxhtmlxmloutput.php
(it probably needs a few tweeking to provide more infos about the embedded objects).

- on submit, you do have an handler that is going to transform the xhtml into xml and then use the normal process.

That doesn't exist to my knowledge (I haven't looked around the OO extension yet).

You can override the input/output handlers (the default are editor.kernel/classes/datatypes/ezxmltext/handlers ) with settings/ezxml.ini.append.php

For the embedded objects+links, you probably need to add a few extra parameters to be able to convert them to xml (like the id of the embedded object), using the id of the <img> should be enough. The same goes for the link.

<b>wysiwyg editors</b>

The big boy in the league seems to be FCKeditor, I've seen tinymce too.

Do you have some experience with them ? It should have some kind of modular approach to add plugins (links images...) and be able to parameter the xhtml to cope with the limitations on ez xml (eg no nested lists).

What do you think of all that ? Do you have suggestions or are you willing to help ?

X+

http://www.sydesy.com

Gabriel Ambuehl

Tuesday 13 September 2005 2:47:26 am

Personally, I like TinyMCE and especially Xinha. Xinha has by far the most features of them all (even server side spellchecking etc for the so inclined).

I'm however still not 100% convinced if ezxml can be made sane enough to interface easily with it.

For one thing, it throw errors after me in the past when I tried to do nest lists (why, I can only speculate, I THINK it's to ease the PDF people's job). If ezxml can be modified to support a SANE subset of XHTML, it shouldn't be that hard. But until that happens, good luck on hoping that the XHTML you sent will be accepted ;).

At the very least, it would have to have support for:

<br/>
<p></p>
<ul></ul> (and obviously li)
<ol></ol>
<table></table> (and its children, i.e. th, tr, td)
<div></div>
<span></span>
<pre></pre>
<img/>
<a></a>

and the special ezpublish tags, all nested in whatever way allowed by the XHTML spec. formatting can be done with span and divs, so I'm not that worried about those tags (in fact, phasing out font and strong and its relatives is about time).

If it can be avoided, I really rather would NOT deal with

 <custom tags="name">


as with the above mentioned selection, it should be possible to allow most every halfway sane layout.

As for dealing with embedded images coming from the CMS (as opposed to external ones), I think I'd simply add the proper embed ezxml tag and use a AJAX call to have the CMS supply me proper HTML for that. OTOH, it shouldn't prove very hard to convert from a suitably named img to embed and back.

To avoid possibly infinite trouble, I'm set against supporting embed for anything ASIDE of images.

Visit http://triligon.org

Bertrand Dunogier

Tuesday 13 September 2005 5:04:08 am

First, very nice move. An alternative WYSIWYG editor is really necessary... OE is very nice, but I always feel like it's reinventing the wheel a little, considering the fact that there are lots of very, VERY nice opensource projects out there.

Now, regarding your approach, yeah, I like it a lot, even if I probably don't have (yet) the required insight of ezxml handling.

I have some experience with FCKEditor, since I have actually integrated (barbarian integration...) it in a commercial CMS I had to use. It has a modular plugin system, so I think what you want to do can be done.

Just my 0.2¤ !

Gabriel Borkowski

Wednesday 14 September 2005 2:49:02 am

Great!
although I don't have much experience with ezpublish extesion development I'm going to change that. alternative for OE and partly obsolete (for 3.6, 3.7 ezpublish) XMLarea is a must and I'd be happy to help.

Gabriel Ambuehl

Wednesday 14 September 2005 3:54:52 am

I'm not sure how much extension this is vs some patching of the kernel / or at least the datatype. I think xmlarea just replaced the whole data type, which I want to avoid.

First thing would probably be to figure out what editor to use.

My priorities:
1) Xinha http://xinha.python-hosting.com
2) TinyMCE http://tinymce.moxiecode.com
3) FCKEditor http://www.fckeditor.com

Visit http://triligon.org

STEVO +

Wednesday 14 September 2005 4:37:47 am

xavier - xmlarea does work exactly how you suggest it should work. it doesn't send ezxml to the client (other than when you choose to edit in ezxml or javascript isn't available).

it shouldn't be too difficult to integrate a different xhtml editor. it's just not a job i relish as it will involve messing around with javascript again.

i think only a few small changes need to be made in the input/output handlers to ensure compatability with 3.6. i will have to get around to doing this soon as i think i'm going to have to upgrade to 3.6.

sorry i haven't replied to your mail yet.

Gabriel Ambuehl

Wednesday 14 September 2005 7:15:42 am

Did you patch htmlarea's JS directly or by way of plugins? The latter would likely mean that we can take the plugins and apply them to Xinha which should be plugin compatible.

I'm not quite happy with the current backend. It still seems to choke on stuff that should work (like nested lists) and I wonder if starting from scratch wouldn't be easier, really.

Visit http://triligon.org

STEVO +

Wednesday 14 September 2005 8:32:48 am

i hacked the javascript quite a bit. the plugin architecture just wasn't powerful enough to do what it needed to.

the handling of nested lists is a bit of a hack cos htmlarea spits out some rather odd xhtml at times.

Pål Messenlien

Thursday 15 September 2005 4:45:09 am

TinyMCE is far the best editor ive ever used. I have used the version ingergrated into Mambo, and the functions there are way above anything else i have tried. Check the http://www.cellardoor.za.net/mosce/ If we only could get the image, file, flash functions that this editor got into eZ it would help alot.

--------------------------------------------
Høgskolen i Lillehammer
Lillehammer University College
http://www.hil.no
--------------------------------------------
Messenlien IT
http://messenlien.com
-------------------------------------------

Gabriel Ambuehl

Thursday 15 September 2005 4:59:11 am

If I'm gonna do it, I'll be using Xinha. After some tests, it's by far the most flexible editor and also still being actively developed daily.

As for the image stuff on mosce, I can't get it to work. I have my ideas what to do with images, but it's not gonna be too easy and first I'd want to get a sane input handler up and running. After that, GUI work can be done.

Visit http://triligon.org

Pål Messenlien

Thursday 15 September 2005 5:38:28 am

Xinha looked very powerfull with the right plugins added. What i feel is important for a editor is a easy way to add images for the user, easy linking between documents both inside the CMS or external links, and full screen editing is also a feature ive fallen in love with using TinyMCE. A interresting feature in Xinha was the css style bar, great way to force people using styles from the css file. Just remove the regular text editing functions and let them use styles. This is also something Tiny got, but then in a dropdown menu. Its better for the user to pick the styles from a side bar similar to their regular text editor.
Im no code guru in eZ yet, but if theres any need for help porting some of these editors count me in and ill help on what i can.

--------------------------------------------
Høgskolen i Lillehammer
Lillehammer University College
http://www.hil.no
--------------------------------------------
Messenlien IT
http://messenlien.com
-------------------------------------------

Xavier Dutoit

Thursday 15 September 2005 7:11:07 am

Hi,

In my mind, what is important is to have a proper fundation. I want something easier to extend and able to cope with the changes on the xml schema defined by ez. I want something able to cope with the way content is stored, should it changed (eg, links are stored differently between 3.5 and 3.6).

On the server side, it means usign the regular classes as far as possible, inherit from the ez classes if you need new features or methods and generaly avoid reinventing the wheel (and while I'm at it, no copy paste from existing methods).

I don't care much right now about specific features like attaching images or links. I want something that is extensible enough to be able to add that and other wonderful plugins if needed.

In fact, the system should be able to switch from one wysiwyg editor to another without too much pain. I'm afraid when stevo said he had to change a lot of js on htmlarea, that's something I'd rather avoid.

This being said, If I can't start from Stevo+'s work, I'd rather start with the best one ;)

How's the community around TinyMCE ? is it reactive ?

I need to find some time to test them more seriously and have a look at the code.

X+

P.S. I've been able to find a few people offering their help on the net, but could the other drop me a mail at sydesy[at]gmail[dot]com ?

http://www.sydesy.com

Xavier Dutoit

Monday 26 September 2005 5:14:36 am

To all of you having expressed their interest :

http://pubsvn.ez.no/viewcvs/community/trunk/extension/xeditor/

That's nowhere near being useable, but it more or less works for the basic features.

If someone wants to try coding, you're more than welcome...

X+

http://www.sydesy.com

Eirik Alfstad Johansen

Tuesday 04 October 2005 11:05:30 pm

Hi,

Although I welcome a new WYSIWYG extension using an editor that is actively developed, STEVOs xmlarea has worked great for me on several 3.5.x projects, and I was hoping to see it compatible for 3.6 so that I can keep using it in the near future.

STEVO: Are there any news on 3.6 compatibility?

Thanks in advance !

Sincerely,

Eirik Alfstad Johansen
http://www.netmaking.no/

Gabriel Ambuehl

Wednesday 05 October 2005 12:39:13 am

Eirik, take a look at the last message here: http://ez.no/community/forum/developer/mysql_syntax_error_while_editing_object

Visit http://triligon.org

Samuel Sauder

Friday 13 January 2006 11:48:28 am

KUDOS!
I am really encouraged by the progress made here. I installed it and I can get Xinha to load (Firefox, but not IE).

But then I run into the bugs... I may find some time to help

version ezpublish 3.7.2