Kupu


Kupu was a 'document-centric' open source client-side editor for Mozilla, Netscape and Internet Explorer. Inspired by Maik Jablonski's Epoz editor, it was written by Paul Everitt, Guido Wesdorp and Philipp von Weitershausen to improve the JavaScript code and architecture, pluggability, standards support, support for other webservers than Zope, configurability and a lot of other issues.
Kupu was replaced by TinyMCE as the default WYSIWYG editor for Plone CMS in version 4.
Kupu is mostly maintained by Duncan Booth. It is made available under a BSD-style license.

Kupu's features

Kupu's emphasis is on flexibility rather than ease of integration, providing a somewhat difficult default setup, but with an easy-to-extend API. It can, however, be integrated into any CMS. Currently there is integration code for Zope 2, Plone and Apache Lenya.
Kupu can be customized and extended in several ways. For simple modifications, much of the configuration can be set as attributes on the editor iframe, while buttons, tools and layout can be changed via the CSS. For larger customization there's a JavaScript plugin API, and also the core has a clean and solid architecture to allow full extensibility.
Kupu uses CSS in favor of HTML for layout and presentation. It supports asynchronous saving to the server and sets event handlers from code instead of from the HTML, which makes the code a lot cleaner. DOM functionality is used to build up HTML. On those fronts and others, it tries to use the most modern standardized techniques available on all supported browsers to ensure a good user-experience and clean code.

Etymology

Kupu is Māori for "word, statement, remark". Kupu-kupu is Malay for "butterfly". Hence, the blue butterfly is Kupu's mascot.