Loading repository data…
Loading repository data…
psdf / repository
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 el diseño BPMN se invocan patrones, o piezas de software, que resuelven tareas comunes.
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/