Installation

Automated Tests

Webware includes a suite of automated tests to make sure everything is working on your platform. To run the tests, go to the Webware root folder and run python AllTests.py . The first time you run the tests, it creates a file AllTests.config. This file has configuration options required for some tests to run, such as database connections. If you don't adjust this file, then any tests that need a database are skipped. The file includes comments that describe each option. You should find it easy to understand.

If some of the tests fail on your system, please enter it on the Bug Tracker link of the Webware home page. Also, if you find a bug that doesn't show up in the automated tests, it will be much easier for us to fix if you can submit a test case with your bug report.

Components

Each Webware component has a focused purpose and can often be used on its own. At the same time, the components are designed to work together where appropriate. You can use as much or as little of Webware as you want to.

Most people start with WebKit, which is the Webware application server.

Status

Webware is already being used for real work by a variety of people in different environments. With support from the webware-discuss mailing list, you should feel comfortable developing with Webware.

In the Component Index you will see the status of each component such as alpha and beta. For beta components we are successfully striving for backwards compatibility of the API as the components mature.

Design Points

Webware is pro-Python. These software components are not about Java, C++ or any other programming languages.

The various software components are meant to be accessible in a stand alone fashion except in those cases where one component builds on another. That doesn't preclude the idea that the components can provide hooks for integration or even automatically integrate other components when their presence is detected.

A clean, object-oriented style of development is used as much as possible.

However, Webware components don't provide a special class for each type of HTML tag. It's generally easier and more efficient to use strings like '<br><hr>' than to say something like 'BreakLine() + HorizontalRule()'.

Documentation is meant to be of the highest caliber so that users can more quickly get up and running with Webware.

All components are accompanied by examples (that also serve as tests).

Over time, regression tests are created and expanded upon for each component.

Although Webware includes more than one independent component, it's not intended to be a hodge-podge repository of any kind of web component written in Python. New components should fit into the 'feel' of what's there already and provide integration with other components wherever possible. The emphasis is on high-quality, object-oriented components (with the mild exception of the utility collections, MiscUtils and WebUtils).