View the latest version of these documents: http://mozile.mozdev.org/0.7/docs/index.html

Welcome to Mozile, the WYSIWYG XHTML editor for Mozilla! This document is supposed to be a design specification for the Mozile 0.7 series of releases, describing the function of the Mozile Core. However, it is far from being complete at this point in time, and much of what it does contain does not apply to the Mozile 0.7 series. It is a work in progress, and we welcome suggestions and contributions.

Documents

  1. Mozile Documentation - A General Introduction to Mozile
  2. Mozile Development - Notes on the Development of Mozile
    1. JavaScript - JavaScript resources
    2. DOM - Document Object Model resources
    3. XUL - Extensible User-Interface Language resources
    4. XBL - Extensible Binding Language resources
    5. JSDoc - JSDoc documentation resources
    6. JSUnit - JSUnit testing framework resources
  3. Mozile Design - An explanation of the design of Mozile
    1. Mozile Usage - A description of how Mozile is used (behaviour specification)
    2. Mozile Core - A description of the Mozile Core code
    3. Mozile Modules - A description of the Mozile Modules
    4. Mozile Server-Side - A description of the Mozile Server-Side code
    5. Mozile Extension - A description of the Mozile Extension code
    6. mozileEditor Object - A description of the mozileEditor object
    7. mozileContainer Object - A description of the mozileContainer object
    8. mozileExtension Object - A description of the mozileExtension object

Contents

  1. Introduction
  2. Mozile Server-Side
    1. Pages Designed for Editing with Mozile
  3. Mozile Extension
    1. Installing
    2. Startup and Use
    3. Pages Designed for Editing with Mozile
    4. Pages Not Designed for Editing by Mozile
  4. Editing
    1. Editing Mode
    2. Inserting and Deleting Characters
    3. Special Character Dialog
    4. Creating and Deleting Elements
  5. Saving
    1. Saving a Document
  6. Configuration
    1. Mozile Options
    2. Mozile Preferences

Introduction

This document describes the behaviour that Mozile presents to the end user, the person actually editing pages using Mozile. Since there are two ways of deploying Mozile, below are sections describing the use of both Mozile Server-Side and the Mozile Extension. After these section is a discussion of common tasks, such as editing, saving, and configuring Mozile. This document does not cover the deployment of Mozile.

Mozile Server-Side

Pages Designed for Editing with Mozile

A page which is designed for editing by Mozile will include several features, two of which are mandatory while the others are optional.

Mandatory Optional

Every time a new page is loaded Mozile checks for the mozile processing instruction. In its basic for, the processing instruction looks like this:

<?mozile?>

If Mozile detects the processing instruction it will behave as if the page were designed for editing with Mozile. If the processing instruction is not detected, then Mozile will behave as if the page was not designed for editing with Mozile.

If the special processing instruction is present, the Mozile toolbar will appear. Mozile will track the user's keystrokes and mouse clicks. Every time the user's cursor moves within the page Mozile checks the CSS styling of the current selection. If the CSS indicates that the element is editable, then Mozile enters editing mode. If the CSS does not indicate that the element is editable, then Mozile will not enter editing mode or will exit editing mode.

The optional configuration file provides more detailed instructions about the way in which the page designer wants Mozile to behave. The processing instruction should be modified to point to the configuration file:

<?mozile configuration="path/to/config.file"?> More on this

Mozile Extension

Installing

Before the Mozile Extension can be used, it must be installed.

Startup and Use

This section describes the normal method by which Mozile is used. (It is assumed that Mozile is already installed.)

The user starts up the Firefox browser in the usual way. She navigates the browser by any of the usual means (links, address bar, bookmark) to a page which she wishes to edit. There are two cases here:

In the case that the page has not been designed with Mozile editing in mind (for this user), then Mozile must be explicitly started, and the user's stored set of editing preferences is applied.

In the case that the page has been designed for editing with Mozile by this user, then Mozile starts automatically and the page will specify certain default behaviours which the user will have the option of overriding.

The first case is the default behaviour. The second case is indicated by the presence of Mozile's special processing instruction in the page.

The Mozile toolbar will be hidden when the browser starts. It will reveal itself when an editable page is loaded or Mozile is explicitly started. The Mozile toolbar will automatically hide itself when the user leaves the editable page.

Pages Designed for Editing with Mozile

A page which is designed for editing by Mozile will include several features, two of which are mandatory while the others are optional.

Mandatory Optional

Every time a new page is loaded Mozile checks for the mozile processing instruction. In its basic for, the processing instruction looks like this:

<?mozile?>

If Mozile detects the processing instruction it will behave as if the page were designed for editing with Mozile. If the processing instruction is not detected, then Mozile will behave as if the page was not designed for editing with Mozile.

If the special processing instruction is present, the Mozile toolbar will appear. Mozile will track the user's keystrokes and mouse clicks. Every time the user's cursor moves within the page Mozile checks the CSS styling of the current selection. If the CSS indicates that the element is editable, then Mozile enters editing mode. If the CSS does not indicate that the element is editable, then Mozile will not enter editing mode or will exit editing mode.

The optional configuration file provides more detailed instructions about the way in which the page designer wants Mozile to behave. The processing instruction should be modified to point to the configuration file:

<?mozile configuration="path/to/config.file"?> More on this

Pages Not Designed for Editing by Mozile

If a page does not contain the special processing instruction, the Mozile will remain inactive unless the user explicitly begins editing. The user must select an Edit this page item from the Edit menu, or click on an optional button in the browser's navigation toolbar. This will activate editing mode, and apply the user's default editing preferences. Everything under the document element of an XML document, or under the body element of an XHTML document, will be editable by the user. The Mozile toolbar will appear.

Editing

Editing Mode

Mozile enters editing mode if the current page is editable and if it detects that the element which contains the user's current selection is editable. The Mozile toolbar should be visible when Mozile is in editing mode.

Editing mode allows for many of the operations expected of a word processor these include:

Inserting and Deleting Characters

Mozile responds to keyboard input much like a word processor. When a key is pressed, the appropriate character is inserted at the cursor position. Special characters can be inserted using the special character dialog.

Behaviour will depend on whether the user has selected a range of text or not.

Special Character Dialog

This is a dialog window which allows the user to insert special characters from the extended Latin 1 character set.

Creating and Deleting Elements

Saving

Saving a Document

Configuration

Mozile Options

Mozile Preferences

James A. Overton - http://mozile.mozdev.org - 2005-03-23