Metastorage is a PHP data access object generator compiler tool. It implements an object persistence API from a description in an XML format named CPML. The persistent object classes implement object-relational mappings, so developers do not have to write SQL manually. It features an object query language for specifying conditions for querying objects, generation of classes for producing reports, generation of classes to manage templated Web forms for creating new persistent objects, and generation of UML class diagrams. It can be run from the command line or from a Web interface.
|Tags||Software Development Code Generators Database Libraries php classes Compilers User Interfaces|
|Operating Systems||OS Independent|
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.