Background: Since Plone 2.1, released in 2006, Plone has shipped with an excellent graphical HTML editor called Kupu. Kupu was a mature, capable product long before TinyMCE was a glimmer in its developers’ eyes, and Plone’s “batteries included” approach to bundling a high quality, cross-platform graphical editor is still a solid differentiating factor.
Of course, this being open-source, some people prefer alternative graphical editors. There’s long been a decent integration of the unfortunately-named FCKEditor. And the crew at OpenPlans have wrangled Xinha into Plone as well. But, in my opinion, there’s never been a competitor to Kupu that equalled its features and improved on its usability. Until now.
Here’s what I particularly like about Products.TinyMCE:
- It gets the “Link” drawer right. Kupu has two separate drawers, one for internal (inside your site) links, and one for external links. That’s confusing and awkward for users. TinyMCE combines these into a single drawer, and raises Kupu by adding point-and-click support for mailto: and https: links and control over whether links open a new window. The overall design of the drawer is a lot cleaner and it feels a lot more responsive.
- Similarly, Product.TinyMCE’s “Image” drawer is also a nice improvement. Its features are basically equivalent to Kupu’s, although its support for image captioning is a bit cleaner.
- Product.TinyMCE’s support for creating and editing HTML tables is pretty solid. This was always a weak area for Kupu, and a very difficult task for any graphical HTML editor.
- Products.TinyMCE handles Flash embedding in a clean and user-friendly way. Flash embedding is possible in current versions of Kupu, but often feels a bit awkward and unreliable.
- TinyMCE is a lot easier to extend with custom code than Kupu. At least that what David Glick tells me.
Nothing is perfect, though. Here are a few areas where Products.TinyMCE is not quite up to Kupu’s high standard. Some I know are already on Rob’s list, so I’m hoping to see them in the next release soon.
UPDATE: TinyMCE 1.1RC is out, and addresses most of my suggestions below, except for Plone 2.x support. Try it, it rocks.
- Search support in the Image and Link drawers. Kupu lets you search your site content in the insert Image and Link drawers. That’s an incredibly powerful and useful feature, and it’s not there in Products.TinyMCE. I know it’s high on Rob’s to-do list, so I’m sure this oversight will be remedied soon.
- Kupu has a nice feature where you can link directly to an anchor tag in a page your Plone site. Products.TinyMCE can link to an anchor within the current page, but not to an anchor on another page. This is not a feature I use often, but it can be handy.
- Kupu has a nice feature for automatically assigning anchor tags to heading styles, and managing them. Products.TinyMCE doesn’t seem to have equivalent functionality. Again, this is not a very frequently used feature, IMHO.
- Kupu works with both Plone 2.x and Plone 3; Products.TinyMCE only works with Plone 3. That’s probably not a deal-breaker, but worth noting if you’re thinking about a switch.
- There’s a “save” button to save your draft without leaving edit mode; it works, but there’s no visual feedback to the user.
We’re about to start testing Products.TinyMCE with some of our users, to see if, like us, they think it’s more pleasant and powerful than Kupu. If that pans out, we’ll likely start rolling it out across our Plone 3 projects.
And, one more thing…
One thing that would really help deployment of Products.TinyMCE on exisitng sites would be a script that could be triggered by a site administrator that would walk through all users and change their preferred editor to TinyMCE (or change it back to Kupu). This could allow site admins to roll out a new editor without having to ask every user to manually change their preferences. That would be a really great convenience that could really boost adoption.