KompoZer Labs

This website will host all experimental features related to KompoZer.

Here’s a short list of the most requested features we’d like to have in KompoZer ASAP. All contributions have to be tri-licensed (GPL/LGPL/MPL) to fit KompoZer’s license.

XMPP collaborative edition

This project aims to implement real-time, collaborative edition through XMPP, with the Jabber network and the xmpp4moz library:

Here are the XMPP specs for multi-user / shared edition:

(assigned to: Frédéric Éterno)

SFTP support

Currently, KompoZer 0.8 has FTP / FTPS support (using a FireFTP library) but still lacks SFTP support. The reason is, there’s no built-in SSH support in the Mozilla code base. This sucks.

The SFTP support is by far the most requested feature, but it’s not an easy task. Implementing FTPS will require to use an external library (XPCOM, C++). Two solutions come to mind:

Recent versions of FireFTP can't be used because they're not stable yet, and their codebase is not compatible with KompoZer 0.8.

As there’s some compiled code involved, you’ll have to build the whole application.

(assigned to: Aymeric “Neros” Walerack)

Blogger / xml-rpc support

This project should implement a Blogger interface to KompoZer. Main goals:

The User Interface has to be as well integrated in KompoZer as possible:

Main feature: when a “Blog post” document is created, the “Publish” button should call the Blogger API to publish the inner HTML of <body> instead of uploading the HTML document through FTP.

This Blogger support would be a very important feature in KompoZer: CMS users could use KompoZer to tweak the CSS and publish their blogposts in WYSIWYG mode. Blogger has become an xml-rpc standard for publishing files on CMS and blog engines, it’s widely supported.

This should be developed as an add-on.

(assigned to: Guillaume “chipowok” Wilfrid)

Make the “DOM Explorer” sidebar editable

Currently, the DOM Explorer sidebar displays the HTML tree and the CSS rules that are applied to the current element.

This DOM Explorer tree should be editable:

When an external CSS stylesheet has been modified, it should be marked as such in the DOM Explorer; when the user saves the related HTML document, he should be prompted to save modified stylesheets… or cancel the modifications on the CSS.

(assigned to: Fabien “kasparov” Rocu)

Easy CSS editor

The CSS Editor UI is not intuitive for “box” properties. It’s more than time to revamp the whole UI.

<div> toolbar button

CSS box propertiesThe first step will be to design a new property box from scratch for <div> containers (and block-level CSS properties):

This <div> button should replace the “pin” buttons on the right side of the format toolbar. It should ease the use of <div> by beginning web authors: clicking on this <div> button should create a <div> if necessary, or edit the CSS properties of the selected <div> container.

<span> toolbar button

The second step will be to implement a <span> button with inline-level CSS properties. Most of the current CSS Editor UI could be reused, but improvements are welcome.

Again: clicking on this <span> button should create an inline <span> container if needed, or edit the CSS properties of the selected <span> element. Advanced users could use this <span> button as a replacement of the second format toolbar. That would be an efficient way to produce a clean HTML markup.

Revamp the CSS Editor

The last step will be to revamp the CSS Editor, using the <div|span> property boxes as a basis. Users should see easier what’s a block-level property and what’s an inline-level property.

Bonus: the revamped CSS Editor would be perfect if it could be docked at the bottom of the screen, in “Split” view, in place of the HTML editor.

(assigned to: Sébastien “i-cue” Pontaillier)

“Media” dialog box

In KompoZer 0.8 there’s a new “Media” file type, but there’s no associated action yet. At the minimum, users should be allowed to double-click on a Media file in the site manager and get a dialog box to insert an <object> node in the current HTML document:

We also need a “Media” dialog box in the format toolbar to insert:

For a 3rd-party media file, the only parameter that should be entered by the user is the URL. The HTML code that is proposed on most video websites is not HTML compliant (which can lead to data loss in KompoZer): you’ll have to generate your own markup.

This should be developed as an add-on.

Thumbnail Generator

KompoZer doesn’t allow yet to resize images properly. Many users “resize” their 10 Mpix pictures with the mouse, like they’d do it in a word processor, which results to heavy web pages.

The thumbnail generator should extend the Image property dialog:

There are (at least) two methods to resize an image:

Using ImageMagick would give a much better result, but will also require more work: more settings in the dialog box, need to install a separate application or to embed ImageMagick in an XPCOM component.

Bonus: batch processing of a picture directory to build a list-based thumbnail gallery.

This should be developed as an add-on.

Sitemap Generator

Two main goals:

This should be developed as an add-on. Not part of the Comete project.