Release Notes: This release introduces the capability of generating a new type of function to create a copy of an existing persistent object in memory. The generation of form processing classes for creating new objects was enhanced to support classes with variables of types boolean, integer, decimal, and float. This release also includes several minor bugfixes.
Release Notes: This release introduces the possibility to group rows of report query results, similar to using the SQL GROUP BY clause. The Object Query Language was enhanced to support constant expressions relative to the current date and time of when the queries are executed. The algorithm of computing the path of parsed XML files was changed to avoid exceeding the length of Windows file systems path limits. The reports now support columns with boolean type expression values.
Release Notes: This released introduces several fixes in the generated PHP code to make it compliant with the backward incompatible changes in PHP 4.4. Defining all persistent object classes in separate files referenced with the includedclass tag is now allowed. The list of tables in SQL queries of OQL expressions with not in operators was corrected. The encoding of 8-bit characters used in definition files was fixed.
Release Notes: This release introduces two new operators of the Object Query Language: in and not in. These operators can be used to define search conditions to check whether an object is present or absent in a one-many or many-many relationship with another object. A new tool named XMI to Metastorage was contributed, which can convert UML class diagrams exported by UML tools in the XMI format into Metastorage class component definition format (CPML).
Release Notes: This release includes an example application that demonstrates how to use Metastorage generated code in real projects. The example application is a simple news publishing system named Metanews. The documentation was enhanced to explain how Metanews was built using a methodology named Use Case mapping. This methodology defines how to depart from UML use case diagrams to an implementation based on PHP OOP classes. The templates of the form themes were enhanced to be compliant with HTML 4.01 Strict DTD. A bug in the generation of queries that use OQL to traverse collections of objects was fixed.
Release Notes: This maintenance release included a fix for a bug that would make the code generator fail in error in certain cases. The bug was harmful because it would only make the compiler stop sometimes without generating any code. When it would not fail, the generated code was correct.
Release Notes: Support for large data variables (BLOBs) was implemented. Applications can now store and retrieve data strings or files in a large data variable with a single function call. The generate code that stores objects uses cached prepared queries. Database schemas that require table or field renaming can now be easily performed without destroying previously stored objects when classes, variables, or collections are renamed.
Release Notes: This release adds support for generating functions to manage transactions. Metastorage now lets the developer integrate handwritten code customizations in PHP with the code of the classes generated by Metastorage. The integration is done without losing the customizations when the classes are regenerated. It is also possible to retrieve object identifiers of reference variables (one-to-many relationships) of classes of external components. Several bugs were fixed to handle uncommon situations.
Release Notes: This release takes advantage of the recently introduced features of Metabase and uses auto-increment fields and primary keys to generate new object identifiers instead of emulated sequences and unique indexes. The generated code now also contains comments to let users better understand what the code does. The Metastorage installation archives now also bundle the MetaL compiler engine to make all that is necessary available with a single download.
Release Notes: This release introduced support for generating report data extraction classes that generate presentation reports or perform any other kind of bulk processing of data of objects of one or more classes. Metastorage now also supports establishing relationships between classes defined in different component files. A bug in the compiler command line processing class that made Metastorage halt under PHP 5 was fixed. Updating the values of automatic class variables was implemented. UML class diagram generation now features automatic long line word wrap support.