Contributing to Xbeans.org

The goal of Xbeans.org is to provide a rich repository of freely available Xbeans. We welcome your contribution to this effort.

Since Xbeans are clearly partitioned pieces of functionality with well defined interfaces, independent and parallel development of Xbeans is greatly simplified. Unlike some open source projects, there is not a lot of coordination and project management required.

We are looking for contributors of the Xbeans outlined in the white paper. We also look for any useful Xbean that you can imagine. Please send us email to contribute AT xbeans.org if you plan to contribute. We intend to have a status page of all known Xbean efforts.

The best way to get started implementing an Xbean is to download the source code for Xbeans and study the sample Xbean implementation in the org.xbeans.sample package. The sample Xbean simply receives an XML document and passes it on to the next Xbean. The sample can serve as a starting point for developing other Xbeans.

Contribution notes

  1. Contributions should include a Java source and documentation.
  2. An Xbean must support the DOMSource and/or the DOMListener interfaces. Xbeans that support the DOMSource interface must invoke documentReady() on the next Xbean after processing the incoming XML document.
  3. Xbeans should be customizable at design/configuration time using normal Java Bean facilities of properties, property editors or customizers. Please don't invent other mechanisms when these facilities suffice.
  4. Your documentation should be clearly divided into a brief abstract, external documentation for the user and internal documentation of the source code. The external documentation should be an environmental impact statement of using your Xbean. The internal documentation should be useful for someone who might extend and expand the capabilities of your Xbean.
  5. If your Xbean throws an XbeansException, you should describe these exceptions in your external documentation.
  6. There are several DOM implementations available, each extending the DOM in often subtile ways. If your Xbean depends on particular implementations of the DOM, please note this clearly in the external documentation.
  7. You can contribute your Xbean according to the terms you wish. Please read the open source discussion for more details.