The Writer's Forge website has a new cleaner single-page format. The three new main applications each have updated descriptions. All old, confusing references to Bellows and Catalan have been replaced by a single pointer to the Umber project. Minor tweaks will follow over the next few weeks...
Development has just begun on a simple script writing application called NeoEmber. The first release will start off with the very basics, i.e., a fancy Notepad; later releases will add script formatting, keyboard shortcuts, scene-tracking views, and eventually revision tracking. The first release should be out in April, followed by incremental releases every month or two. The technology is Java, using Eclipse's SWT/JFace toolkit; supported platforms will be Windows, Mac OS X, and UNIX/Linux.... read more
Bellows and Catalan are now part of the new SourceForge Umber Tools Project, which was created specifically as a new home for those projects. The WritersForge project will now focus exclusively on applications for the writer of fiction, screenwriting, and non-fiction documents, in particular the PerEmber writing suite. (The writersforge web site will soon be updated to reflect the new direction.) All new releases of Bellows and Catalan will appear at http://sourceforge.net/projects/umber.
Another in-transition development release. This one focuses on refactoring the TextWorker to use a new top-level text API; TextWorker is now more of a thin wrapper, and its functionality is now easier to use directly from other Java code (no IWorker setup/teardown). The next release will do the same for the XmlWorker. Also added some new text commands, plus a new dispatch worker to process text nodes differently depending on whether or not they match a given regular expression. The user guide docs have not been updated, since the API is still in flux; they will be completely rewritten for the 0.3.0 release (see TODO.txt). In the meantime, direct any usage questions to the mailing lists.
This release contains the first burst of new functionality under the new architecture. New workers exist for creating and manipulating multiple data queues and shuffling data nodes around, including new support for basic type conversion (e.g., String -> Date). A new worker command API greatly simplifies development of workers with many sub-tasks like the text and XML workers. A new worker metadata API opens the door for automated generation of required/optional property descriptions for all workers, including commands within a worker (which can have their own private property constraints beyond a worker).
Technology preview of the new Worker API, a complete replacement for the old processing architecture. The Worker API is much more flexible and structured, building on the successes of the old architecture while redesigning the flawed areas. All of the old set of processors have been ported to the Worker API except flow control, which will be redone in the next release. The XML transform syntax has changed, but should be cleaner and easier to use. Compelling new features include derivation and inheritance of Worker settings in the XML, better property propagation, command-line parameters that pass arbitrary settings into the workers, and a cleaner core processing model. The entire Worker API can be found in the package org.writersforge.catalan.process; sample transform XML can be found in testprocess.xml, although many of the features suggested there have not yet been implemented. NOTE: The old processing API will be deprecated in 0.2.2, but kept around until the release of 0.3.0 to make porting easier.
This release is a checkpoint release before a new series of Catalan development; it provides a stable version of the new Velocity processor, the new SQL-to-Java code generation, and an upgrade to the latest Bellows 0.2.2 release.
This release adds the full set of 1615 non-validating parser unit tests from the W3C XMLCONF testing framework. Bellows now passes all but 52 of these tests (96.8% compliance). As a result of this improved compliance, Bellows now supports XML NOTATION declarations and processing instructions, and has better, cleaner Unicode handling. The XML created by DatumWriter is much closer to the XML standard.
This release improves the integration between Velocity and Bellows, making it possible to drive Velocity templates through XML documents, using Bellows queries. Other improvements include extensions to the <group> operation, upgrades to use the latest Bellows release, and an up to date user's guide.
The highlight of this release is the new framework for XML compliance testing, which uses Catalan to generate JUnit test suites to drive the official W3C XML tests. Other fixes include a cleanup of the DatumWriter API, an updated User Guide, and an improved build environment.
Bellows is now in the process of improving its XML conformance to better meet the extensive W3C XML parser unit tests (at http://www.w3.org/XML/Test/\). Using Catalan as a code generator, Bellows can generate JUnit test suites for each sub-suite of conformance tests. Currently only the OASIS and XMLTEST suites are generated; the latest results can be found at http://writersforge.sourceforge.net/releases/bellows-0.2.1/tests/test-failures.html
The beginnings of a code generation suite, this release integrates the Jakarta Velocity template engine into Catalan TransformXML, and adds a processor for loading SQL DDL into a special Java class where it can be accessed from the Velocity template. A simple example is included in all dists in the "xml/transforms" directory for generating JavaBean bindings for arbitrary SQL tables; the "codegen" Ant task in build.xml runs the example.
The first beta release of the extensible Catalan data transformation engine includes support for ASCII and XML data processing, plus PDF generation. The comprehensive user's guide now has HTML and PDF versions generated from a text file by Catalan itself. This is a solid, stable release which should be safe to use in a production environment.
Features an updated Bellows User Guide with new HTML and PDF versions, plus a handful of usability and API improvements for PCDATA handling, ListDatum child management, and a cleanup of the DatumBrowser method signatures. This is a solid, stable release which should be safe to use in a production environment.
The last version before the 0.1.0 beta release. New features include processors for automatically converting text files into XML, for HTML-izing XML and Java content, and for assigning chapter and section numbers. Catalan can now produce nicely formatted HTML and PDF versions of the user guide from its plain text version.
This release introduces a new registry service for mapping Transform XML elements to processor classes, unifying the architecture and making it easy to extend or rename the Transform XML syntax. Other changes include a handful of new processor parameters and new expandable query templates inside the xform-insert operation.
Another leap forward in usability, with the addition of a command-line interface to the Transformer class, plus node filtering by index position, Java class, or even regular expression, and new import and export processors which can transfer data to/from the file system, or through any Reader/Writer, InputStream/OutputStream, and even from any URL on the Internet (read-only). All of this is now covered in detail in the newly updated Catalan User's Guide.
With this release, Catalan offers full-featured XML manipulation, including XSLT staples like moving, copying, and renaming elements and attributes. Additionally, Catalan supports higher level XML style transformations, like collapsing elements into attributes, and recursively changing naming styles for elements and attributes, e.g., from "child-node" to "childNode". The XML transformations are integrated seamlessly with the ASCII and JavaBean marshalling transforms.
Catalan now supports marshalling between XML and JavaBean objects. The XML format is a simple mapping between elements and attributes and JavaBean properties, with high-level control over the "look and feel" of the generated XML.
To provide better integration with Java 1.4, Bellows now auto-detects its regular expression and XML parsers, using Jakarta ORO or Java 1.4 regex package, and Apache Crimson, NanoXML, or whatever SAX2 parser it can find. With this release, both NanoXML and ORO are optional when running under Java 1.4.
This release features new transforms for packing and unpacking ASCII data into Java objects, concatenating objects, exploding XML documents into Java objects, and hooks for defining custom node processors.
The beginning of Catalan's new direction, this release introduces a data transformation engine. The new engine can perform useful text manipulation like text substitution, tokenizing, and whitespace reduction, and can also transform raw Java objects into a hierarchical XML tree. The engine is easy to extend, and will soon support ASCII pack/unpack, JavaBean to XML, and more. Detailed documentation resides in the javadocs for the new org.writersforge.catalan.transform package (http://writersforge.sourceforge.net/releases/catalan-0.0.2/api-docs/).
Bellows now offers a generic Traversal API for iterating across a List of nodes, passing the nodes back to one or more NodeProcessor classes. The Bellows query engine has been ported to the Traversal API, cleaning up the code nicely. Catalan will make extensive use of the new API. This release also provides a new LogUtil class to make Apache Commons logging even easier. And finally, to better differentiate between attribute paths and attribute filters in the query language, this release changes the path syntax to use the ampersand character; the attribute filter still uses the old '@attribute' syntax.
To combat the doldrums of lackluster naming schemes and bring more clarity and character to the project, the Writer's Forge project is proud to announce new titles for three of its four sub-projects. The RenderForge PDF generating library is now Catalan (after a style of blacksmith forges); the ScriptForge writer's GUI is now Chalice; and the (mostly vaporware) CodeZen code generation project is now Crucible. Bellows is still Bellows, of course. The names seem to ring with more character, and hopefully the changes won't cause too much confusion. The changes also represent a new lease on life for the projects, and will mark new directions in development, particularly for Chalice.... read more
This release is a refactoring of the RenderForge suite into a standalone distribution called "Catalan". The feature set is roughly equivalent to RenderForge 0.0.7, but makes use of the latest Bellows 0.1.4 release and resides in a new Java package. The source code has been cleaned up quite a bit and reformatted with Jalopy.