An overview of work currently in progress across all the whole framework
We're in the process of freshening up the spiralcraft-sql module, which provides the SQL Store back-end for the spiralcraft.data package. This module needs to consider recent enhancements to spiralcraft.data, including query optimization techniques and the transaction management mechanism.
This optimizes the Textgen / WebUI event model with respect to state management, and formalizes the triggering of state recomputation as a core feature.
Background: The Textgen / WebUI generation engine generates text markup (eg. XML, HTML, ...) from application data. Textgen provides a facility to perform a stateful transformation of this data based on input, and to pre-compute the data that will be output before it is rendered. This "state framing" mechanism formally defines the points at which application data is read from the application into the state model, instead of allowing components to determine this on their own, thus reducing the complexity and increasing the predictability of the event model.
We've implemented a release versioning system using Ivy.
jar -tf command or another type of jar inspectorspiralcraft/depends/[organization]/[module]/[version]/More tool support is planned to help manage and query this information.
We've completed the move to Apache Ivy to manage inter-module dependencies
The Spiralcraft common build system located under the spiralcraft/build repository path has been made reusable and self updating. This permits organizations with a non-trivial repository structure containing Spiralcraft applications and additional modules to simply use Spiralcraft's build system while tailoring it to the specifics of their own organization.
The Spiralcraft build system is composed of Ant, Ivy, and BeanShell scripts as well as the Spiralcraft launcher. It depends on a specific repository structure and imposes a dependency/publishing model by convention.
The GUI Framework binds Swing components to models using spiralcraft.lang and spiralcraft.data using a hierarchical containership mechanism based on "Control" objects.
The Desktop module extends the GUI framework to provide a multi-window workspace for running various GUI applications in a common context.