PsdfCorePlugin is a project mainly written in PHP and JAVASCRIPT, based on the View license.
PSDF Core es una herramienta desarrollada en PHP como un plugin del framework Symfony. Su objetivo es simplificar el desarrollo de una aplicación permitiendo construir, publicar y ejecutar procesos diseñados en BPMN/XPDL. Desde
psdfCorePlugin es un paquete que integra la construcción, publicación y ejecución de procesos modelados y diseñados en notación BMPN y almacenados en el estandar XPDL. La construcción implica generar codigo PHP sobre el framework Symfony respetando su estructura, es decir en aplicaciones, modulos y acciones.
Los procesos se diseñan con la herramienta Tibco Business Studio Community Edition http://developer.tibco.com/business_studio/default.jsp en su version 3.2.0
Mas informacion en http://proyecto-psdf.com.ar
psdfCorePlugin corre sobre el framework [symfony][http://www.symfony-project.org/] en su version 1.4 mas reciente, actualmente está disponible la version 1.4.6 y puede descargarlo directamente [desde aqui][http://pear.symfony-project.com/get/symfony-1.4.6.tgz]
psdfCorePlugin utiliza el plugin [sfDoctrineGuardPlugin][http://www.symfony-project.org/plugins/sfDoctrineGuardPlugin], actualmente está disponible la version 5.0.0 y puede descargarlo directamente [desde aqui][http://plugins.symfony-project.org/get/sfDoctrineGuardPlugin/sfDoctrineGuardPlugin-5.0.0.tgz]. En la guia de instalación se indica como instalarlo de manera conjunta.
Crear la carpeta del proyecto
$ mkdir [carpeta_proyecto]
Descomprimir [symfony][http://www.symfony-project.org/]
$ cd [carpeta_proyecto]
$ mkdir -p lib/vendor
$ cd lib/vendor
$ tar -zxvf symfony-1.4.X.tgz
$ mv symfony-1.4.X symfony
Mas información en el seccion Instalación de Symfony en http://www.symfony-project.org/jobeet/1_4/Doctrine/es/01
Crear subcarpeta plugins y descomprimir alli los plugins psdfCorePlugin y sfDoctrineGuardPlugin
$ cd [carpeta_proyecto]
$ mkdir plugins
$ cd plugins
$ tar -zxvf psdfCorePlugin.tar.gz .
$ tar -zxvf sfDoctrineGuardPlugin-5.X.XX.tgz .
Crear el projecto con el instalador psdf
$ cd [carpeta_proyecto]
$ php lib/vendor/symfony/data/bin/symfony generate:project PROJECT_NAME --installer=plugins/psdfCorePlugin/data/bin/installer.php
$ php symfony psdf:initialize
Crear un Virtual host que apunte a la subcarpeta web del proyecto:
# Asegúrate de tener sólo una vez esta línea en su configuración
NameVirtualHost 127.0.0.1:8080
# Esta es la configuración de [nombre_proyecto]
Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
DocumentRoot "/home/usuario/projects/[carpeta_proyecto]/web"
DirectoryIndex index.php
<Directory "/home/usuario/projects/[carpeta_proyecto]/web">
AllowOverride All
Allow from All
</Directory>
Alias /sf /home/usuario/projects/[carpeta_proyecto]/lib/vendor/symfony/data/web/sf
<Directory "/home/usuario/projects/[carpeta_proyecto]/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Mas información en el seccion Configuracion del servidor web en http://www.symfony-project.org/jobeet/1_4/Doctrine/es/01
Probar acceder al framework con http://proyecto.localhost/psdf_dev.php/
Descomprimir los plugins psdfCorePlugin y sfDoctrineGuardPlugin en la carpeta /plugins del proyecto
$ cd [carpeta_proyecto]/plugins
$ tar -zxvf psdfCorePlugin.tar.gz .
$ tar -zxvf sfDoctrineGuardPlugin-5.X.XX.tgz .
Habilitar los plugins en 'config/ProjectConfiguration.class.php':
class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
$this->enablePlugins( array( 'sfDoctrinePlugin',
'psdfCorePlugin',
'sfDoctrineGuardPlugin' ) );
}
}
Corregir permisos necesarios
$ cd [carpeta_proyecto]
$php symfony psdf:permissions
Crear un Macro (aplicativo) denominado 'psdf':
$ php symfony psdf:generate-macro psdf
Reconstruir el modelo
$ cd [carpeta_proyecto]
$ php symfony doctrine-build-model
$ php symfony doctrine-build-sql
$ php symfony doctrine-build-forms
$ php symfony doctrine-build-filters
Definir los esquemas iniciales necesarios por el psdf en la conexion por defecto en 'config/databases.yml':
all:
psdf:
class: sfDoctrineDatabase
param:
dsn: 'pgsql:host=localhost;dbname=XXXX'
username: XXXX
password: XXXX
schemas: [ psdfwf, psdform, psdforg ]
Crear los esquemas iniciales necesarios en la base de datos:
$ php symfony psdf:create-schema-db --connection="psdf" psdforg
$ php symfony psdf:create-schema-db --connection="psdf" psdform
$ php symfony psdf:create-schema-db --connection="psdf" psdfwf
Si la tarea falla porque el usuario de la conexion no tiene los privilegios suficientes, pueden crearse los esquemas directamente sobre la base de datos.
Crear las tablas:
$ php symfony doctrine:insert-sql
Si la tarea falla porque el usuario de la conexion no tiene los privilegios suficientes, pueden usarse las sentencias SQL generadas en 'data/sql'
Cargar los datos iniciales
$ php symfony psdf:load-data-db
$ php symfony doctrine:data-load
Habilitar modulos necesarios en la application en /apps/psdf/config/settings.yml
all:
.settings:
enabled_modules:
- default
- sfGuardGroup
- sfGuardUser
- sfGuardPermission
- sfGuardAuth
- psdfComponents
- psdfOrganizacion
- psdfUsuorg
- psdfPaquete
- psdfProceso
- psdfProyecto
Cambiar el default login and secure modules en 'apps/psdf/config/settings.yml`
login_module: sfGuardAuth
login_action: signin
secure_module: sfGuardAuth
secure_action: secure
Cambiar la superclase en 'apps/psdf/lib/myUser.class.php'
class myUser extends psdfUser
{
}
Publicar recursos web de los plugins
$ php symfony plugin:publish-assets psdfCorePlugin
$ php symfony plugin:publish-assets sfDoctrineGuardPlugin
Limpiar la cache
$ php symfony cc
Probar acceder al framework con http://proyecto.localhost/psdf_dev.php/