Table of contents
Below is a list of every page on the website.
- Downloading the code
Download the client, the example server applications, the source code, etc.
- Running the client
Instructions on running the client.
- Deploying the example webapp
Instructions on deploying the server webapp.
- An explanation of the examples
An in-depth explanation of the three example pages viewable with the software.
- Building from source code
How to use the source distribution.
- Technologies and libraries used by Gradient
Information on libraries used by Gradient.
- A note on the choice of license
A note on the choice of license, and the dedication of some files to the public domain.
- Technical documentation
Technical documentation that explains the extensions to XMPP, the client DOM environment, and how to write server-side apps.
- A note on terminology
Explains why some terms seem to be used interchangeably within the documentation
- The Gradient extensions
A brief summary of how XMPP works, and an explanation of how clients and server interact using Gradient.
- Retrieving documents via XMPP
Explains how documents are loaded in Gradient using the IQ stanzas in XMPP, and notes on using HTTP for large documents.
- Updating documents via XMPP
Explains how documents are updated in Gradient and how XPath is used.
- Sending data and RPC to documents
Explains how to send targeted data and updates to loaded documents, and make RPC calls to the documents.
- The Gradient client
A high-level overview of how the Gradient Client interacts with XMPP.
- Client scripting with ECMAScript
Explains how to send XMPP messages using ECMAScript embedded in client documents.
- Trapping XMPP events within DOM
Explains how to respond to RPC calls made to the document, and process other data sent from the server.
- How Gradient services work
Explains how we use the Smack API in the context of a servlet container to load XMPP services.
- Server-side XMPP service basics
An overview of the server-side application framework architecture, an explanation of the service loading servlet configuration parameters, and how XMPP services interact with the servlet container.
- The basics of a Gradient service
Explains the bare minimum of what you need to know to create a Gradient service.
- Design notes
This section contains notes on some of the design choices, and helps explain some of the less simple parts of the source code.
- Limitations on XML transported via XMPP
Describes the limitations imposed on XML transported via XMPP, and possible solutions that would allow an Gradient client to qualify as a conforming viewer, in accordance with the SVG specification.
- Transporting document fragments
Explains why I pay selective attention to the SVG specifications rules on fragmenting SVG documents.
- The semantics of Gradient and XMPP URLs
Describes a slight discrepancy in the way Gradient and XMPP use URL constructs, and the workaround chosen to solve the issue.
- Scaling with the current Gradient model
Describes a scaling problem that Gradient currently has, and possible architecture modifications to mitigate the issue.
- Preloaded document packet queuing
Explains why we queue packets for unloaded documents.
- Changes made to ProviderManager
Describes Changes to IQ-related ProviderManager behaviour.
- Document loading via XMPP
Explains one of the modifications made to the Batik code, specifically to allow loading of documents via XMPP.
- Planning
There's a whole loada stuff missing in the code at present, and bugs that need fixing.
- Known problems in the current release
A list of known problems and bugs in the current release of the software, and their status.
- Planned improvements and fixes
Features I intend to add or fix in the Gradient codebase.
- Planned protocol/code features
Major improvements or new codebases that might make interesting projects in future.
- Table of contents
Table of contents for ex-337.net/gradient. Lists every page along with a description.
- Search ex-337.net
Search this website, or similar websites, or the web.
- About
The faces behind the code.
Well, almost every page. The 404 & 500 pages aren't here. Neither is the home page - you can always go there by clicking the big GRADIENT word at the top.
© 2006. Some rights reserved. Author: Ian Sollars.