Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

pypm install products.kupu

How to install Products.kupu

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install products.kupu
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.5.2Never BuiltWhy not?
1.5.0 Available View build log
1.5.0b1 Available View build log
1.4.17 Available View build log
1.4.16 Available View build log
Windows (64-bit)
1.5.2Never BuiltWhy not?
1.5.0 Available View build log
1.5.0b1 Available View build log
1.4.17 Available View build log
1.4.16 Available View build log
Mac OS X (10.5+)
1.5.2Never BuiltWhy not?
1.5.0 Available View build log
1.5.0b1 Available View build log
1.4.17 Available View build log
1.4.16 Available View build log
Linux (32-bit)
1.5.2Never BuiltWhy not?
1.5.0 Available View build log
1.5.0b1 Available View build log
1.4.17 Available View build log
1.4.16 Available View build log
Linux (64-bit)
1.5.2 Available View build log
1.5.0 Available View build log
1.5.0b1 Available View build log
1.4.17 Available View build log
1.4.16 Available View build log
Kupu License
Lastest release
version 1.5.2 on Jan 9th, 2014


What is Kupu?

Kupu is a cross-browser WYWSIWYG editor. It allows the comfortable editing of the body of an HTML document. It's client-side (browser) requirements are one of:

  • Mozilla 1.3.1 or higher
  • Internet Explorer 5.5 or higher
  • Netscape Navigator 7.1 or higher
  • Opera 9 or higher

Server-side there are hardly any requirements, except for some way of processing data (CGI or something more fancy like PHP, ASP or Python scripts in Zope).

Kupu is particularly suited for content migration as well as editing. Content copied from an existing web page is pasted with all formatting intact. This includes structure such as headings and lists, plus links, image references, text styling, and other aspects. Copying text from a word processor with an HTML clipboard - such as MS Word - works exactly the same.

Kupu will clean up the content before it is sent to the server, and can send data to the server asynchronously using PUT (which allows the data to be saved without reloading the page) as well as in a form.

Kupu can be customized on many different levels, allowing a lot of changes from CSS, but also providing a JavaScript extension API.

More documentation...

General information

o Authors: see CREDITS.txt

o License: see LICENSE.txt

o Frequently asked questions: see FAQ.txt


o general: see INSTALL.txt

o Zope 2.x: see ZOPE2.txt

o Plone 2.x: see PLONE2.txt


o Customizing kupu: see CUSTOMIZING.txt

o Extending kupu: see EXTENDING.txt

o Java Script API: see JSAPI.txt

o Old browser support: see OLDBROWSERS.txt

o Templating system: see TEMPLATE-SYSTEM.txt

o Library Feature Specification: see LIBRARIES.txt


Kupu has a homepage at http://kupu.oscom.org

Reporting bugs

Please report bugs to the issue tracker available at: http://codespeak.net/issues/kupu/ (mind the trailing slash).

Mailing list

There is a mailing lists for Kupu development: kupu-dev@codespeak.net


Unless otherwise stated, kupu is released under the Kupu License. See LICENSE.txt for the license text.

The Sarissa ECMAScript library shipped in this distribution (common/sarissa.js) is the work of Manos Batsis and distributed under the Kupu License with his kind permission. See the Sarissa homepage at http://sarissa.sourceforge.net for more information.

