Home > psdfCorePlugin

psdfCorePlugin

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

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

Dependencias

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.

Instalación y Configuracion

Con un proyecto desde cero

  1. Crear la carpeta del proyecto

    $ mkdir [carpeta_proyecto]
  2. 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

  3. 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 .
  4. 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
  5. 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

  6. Probar acceder al framework con http://proyecto.localhost/psdf_dev.php/

En un proyecto existente

  1. 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 .
  2. Habilitar los plugins en 'config/ProjectConfiguration.class.php':

    class ProjectConfiguration extends sfProjectConfiguration
    {
        public function setup()
        {
            $this->enablePlugins( array( 'sfDoctrinePlugin',
                                         'psdfCorePlugin',
                                         'sfDoctrineGuardPlugin' ) );
        }
    }
  3. Corregir permisos necesarios

    $ cd [carpeta_proyecto]
    $php symfony psdf:permissions
  4. Crear un Macro (aplicativo) denominado 'psdf':

    $ php symfony psdf:generate-macro psdf
  5. 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
  6. 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 ]
  7. 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.

  8. 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'

  9. Cargar los datos iniciales

    $ php symfony psdf:load-data-db
    $ php symfony doctrine:data-load
  10. 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
  11. 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
  12. Cambiar la superclase en 'apps/psdf/lib/myUser.class.php'

    class myUser extends psdfUser
    {
    }
  13. Publicar recursos web de los plugins

    $ php symfony plugin:publish-assets psdfCorePlugin
    $ php symfony plugin:publish-assets sfDoctrineGuardPlugin
  14. Limpiar la cache

    $ php symfony cc
  15. Probar acceder al framework con http://proyecto.localhost/psdf_dev.php/

Contacto

  • Proyecto PSDF, http://www.proyecto-psdf.com.ar

Log de cambios

  • 2010/07/26 Version pre-Alfa
Previous:flip