Skipper (computer software)

Skipper is a visualization tool and code/schema generator for PHP ORM frameworks like Doctrine2, Doctrine, Propel, and CakePHP, which are used to create database abstraction layer. Skipper is developed by Czech company Inventic, s.r.o. based in Brno, and was known as ORM Designer prior to rebranding in 2014.

Overview

 * Generates visual model from the schema definition files
 * Repetitive import/export of schema definitions in supported formats (XML, YML, PHP annotations)
 * Schema definition files are automatically generated from the visual model
 * Visual representation uses ER diagram extended by concepts of inheritance and many-to-many
 * Supports customization using .xml configuration files and JavaScript
 * Does not support direct connections to the database
 * Crude and simplistic visual representation and menus

Architecture
Skipper was built on the Qt framework. Import/export of the schema definitions uses XSL transformations powered by LibXslt library. Imported source files are first converted to XML format: no conversion for XML, simple conversion for YML, creating the Abstract Syntax Tree and its subsequent conversion to XML for PHP annotations. The import/export scripts are configured in JavaScript and can be freely customized.

Supported ORM frameworks
Frameworks supported for visual model and schema files generation:
 * Doctrine2
 * Doctrine
 * CakePHP

History
Skipper was created as an internal tool for the web applications developed by Inventic. It was first published as a commercial tool under the name ORM Designer in 2009. Application was reworked and optimized in January 2013, and released as ORM Designer 2. In May 2013 ORM Designer became part of the South Moravian Innovation Center Incubator program (support program for innovative technological startups). In June 2014, ORM Designer version 3 was released and rebranded under the name of Skipper