A Symfony2 Bundle for working with the CIP4 Job Definition Format specification.
- not ready for production use (see
Status
below)
RDFJobDefinitionFormatBundle uses the oxm and DoctrineOXMBundle projects from Doctrine.
Add the following to your deps
file:
[RDFJobDefinitionFormatBundle]
git=git://github.com/richardfullmer/RDFJobDefinitionFormatBundle.git
target=/bundles/RDF/JobDefinitionFormatBundle
[doctrine-oxm]
git=http://github.com/doctrine/oxm.git
target=/doctrine-oxm
[DoctrineOXMBundle]
git=http://github.com/doctrine/DoctrineOXMBundle.git
target=/bundles/Doctrine/Bundle/OXMBundle
And run the vendors script:
$ php bin/vendors install
Add the following to your composer.json
file:
{
"require": {
"rdf/job-definition-format-bundle": "master-dev"
}
}
Add the RDF
namespace to your autoloader:
<?php
// app/autoload.php
$loader->registerNamespaces(array(
// ...
'RDF' => __DIR__.'/../vendor/bundles',
'Doctrine\\OXM' => __DIR__.'/../vendor/doctrine-oxm/lib',
'Doctrine\\Bundle' => __DIR__.'/../vendor/bundles',
));
And make sure you register the OXM Annotations:
// app/autoload.php
AnnotationRegistry::registerFile(__DIR__.'/../vendor/doctrine-oxm/lib/Doctrine/OXM/Mapping/Driver/DoctrineAnnotations.php');
Enable the bundle in the kernel:
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new RDF\JobDefinitionFormatBundle\RDFJobDefinitionFormatBundle(),
new Doctrine\Bundle\OXMBundle\DoctrineOXMBundle(),
);
}
TODO
Unit tests can be run with phpunit
and dependencies included with composer.phar
:
$ wget -nc http://getcomposer.org/composer.phar
$ php composer.phar install
$ phpunit --coverage-text
- JDF specific data types (COMPLETE)
- Metadata for serialization with doctrine-oxm (IN PROGRESS)
- Validation of JDF Entities with Symfony2 Validation library (PLANNED)
- Builders for easy construction and traversal of JDF objects (PLANNED)
- ID <=> IDREF resolution lookup (PLANNED)
- JDF device capability aware JDF Workflow (PLANNED)
Richard Fullmer [email protected]
RDFJobDefinitionFormatBundle is licensed under the MIT License. See the LICENSE file for full details.