Kupu changes

  • 1.5.2 (2013-08-14)

    • Make getWysiwygmacros unpublishable. [davisagli]
  • 1.5.1 (2012-12-09)

    • Avoid possible DoS of spellchecker by prefixing each line with ^. This fixes https://plone.org/products/plone/security/advisories/20121106/12 [davisagli]

    • Compatibility fixes for IE9+.

      This fixes http://dev.plone.org/ticket/11824. [malthe]

    • Convert GenericSetup profile registration to ZCML, to add compatibility with GenericSetup version after 1.6.2 and also move an interface to the correct place. [hannosch]

    • Copy in minimalpath from CMFCore as it has been removed from CMFCore 2.3. [elro]

  • 1.5.0

    • Fix warnings due to missing i18n domain in configure.zcml. [davisagli]
  • 1.5.0b1 (2011-01-04)

    • Set Site Administrator role as default permission for Plone 4.1. [elro]
    • Depend on Products.CMFPlone instead of Plone. [elro]
    • Use of the resolveuid Python script to resolve URLs in the form resolveuid/<UID> has been removed. These are now resolved by a browser view in plone.outputfilters. [davisagli]
    • Use of the kupu_captioned_image template to customize the caption added to images is deprecated. Use the similar template in plone.outputfilters instead. [davisagli]
    • Use plone.uuid to look up content UUIDs, if available. [davisagli]
    • Use the resolveuid and captioning transform from plone.outputfilters instead of implementing our own. [davisagli]
    • Remove use of tabindex iterator, which is no longer available in Plone 4. This fixes http://dev.plone.org/plone/ticket/11138. [encolpe, davisagli]
    • Add definitions to zmi_links template to fix it in Plone 4. This fixes http://dev.plone.org/plone/ticket/11182. [ctxlken, davisagli]
    • Releases are now being made from the Plone collective svn.
  • 1.4.16

    • Kupu didn't not transform resolveuid to friendly url in area tags (Plone ticket 9402).
    • Updated getWysiwygmacros to respect Plone 4's default_editor property.
    • Remove Kupu from the available editors list on uninstall.
    • Add Kupu to the available editors list when installed via the GenericSetup profile.
    • Converted GenericSetup import and export step registrations to ZCML.
    • Added icon_expr to the Plone configlet action registration, for forward-compatibility with Plone 4.
  • 1.4.15

    • Don't assume there is only one kupu widget on the page. Made each config node unique. (DannyB)
  • 1.4.14

  • 1.4.13

    • Patch from Andy Altepeter: kupu updatestate patch
    • Patch from Gerhard Weis: small js-bugfix in kupudrawers.js
    • Wrap the inline xml configuration with javascript document.write in the plone integration, so edit pages are valid (x)html.
    • Changed undefined variable ${portal_url} to ${context/portal_url} in page templates.
    • Declare package dependencies and fixed deprecation warnings for use of Globals.
    • Remove conditional comments when editing in IE (otherwise IE converts them to visible text)
    • Added a kupu_enabled browser view, which can be used instead of the isKupuEnabled method of the plonelibrarytool. [hannosch]
    • Changed the default titlelength for cropping titles in the link drawer to 255 instead of 60.
    • Correct dependency for the Plone egg.
    • Plone tickets
      • 8612 strangely numbered column headings (Col 01 | Col 11 | Col 21 | Col 31 etc.)
      • 9190 Please make new release for Kupu to apply updated translation
  • 1.4.12

    • Plone tickets
      • 8280 HTML source preview bug with Kupu 1.4.10 and Firefox 3
      • 8287 html2caption is vulnerable to being fooled by acquisitions
      • 8546 kupu AttributeError captioning
  • 1.4.11

    • French translations broke drawers
    • Added full undo/redo support using 'diff_match_patch.js'.
    • Plone tickets
      • 8327 Kupu CSS inserted below ploneCustom.css in the CSS registry
  • 1.4.10

    • Update emptypage.pt to include a hint for deliverance that edited pages should not be themed. [wiggy]
    • Purged old Zope2 Interface interfaces for compatibility with Zope 2.12 and Plone 4, while maintaining compatibility with pre Plone 4 versions of Products.PortalTransforms. [elro]
    • Plone tickets
      • 7779 imageuploader doesn t show the input for file if not in english
      • 7958 Kupu: Insert image: KeyError: 'info' (Error 503 loading kupucollection.xml?resource_type=mediaobject)
      • 7990 Internal link drawer broken for editors
      • 8003 Fixed Kupu translation msgids containing html.
      • 8009 Pasting from OpenOffice broken / mishandled comments
      • 8014 kupu zmi_docs#images link broken
      • 8039 Kupu locks up on adding images when user does not have manager privileges
      • 8080 After uploading image, the "Insert Image" dialog remains open
      • 8129 "TypeError: string indices must be integers" error on plonedrawers.py when installing
  • 1.4.9

    • Manage anchors didn't add an anchor correctly if there was an anchor used for a link inside the element.
    • timte fixed a possible unicode decode error
    • Image upload now has same style options as image insertion.
    • Plone tickets
      • 6915 Kupu can't find anchors inside table cells
      • 7409 "edit without kupu" does not appear on edit form (the fix for this make the link appear but only in source mode).
      • 7804 KupuLibraryTool spellcheck method is missing a docstring
      • 7893 Workaround for bad KSS form submissions
      • 7916 Kupu breaks strong/em tags with class names, on firefox
      • 7939 Kupu breaks on Firefox 3.0b4 in OSX
  • 1.4.8

    • Tabbing key now takes you to next/previous field. However, plone ticket #7727 might result in tab behaviour changing again.
    • Plone tickets
      • 7473 Kupu full screen mode looks broken
      • 7494 Insert internal link using IE links in the wrong place
      • 7680 Kupu stripping out anchor to top of current page
      • 7713 Kupu browser "Home" link goes to Plone root and not content root.
      • 7728 turning on "Link using UIDs" breaks indexing of rich text fields that contain unicode characters out of the 128 range
  • 1.4.7

    • Added metadata.xml file to the Plone GenericSetup profile.
    • Style whitelist and class blacklist now work when there is only one entry in the list.
    • Span tags with no attributes after filtering are removed.
  • 1.4.6

    • Fixed ReftextField error introduced in 1.4.5
  • 1.4.5

    • Fixed unit tests for the transform (they now use a real image instead of a mockup)
    • Fixed the transform to preserve links around images.
    • Images may only be resized if 'height' and 'width' are permitted image attributes. Resizing images in Firefox sets those attributes rather than the style attribute.
    • Plone tickets
      • 5765 Kupu in IE unable to make a link from selected image
      • 6430 Kupu: changes to images resized by handle-dragging are lost (not saved)
      • 6835 Drag image breaks in Kupu
      • 7293 kupu import step has the wrong dependencies in a portal setup export
      • 7377 Making an Image a Link within Kupu renders the link tag at the top of the content page
      • 7387 Kupu-Commit Selected Changes button missing when converting UID=>Relative Link
      • 7426 Kupu 1.4.4 installed with Plone 3.0.3 for PowerPC presents itself in Safari 3.0.4, but content in Kupu window can't be edited
      • 7428 Searching for non-ascii character in kupu Insert Link dialog causes Error 500
      • 7419 Plone and/or Kupu should at least WARN an editor of an image that changes may be lost at Save time
  • 1.4.4

    • Enabled Safari support (needs webkit nightly build and Safari 3)
    • Plone tickets
      • 7099 Kupu error on multi-schemata archetypes content
      • 7258 Missing translation msgids for kupu
      • 7224 Kupu: error in iframe tabindex attribute
      • 7229 kupu 1.4.3 css correction to display redo button icon in editing interface
      • 7285 Kupu Accesskey for Save conflict with Firefox History Menu
      • 7305 Page creation and kupu upload image returns an error if Kupu link uid's is turned on.
      • 7315 Kupu table of contents generator doesn't allow multiple paragraph styles to be selected in IE7
  • 1.4.3

    • Kupu now uses sarissa (still a differences in sarissa_ieemu_xpath.js, but these are purely cosmetic so that jslint runs cleanly).
    • Plone tickets
      • 6970: can't upgrade to Kupu 1.4.1
      • 6975: Cannot save HTML field as NULL
      • 7119: 'Edit without visual editor' link doesn't show up in Plone 2.5.3
      • 7139: Kupu Manage Anchors not working in inline edit
      • 7140: kupu fails with danish letters in title.
      • 7143: UnicodeError inserting image
      • 7158: Kupu Edit already inserted image: Preview and sizes get wrong urls
  • 1.4.2

    • Florian fixed some encoding errors
    • Plone tickets
      • 7074: Search for image errors in Kupu
  • 1.4.1

    Limi asked for some last minute changes for Plone 3:

    • Embed doesn't work out of the box in Plone 3, so shouldn't be shown by default (it will only lead to a lot of user frustration).
    • The anchor/table of contents generation is done differently in Plone 3, so should be off by default (turning on buttons is easy in Kupu now).
    • Insert image/link should default to current folder instead of Recent, since the Upload button isn't visible if not (which is the most common use case)
    • Place the delete link/image button after the pulldown (so it doesn't push around the toolbar elements)
    • Default table styles now include "grid listing" and "invisible".
    • Paragraph styles now labelled just styles and include: highlight, page break, clear floats
    • Create headings now on by default.
  • 1.4

    • The icons in the toolbar for Plone now use CSS sprites. This means that instead of having 30 files each being 16x16, we put all the icons in one file, and reference the file once. Then we use CSS positioning to pull out the right icon.This has a major impact on how quickly Kupu performs its initial load ??? as HTTP roundtripping is very time-consuming. Before, Kupu did 17 HTTP requests for its initial image loading, now it only does one.
    • Fixed a KeyError exception when importing a GenericSetup profile.
    • Minor styling changes to the image upload form.
    • Plone tickets
      • 6486: formUnload protection invoked for inline kupu editor even after Save
      • 6833: Error 500 loading kupu_migration.xml
  • 1.4rc2

    • Fixed broken code for determining the width of captioned images. Also removed the hardwired html for the transform and use a template instead (so it can be customised).
    • Default image size is now configurable
    • Plone tickets
      • 6756: Kupu Pull-quote style not working in IE
      • 6739 Hide the "edit without visual editor" link when there is only one format available
      • 6535: Can't upload image via visual editor in inline edit
      • 6801 'contentUsesKupu' shouldn't expect string type
      • 6759: Kupu caption CSS needs some love.
  • 1.4rc1

    • Added a 'manage anchors' tab to the anchor drawer
    • Big cleanup of i18n attributes
    • Updated the Japanese translation files, thx to Tyam.
    • Added in some support for inserting Flash content.
    • Media objects may now have a list of classes (specific to the portal type).
    • Image drawer layout has been tidied up.
    • Anchors in the link drawer now have a slightly cleaner ui.
    • Drawer actions which do server requests now display a wait cursor.
    • Removed the tabindex from all the toolbar buttons and added it to the iframe: this means you can tab into kupu from above without dying of old age as you try to get past the toolbar. Added a handler for the tab key so that pressing tab will take you to the next tabstop in the form.
    • Only single trailing <br> tags are stripped from p and div tags: multiple <br> tags are left unchanged (so those people who insist on using the to generate whitespace still can).
    • Plone tickets:
      • 5622 Add a class (even if empty) to internal LinkDrawer
      • 6283 Do not allow bigger images than Preview by default from Kupu
      • 6440 Browser error: exception element has no properties while registering an event handler for element null, event click, method function ()
      • 6720 i18n error in kupu collection
      • 5985 Kupu should not strip the dir attribute by default.
      • 5985 Range.intersectsNode declared obsolete
      • 5189 patch to support embed tag
      • 5420 "Edit with kupu" broken for fields on custom fieldset
      • 6056 Extra line breaks added in pre tags
      • 6103 resolveuid does not check input values and throws deep "list index out of bound" error in ZopeGuards.py
      • 6536 Formatting of captioned images is messed up
      • 6548 Links tab on kupu control panel gives traceback, cannot find kupu_references
      • 6598 Default linkables in Kupu: folder is not, plone site is not, ATRelativePathCriterion is
      • 4887 Fix for "editing defaults to kupu, even when javascript turned off" reverted as it breaks inline editing.
  • 1.4 Beta 6

    • Removed the getToolByName deprecation workround since getToolByName is now officially undeprecated again.
    • Removed most of the illegally nested forms produced by the xsl. I hope this will stop IE6 crashing. The image upload form is still there as it is going to take more major surgery to get rid of that one.
  • 1.4 Beta 5

    • Adjusted some more Plone tests to work on Plone 3.0.
    • Kupu is automatically suppressed when the content being edited starts with an html comment (<!--).
    • getToolByName directed through a local kupu implementation in an attempt to suppress CMFCore deprecation warning. (This is the wrong way round, we should really call queryUtility everywhere in kupu and have the mapping fallback to getToolByName, but it should do for now)
    • Table of contents numbering is now optional.
    • Disabled undo/redo, sub/superscript and unordered list buttons
    • Link checker now recognises attributes with whitespace round '='.
  • 1.4 Beta 4

    • Adjusted some Plone tests to work on Plone 3.0.

    • Added 'remove table' button to table drawer and tool box.

    • the uid/captioning transform now has a hook which gets called if kupu fails to resolve the uid. Use this for any fallback processing (e.g. lookup the uid catalog in a different plone site, or just return a default error page.

    • Fixed NonXHTMLTagFilter default filterdata: 'big', 'small' and 'tt' are valid XHTML tags, 'h7' not.

    • Fixed some small issues in XhtmlValidation elements.

    • Improved KSS integration:

      • Added an invisible save button to Plone toolbar: KSS will link up events and make it visible when editing inline.
      • Fixed site error on empty page (Plone 3 compatibility)
    • HTML cleanup improved: spurious <br/> tags removed.

  • 1.4 Beta 3

    • Fixed a bug where createLink deleted the selected text.
    • Paragraph styles may now be replaced as well as added to in a widget definition.
    • Toolbar buttons may be hidden globally, according to an expression, or from a widget definition.
    • Support for generic setup added (when present, older systems may continue to use the quickinstaller)
    • Resource definitions can now optionally add any new Plone types to the resource. This means that all custom types will be 'linkable' unless otherwise configured.
    • A modified version of jslint is included in the kupu sources (with the ability to suppress a lot of the warnings).
    • The javascript files used by Plone (and some of the other ones) now run through jslint without warnings. This means they can be compressed by programs which remove line endings in an unsafe manner.
  • 1.4 Beta 2

    • Paragraph styling now permitted inside a table again (contributed by George Lee).
    • Fixed a bug where changing a TR style while the selection covered more than one row corrupted the DOM.
    • New style option '(remove style)' always present and removes the closest style round the selection (i.e. a span or block tag, or removes the className if it hits a table tag with a class).
    • Added a link maintenance page. Checks for bad links (i.e. those kupu doesn't understand), also converts links from relative paths to resolveuid and back again.
  • 1.4 Beta 1

    • Fixed some problems with handling of multi-valued form fields in the ExternalSource tool code for Silva.
    • Merged Plone style code back into common code.
    • Redid the table style code to work better. The style pulldown now displays either paragraph styles or table styles, not both together.
    • Added code to manipulate anchors. New drawer to insert anchor links either singly or as a table. (Plone and HMTL forms).
    • Changes to drawer layout to look prettier and to allow direct linking to folders.
    • Support for AT reference browsing using the Kupu UI. This means that Kupu on Plone now requires Archetypes 1.3+
    • Plone sample customisation now gets run on installation if there isn't a customised version. This means that the defaults for the tool don't all need to be hardwired.
    • Plone configlet now makes it easier to enable linkbyuid and captioning options.
    • HTML view now does filtering by default in Plone (can be turned off in the configlet). This also means that after pasting from e.g. Word the HTML can be cleaned up simply by toggling source view on/off.
  • 1.3.8

    • HTML view now does filtering by default in Plone (can be turned off in the configlet). This also means that after pasting from e.g. Word the HTML can be cleaned up simply by toggling source view on/off.
  • 1.3.6

    • Plone

      • Enabled selection of image sizes in standard libraries.
    • Silva

      • Fixed multi-value form element support in ExternalSource tool.
    • General

      • Added optional list of server provided image sizes.
  • 1.3.5

    • Silva
      • Some minor glitches, button names changed, some names converted from upper- to lowercase, etc.
  • 1.3.4

    • Silva

      • Fixed some small issues in external sources support.
      • Fixed some problems with tables, table column alignment and relative width settings should not clash anymore.
    • General

      • Zope related: changed imports so they try to import Zope2 rather than Zope (with Zope as a fallback) to not have Zope 2.8.x issue warnings.
  • 1.3.3

    • Plone

      • Text is no longer automatically forced into a paragraph as this caused problems on Mozilla when editing at the end of the file. The style pulldown now distinguishes text with 'no style' from 'Normal'.

      • Fixes to Plone issues:

        4434 - 'int' object is not callable on editing

        4896 - Kupu interface invisible if color changed

        4911 - Kupu creates incorrect relative link in new page

        4801 - Kupu Links: search for private objects fails

        4622 - It's not possible to insert link to local folder using kupu

        4873 - Kupu removes u-tag

      • Added some table styles to the sample customisation.

  • 1.3.2

    • Zope 2
      • Updated Zope 2 distribution, it was broken in several ways.
    • Silva
      • Fixed problem with ExternalSources, which made that sources could not be added to a page (clicking 'add' would not do anything).
  • 1.3.1

    • Silva:
      • Fixed problem with IE that turned all src attributes (images) and hrefs (links) into absolute URLs, failing miserably on Zope/Silva setups.
      • Fixed bug with IE that made that all possible attributes were stored on external source elements.
    • Plone
      • Fix error opening drawers when there is non-AT content around.
      • Fix for content type not being set on AT content with only one allowed type.
      • Fix for error when converting content from another format such as reST.
    • Fix for style whitelist not working on Mozilla/Firefox (N.B. xml config schema has been changed)
  • 1.3

    • Disabled entity escaping since it causes problems with Plone indexing. (this should be fixed properly in Plone's PortalTransform code).
    • Plone:
      • removed the hardwired styles Heading, Subheading and Formatted, added them by default on installation (but if you are upgrading you may have to add them explicitly).
      • Fixed a bug which prevented editing legacy (non-AT) content.
      • Turned linkByUid off by default. Made resolveuid.py do a status 301 (moved permanently) redirection.
      • Fixed linking to folder types which was broken when Plone 2.1 support was added.
    • More i18n work.
    • table classnames now take an optional caption.
    • Style pulldown no longer goes wrong inside tables.
    • Fixed font size issue. Plone documentContent class is now applied to the editor body tag, so scaling and background color are picked up automatically.
  • 1.3rc1

    • Added support for i18n - the Kupu interface can now be displayed in multiple languages (provided language catalogs are available).
    • Lots of changes for Plone 2.1 compatability.
      • Drawers use catalog lookups to avoid loading objects.
      • ResourceRegistry used to load js and css.
      • Sarissa upgraded, and not loaded when ResourceRegistry is present.
      • Drawer layouts tidied up.
      • Drawers i18n enabled.
  • Post 1.2.1

    • Tidied up zoom mode. Added kupu-fulleditor-zoomed class to body when zoomed so you can use css to hide other controls on page (IE ignores z-index on SELECT boxes).
    • Further adjustment for issue 70 to give slightly prettier formatting.
  • 1.2.1

    • Fixed some context bugs with External Sources (Silva specific), now Kupu uses the same functionality to find code sources as the rest of Silva does.

    The following issue has been resolved:

    • 70: Content duplication (when pasting into IE from Microsoft Word or Works).
  • 1.2 final

    • Linking to the current folder produced an empty link. Now it links to "."
    • Changed how kupu in Plone handles non-HTML content e.g. STX. Now it won't load for fields in Archetypes content if the content type isn't HTML (but it does put in a link allowing you to force a conversion). See http://plone.org/collector/3900
    • Added support for spell checking.
  • Since 1.2rc1

    • Creating links was broken by the fixes to #146, rewrote link creation to be more robust and predictable.
    • Changed 'halign' as the attribute to set the alignment of tables and tablecells to 'align'.

    Apache Lenya enhancements:

  • Kupu 1.2rc1

    The following issues have been resolved (see the issue tracker for details of the numbered ones):

    • 153: Exit from bulleted list: next paragraph becomes a list item
    • 152: Install.py does not work with CMF
    • 151: This function requires better XML support in your browser
    • 150: Javscript error in IE when viewing empty html source and style select changed
    • 149: When using Zoom on Plone site, the right portlets are not disabled
    • 146: kupu 1.2b tagName is null or not an object javascript error in IE
    • 143: Invalid request error when trying to edit raw HTML using Safari
    • 141: Inserting links in Gecko browsers sometimes replaced the selected text with the link title.
    • 94: Using kupu with Plone via SSL gives error on IE (this was already marked as resolved but had recurred).
    • Fixed 'phantom whitespace' problem. Saved format was 'text/html' which non-AT content types interpret as an alias for 'stx'. Now sets format to 'html' for non-AT content types.
    • Opening a drawer gave error 404 on Plone systems when Archetypes was not installed.
  • Kupu 1.2 beta 1
    • Added image upload.
    • Added support for CSS 'float' for images.
    • Fixed some documentation that said Netscape 7.0 was supported, which it never was, the minimal Netscape version required to use Kupu has always been 7.1
    • Fixed problem where empty title tags broke rendering on IE after a save.
    • Configurable filtering with whitelists and blacklists which significantly speeds up save time on IE.
    • Zoom mode to make Kupu fill the browser window.
    • BeforeUnload handler added which controls all form fields.
    • Plone enhancements:
      • Drawer support now fully integrated.
      • Customisation by control panel or Python script.
      • Paragraph styles may be defined globally or for Archetypes fields.
      • Links to Archetypes objects done by UID.
      • Optionally Archetypes can store references for links created by Kupu.
      • Optional output transform to hide UIDs and add captions to images.
      • Kupu and Epoz can now coexist on the same Plone site.
  • Kupu 1.1
    • Re-added experimental dist with inspector.
    • Moved drawers to the experimental dist.
    • Some fixes in the Citation tool and External Source tools
    • Fixed bug that made Kupu break on certain type of meta-tags in the editable document.
    • Moved definition list tool to the main and form dist.
    • Made Damian Gajda's SourceEditTool replace the switchSourceEdit function.
  • Kupu 1.1 beta 2 (2004-05-27)
    • Added source editing for Silva.
    • Fixed the Image tool in Silva: URL's are now editable and will be made relative if at all possible.
    • Fixed some small bugs for Silva.
    • Assured proper hiding of RemoveElementButtons in IE.
    • Updated unit tests to reflect new ECMAUnit API
  • Kupu 1.1 beta 1 (2004-05-21)
    • Added Selection object that provides a cross-browser API for working with the document's selection and cursor. This can be used to e.g. add and manipulate arbitrary elements (it's used for instance in Silva's definition lists code).
    • Templates for different systems are now generated with an XML/XSLT-based templating system.
    • Added state for buttons, if one is inside a tag controlled by a button the button gets a new class (this way when inside e.g. a bold tag the bold button can look pressed).
    • Added access key functionality.
    • Implemented a new way of inserting images and linking to documents, library drawers. Drawers are windows that open up inside the browser without invoking a browser popup. Library drawers load information about linkable/insertable objects from the server via standardized XML.
    • Some core functionality is now covered by unit tests, based on the JavaScript testing framework ECMAUnit.
    • Fixed bug in preserving selection in IE.
    • Added double-click catching, now double-clicking stuff results in correct behaviour.
    • Added a few useful helpers, such as a strip() method to String objects.
  • 1.0.3 (2004-03-25)
    • Renamed epoz to kupu to end the name confusion with Maik Jablonski's editor once and for all. Thanks to Eric Casteleijn for the name suggestion.
    • Kupu is distributed under the BSD-style Kupu license. See LICENSE.txt for license text.
    • Kupu is an official OSCOM project now. Its new homepage is available at http://kupu.oscom.org. The development home remains with Codespeak.
    • Improved preliminary Plone support. Thanks to Duncan G. Booth for this work.
    • Fixed bug that made IE throw an exception on re-selecting text in a removed element.
    • Removed the 'locales' directory for the time being. We will support i18n in the future, but not in this Zope-specific way.
  • 1.0.2 (2004-03-06)
    • Added POST support
    • Finally added some more documentation, made some older docs less Zope specific
    • Added toolboxes, a plugin for tools, to seperate functionality from view dependencies (this means a change in initEpoz, so custom versions need to be updated!)
    • Chopped epozeditor.js into several pieces (this means all existing installations need to be updated!)
    • Table editing in IE 5.5 is fixed, the tables don't end up in the parent document anymore
    • Fixed some subtle bug that caused the parent element of the selection to be the selected element instead of the element itself when a selection spanned a full element (thanks Igor Stroh for the IE fix!)
    • Cleaned up the HTML files and pagetemplates, there's now only 1 piece of JavaScript for initialization.
    • Added experimental context menu
    • Added experimental inspector tool
    • A lot of small bugfixes...
  • 1.0.1 (2003-12-10)
    • Fixed bug that caused saving to fail in Mozilla 1.3.1
    • Fixed bug that prevented Zope from booting when Epoz and Plone were installed on the same instance
    • Added an example pagetemplate for Zope 2 integration
  • 1.0 final (2003-11-21)
    • Fixed text style support for IE
    • Renamed epoztoolbar macro to epoz_toolbar for consistency
    • Added style sheet and headers to prevent caching in the example document fulldoc.html
  • 1.0 beta 1 (2003-11-14)
    • Some API cleanups done
    • Added some code to 'disable' the editor during init and save [Issue 11]
    • Added Silva-specific JavaScript, also as an example for large customizations
    • Fixed major problem with IE that removed the selection from the iframe as soon as some other element got clicked (resulting in actions to be performed on the wrong location). [issue 31]
    • Fixed colorchooser in IE, also fixed background color support.
  • 1.0 alpha 2 (2003-11-07)
    • Refactored epozeditor.js to a MVC-style component architecture. [Issue 26]
    • Added a path tool [Issue 24]
    • Added epoz logo
  • 1.0 alpha 1 (2003-10-24)
    • Fix useCSS (generates a Midas error)
    • When in a list, a style picker will appear for the shape of the list symbols.
    • Dumb down the link and image toolboxes
    • Let the iframe src work from Apache via a tal:attributes to replace the src with nothing when served from Zope
    • Added new attributes on <iframe> to configure the Epoz instance:
      • dst specifices the URL to PUT to.
      • usecss is either 0 or 1, to tell Midas whether to use CSS or element styles like <b>.
      • reloadsrc is either 0 or 1, to tell Epoz whether the server wants the editor to reload the source after saving. This is true in Silva, which transforms the XHTML after saving.
    • Improved error message that appears if an async save fails.
    • Added plain Zope2 integration (philikon)
    • Added functionality for editing tables (adding and deleting rows and columns, setting alignment etc.)
    • Fixed bug in link code, the url is now added to the link correctly and can also be modified
    • Replaced some timeout code with a poll loop, which should work better in extreme situations (slow setup, large documents etc.)
    • When the cursor is in a list, a drop-down appears to set the style of the list symbols (e.g. disc for ul, roman numerals for ol)

Subscribe to package updates

Last updated Jan 9th, 2014

Download Stats

Last month:3

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.