Configuration File Structure
The main part of the ORM framework configuration is stored in Skipper XML configuration files. You can easily extend or change these files to customize Skipper for your own needs.
Configuration file name
Skipper looks for the XML configuration files based on the file names. This means that valid configuration files must use specific extension to be recognized. The extension is following:
XML configuration file structure
Every XML configuration file has root element
skipper-configuration. Configurations are defined in four types of child elements:
global-configurationdefines global settings available for all frameworks.
orm-configurationdefines the ORM framework specific configurations.
mvc-configurationdefines the MVC framework specific configurations.
mvc-support-ormconnects and configures specific combination of MVC and ORM.
extension-configurationdefines external extension for specific ORM framework
orm-support-extensionconnects and configures specific combination of ORM and extension
Note: All these elements can contain the same types of configuration child elements. Based on the location of these child elements their values will be used for specific ORM, MVC or MVC+ORM combination.
ORM and MVC frameworks definition
Every framework is explicitly identified by its name. When more definitions with the same name are found these configuration elements are merged. Configurations are loaded in the following order:
- Global configurations.
- MVC configurations.
- ORM configurations.
- ORM+MVC configurations.
- Extension configurations.
- ORM+Extension configurations.
Note: The load order and merging of the definition types works similar to configuration files load order.
This means that in case you define the same setting (with different value) in global context and ORM context, setting with ORM context will be used. Following examples show configuration element for Doctrine2 ORM and Symfony MVC. First example is Doctrine2 configuration:
Next example shows configuration element for Symfony MVC.
Last example illustrates how to define data types available only when Doctrine2 ORM is used with Symfony MVC. The configuration element for this combination looks like this:
Configuration subelements table
||defines special functionality, usually conected to single feature or single function|
||contains information about script files and functions. Importing and exporting ORM models is done via scripting|
||describes formating of ORM definitions i.e. XML, YML.|
||definitions of framework-speciffic attributes|
||inheritance model for given framework|
||contains data types definitions|
||contains naming conventions and possibly default names for entities in the ORM model|
These settings are used to enable specific behavior of Skipper application, model elements or some functions. They are most often connected with on ORM specific features, user request or custom features.
All available switches you can find in XML reference manual.
Scripting, Import, Export
This element defines the ORM attributes for specific framework. Attributes for
Comment can be defined inside the
attribute-types element. Detailed description how to configure ORM attributes is available in a standalone article.
This element describes inheritance types for specific ORM framework.
Data types definitons
Each ORM framework has its own data types used in the entity field definitions. These types are defined in
data-types section of the configuration file.
||name of the data type|
||list of posible aliases for the type. Used during import.|
||mark datatype as the enum type|
Templates and naming conventions
Skipper uses the definitions in this element to customize templates. Templates will help you to set the rules and naming conventions for new entities and associations.
Dynamic words are used to customize Skipper GUI, so it better reflects ORM or MVC framework you are using. At the moment only the Module dynamic word is supported.