Commit Graph

70 Commits

Author SHA1 Message Date
mcuiza
f4be06d7f2 HOR-1101: Batch reassignment
.

validacion USR_UID

correccion observacion

soporte multiple plugins
2016-06-17 12:15:29 -04:00
davidcallizaya
5d0fc61985 HOR-1249 Plugin's end points routes aren't generated when disabling/enabling a plugin.
c Fix routes path
c Fix Fix class loader multiple classes
c Fix plugin.singleton serialization
2016-06-10 16:22:56 -04:00
Roly Rudy Gutierrez Pinto
1447ea8b43 HOR-7 2016-01-25 11:33:17 -04:00
Roly Rudy Gutierrez Pinto
29e0b58b7c PM-4564 2016-01-05 16:56:28 -04:00
marcelo.cuiza
ee601563fd PM-4170: Importing a simplified designer process looses its type 2015-11-30 17:00:15 -04:00
marcelo.cuiza
4cd772c402 PM-4099: Add the possibility to Replace a custom 'New Case' menu
correccion de observaciones

correccion observaciones y mejoras

.
2015-11-19 18:27:33 -04:00
Julio Cesar Laura Avendaño
f756e50aae Merged in dheeyi/processmaker/PM-3000-b (pull request #2793)
PM-3000
2015-09-23 09:42:20 -04:00
dheeyi
4374dbdea7 PM-3000
0017474: El email FROM no respeta la configuración "Email configuration"(adicionar una nueva opcion en el plugin "actions by email")

Conflicts:

	workflow/engine/classes/model/ListInbox.php
2015-09-21 13:02:43 -04:00
Victor Saisa Lopez
e6ddb81319 PM-3193 "Prepare integration of new Valeo simplified designer in process list" SOLVED
Issue:
    Prepare integration of new Valeo simplified designer in process list
Cause:
    Nuevo requerimiento de funciones
Solution:
    > Se a implementado "DESIGNER: New options in menu" para los plugins; para lo cual se define
      en el archivo principal del plugin, lo siguiente (ejemplo):
          public function setup()
          {   ...
              $this->registerDesignerMenu(PATH_PLUGINS . "DemoDesignerMenu/classes/DesignerMenuDemoDesignerMenu.php");
              ...
          }
      El archivo "DesignerMenuDemoDesignerMenu.php" es una clase donde se define las nuevas opciones
      para el "Menu New" y "Context Menu"
    > Se a implementado "DESIGNER: Edit process" para los plugins; en el listado de procesos (esto en DESIGNER)
      al hacer doble-click en un proceso, se inicia el modulo para la edicion del proceso, esto tambien
      puede ser customizado en el plugin, para lo cual se debera realizar lo siguiente:
          - Cambiar en la Base de Datos el valor del campo PROCESS.PRO_TYPE por un nuevo tipo:
                * Ejemplo: PRO_TYPE = 'CPF_STANDARD_TPL'
          - Registrar un archivo JavaScript para el plugin, esto se define en el archivo principal del
            plugin (ejemplo):
                public function setup()
                {   ...
                    $this->registerJavascript("processes/main", "DemoDesignerMenu/MyJavaScript.js");
                    ...
                }
          - En el archivo "MyJavaScript.js" se debe definir la siguiente funcion:
                function CPF_STANDARD_TPLDesignerGridRowDblClick(...)
                {   ...
                }
          - Ejemplos de "PROCESS.PRO_TYPE" y la funcion "DesignerGridRowDblClick":
                * Ejemplo: PRO_TYPE = 'CPF-STANDARD-TPL' => function CPF_STANDARD_TPLDesignerGridRowDblClick(...)
                * Ejemplo: PRO_TYPE = 'CPF STANDARD TPL' => function CPF_STANDARD_TPLDesignerGridRowDblClick(...)
    > Se adjunta el plugin "DemoDesignerMenu-1.tar" como ejmplo
2015-09-21 10:18:44 -04:00
Julio Cesar Laura
0476ca2bba Cherry pick of PM-3193 to branch 3.0.1.4 2015-09-17 14:12:15 -07:00
Marco Antonio Nina Mena
71c7f7d127 Improvement install plugin interface Enterprise manager 2015-05-13 17:15:18 -04:00
erik
467a241887 Fixing rest api dispatching for plugins with camelcase names
- plugin camelcase names are supported now
- fix for bug when a requests like
    GET /plugin-erik/hello/world
    GET /plugin-nonExistsPlugin/hello/world
  was resolving and dispatching the same resource
2015-04-29 16:15:57 -05:00
Erik
c9a92b499c Merge branch 'master' into enable-rest-api-from-plugins 2015-04-28 08:12:34 -05:00
Erik
2a4b59f71f Some fixes to avoid status error 500 when it should return 404
- Another thing to consider, the right enabling/disabling feature must be placed as following:

    -----

    class erikPlugin extends PMPlugin
    {

      ...

      public function enable()
      {
          $this->enableRestService(true);
      }

      public function disable()
      {
          $this->enableRestService(false);
      }

    }
2015-04-28 08:12:04 -05:00
Victor Saisa Lopez
92b4b028be PM-2430 "Admin > Users > Authentication Sources > New: Se..." SOLVED
Issue:
    Admin > Users > Authentication Sources > New: Se muestra la opcion del plugin
    ldapAdvanced aun cuando este esta en estado "Disable" en el workspace
Cause:
    No se verifica si el plugin esta enabled/disabled
Solution:
    Se verifica si el plugin esta enabled/disabled
2015-04-24 12:45:30 -04:00
Erik
5f4bec79b0 main changes to enable register rest api endpoints from plugins
1. Enable rest api registering feature on main plugin file
  i.e, if I have a plugin named "erik", so we have a file named workflow/engine/plugins/erik.php
       and a folder workflow/engine/plugins/erik/
   - inside of setup method of plugin main class set: $this->enableRestService(true);

---- file: erik.php ----

class erikPlugin extends PMPlugin
{
  ...
  public function setup()
  {
    $this->registerMenu("processmaker", "menuerik.php");
    ...
    $this->enableRestService(true);  // <- this line enable Rest Service dispatching feature
  }
...

2. Create a folder: workflow/engine/plugins/erik/src/Services/Api/
   $ mkdir -p workflow/engine/plugins/erik/src/Services/Api/

3. Create a Restler class inside the folder created above
   i.e. creating a Hello class.

---- file: workflow/engine/plugins/erik/src/Services/Api/Hello.php -----

<?php
namespace Services\Api;
use Luracast\Restler\RestException;
use ProcessMaker\Services\Api;
use \ProcessMaker\Util;

/**
 * @protected
 */
class Hello extends Api
{
    /**
     * @url GET /world
     */
    public function world()
    {
        try {
            $hello = array(
                'message' => 'Hello world'
            );

            return $hello;
        } catch (\Exception $e) {
            throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
        }
    }
}

---------- end file ---------

4. Disable and enable the plugin named "erik" on ProcessMaker Admin Interface

5. Use the Rest Api defined inside the plugin
   you can access from a url something like that:
   format: http://<SERVER-ADDR>/api/1.0/<WORKSPACE>/plugin-<THE-PLUGIN-NAME>/hello/world

i.e.
   http://processmaker/api/1.0/workflow/plugin-erik/hello/world

Note.- to access this url that has the protected attribute into the class
       you need provide the access token into request header.
2015-04-20 22:49:51 -04:00
Erik
120f7fce14 main changes to enable register rest api endpoints from plugins
1. Enable rest api registering feature on main plugin file
  i.e, if I have a plugin named "erik", so we have a file named workflow/engine/plugins/erik.php
       and a folder workflow/engine/plugins/erik/
   - inside of setup method of plugin main class set: $this->enableRestService(true);

---- file: erik.php ----

class erikPlugin extends PMPlugin
{
  ...
  public function setup()
  {
    $this->registerMenu("processmaker", "menuerik.php");
    ...
    $this->enableRestService(true);  // <- this line enable Rest Service dispatching feature
  }
...

2. Create a folder: workflow/engine/plugins/erik/src/Services/Api/
   $ mkdir -p workflow/engine/plugins/erik/src/Services/Api/

3. Create a Restler class inside the folder created above
   i.e. creating a Hello class.

---- file: workflow/engine/plugins/erik/src/Services/Api/Hello.php -----

<?php
namespace Services\Api;
use Luracast\Restler\RestException;
use ProcessMaker\Services\Api;
use \ProcessMaker\Util;

/**
 * @protected
 */
class Hello extends Api
{
    /**
     * @url GET /world
     */
    public function world()
    {
        try {
            $hello = array(
                'message' => 'Hello world'
            );

            return $hello;
        } catch (\Exception $e) {
            throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
        }
    }
}

---------- end file ---------

4. Disable and enable the plugin named "erik" on ProcessMaker Admin Interface

5. Use the Rest Api defined inside the plugin
   you can access from a url something like that:
   format: http://<SERVER-ADDR>/api/1.0/<WORKSPACE>/plugin-<THE-PLUGIN-NAME>/hello/world

i.e.
   http://processmaker/api/1.0/workflow/plugin-erik/hello/world

Note.- to access this url that has the protected attribute into the class
       you need provide the access token into request header.
2015-04-20 15:37:36 -05:00
Paula V. Quispe
056784289a I solved all observation by Code Injection-Hight 2015-03-12 14:51:09 -04:00
Victor Saisa Lopez
9519916804 PM-1066 "Al actualizar PM 2.5.2.3 a 2.8 no se puede crear..." SOLVED
Issue:
    - PM-1066: Al actualizar PM 2.5.2.3 a 2.8 no se puede crear dashlets del advanced dashboard
    - PM-998: Review Batch routing en Enterprise Trial
Cause:
    Este problema es a causa de que cada plugin enterprise requiere
    que este cargado la clase "enterprisePlugin"
Solution:
    Se ha agregado un "require_once" para cargar clase "enterprisePlugin"
2014-12-08 11:44:54 -04:00
Victor Saisa Lopez
5234a8bf28 PM-404 "En la actualizacion de un plugin no se actualiza el singleton" SOLVED
Issue:
    Al modificar los atributos de un plugin, este cambio no se refleja en el archivo "plugin.singleton" de cada workspace
Cause:
    ProcessMaker no detecta cuando el archivo principal de un plugin es editado
Solution:
    Se ha añdo un nuevo comando, el mismo actualiza el archivo "plugin.singleton" en cada workspace, segun los
    atributos del plugin, el comando es el siguiente:
        $ ./gulliver update-plugin-attributes pluginName
2014-10-09 14:16:08 -04:00
Marco Antonio Nina
d5d50e724c PM-399 Las funcionalidades del enterprise ya no tiene SOLVED
- A validation was added when use plugin.singleton.
2014-09-25 16:55:16 -04:00
Marco Antonio Nina
ebd5f2e2ed Improvement enable plugin 2014-09-23 13:03:53 -04:00
Julio Cesar Laura Avendaño
e4e96bcb4f Merged in marcoAntonioNina/processmaker/PM-295 (pull request #812)
PM-295 Plugin Enterprise que sea parte del core IMPROVEMENT
2014-09-23 11:49:26 -04:00
Marco Antonio Nina
e4c334dd67 PM-295 Plugin Enterprise que sea parte del core IMPROVEMENT
- change redirect.
- A validation was add in enable plugin.
2014-09-23 11:39:10 -04:00
Marco Antonio Nina
48d963a033 BUG-15561 Cambiar el algoritmo o metodo de cifrado... SOLVED
- It don't have the functionality.
- A function was add in class bootstrap hasPassword.
- a function was add in class enterprise.
2014-09-22 09:58:50 -04:00
Marco Antonio Nina
f54433b89e PM-295 Plugin Enterprise que sea parte del core SOLVED
- PM-317	Analizar como, que y donde mover los files/code del enterprise.
- PM-318	Enterprise Traducible.
- PM-320	Hacer funcionar el administrador de plugins.
2014-09-19 10:21:18 -04:00
Brayan Osmar Pereyra Suxo
1d17893c90 Arreglo de cron 2014-07-01 16:13:46 -04:00
Erik Amaru Ortiz
4288d45b08 Fix For PHP 5.4.x compatibility when PMPluginRegstry singleton is loaded from serialized file 2014-03-20 12:32:29 -04:00
Erik Amaru Ortiz
9c8d66ef07 Adding adapters for Workflow->Bpmn and Bpmn->Workflow projects, and more updates & fixes 2014-02-05 17:29:28 -04:00
Erik Amaru Ortiz
2398200adf Merge branch 'master' of github.com:colosa/processmaker
Conflicts:
	workflow/engine/classes/class.plugin.php
	workflow/engine/classes/class.pluginRegistry.php
2013-12-03 18:23:12 -04:00
Erik Amaru Ortiz
5710710673 removing debug messages 2013-12-03 18:10:09 -04:00
Erik Amaru Ortiz
b25efdd866 Adding Rest Api Service Support
Rest Service on plugins
-----------------------

1. enable service

add the following line in plugin __constructor main class
$this->enableRestService(true);

2. Create the sources directory structure by example:
if you plugin is named myPlugin

myPlugin
    |--src
        |--Services
             |--Api
                 |--MyPlugin
                      |--Test.php

Where Test.php is a Restler class
2013-12-03 17:10:18 -04:00
Julio Cesar Laura
424e03d1b6 Add "getCronFiles" method to the plugin class and change cron_single file to execute old cron files and new registered cron files 2013-11-27 17:05:51 -04:00
Julio Cesar Laura
e97a04943f Add "registerCronFile" method to the plugin class 2013-11-25 13:01:30 -04:00
ralph
24be37fc1a Moving Language verification process from enablePlugin to import plugin file 2013-04-12 14:40:16 -04:00
Brayan Osmar Pereyra Suxo
c705cb8ba0 DOC SYSTEM
Crear en META-INF translation de plugin.
Al momento de habilitar un plugin, se revisara si cuenta con translations.php si cuenta con el archivo creara su .po y subira el archivo a META-INF.
-------------------------------------------
Workspace nace con configuracion de padre.
Ahora cuando se crea un nuevo workspace, nace con la configuracion Environment.
2013-04-08 16:48:03 -04:00
Fernando Ontiveros
b5c11b4198 SPEEDY first version of boostrap.php, with many changes 2012-11-12 14:44:44 -04:00
jennylee
cfbbf82f77 CODE STYLE, changes
FILES:
gulliver/system/class.database_mssql.php
gulliver/system/class.database_mysql.php
workflow/engine/classes/class.cli.php
workflow/engine/classes/class.pluginRegistry.php
workflow/engine/classes/entities/FacetGroup.php
workflow/engine/classes/entities/SolrUpdateDocument.php
workflow/engine/classes/triggers/class.pmTalendFunctions.php
workflow/engine/methods/appFolder/appFolderList.php
workflow/engine/methods/processes/processes_Ajax.php
2012-10-22 17:23:01 -04:00
norahmollo
e21cbdbaa6 CODE STYLE Format
Change format
2012-10-19 21:30:26 +00:00
Victor Saisa Lopez
ad0f709503 BUG 9697 "PM 2.0.43 testing 7/ Enterprise 2.0.16 Cuando se..." SOLVED
- When importing a plugin, the version does not register (when the
  plugin already exists)
- Problem solved, established the plugin version at register, if the
  plugin exists
* Available from version 2.0.45
2012-10-10 15:30:27 -04:00
Fernando Ontiveros
7f1d0fad9c CODE STYLE class.pluginRegistry.php 2012-10-09 12:55:14 -04:00
Erik Amaru Ortiz
9b74ddca00 PluginRegistry class fix, Adding missing unregister method 'unregisterRestService()' on disablePlugin() 2012-08-28 12:08:55 -04:00
Erik Amaru Ortiz
6e5c72d00d Restful Feature,
- made some improvements to read & generate config file
- now the rest-gen bin can be generate rest api for a plugin from a <plugin-name>/config/rest-config.ini
conf file.
- plugins should have a directory services/rest containing all rest classes, like PM structure at CORE_PATH.
2012-08-27 10:48:32 -04:00
Erik Amaru Ortiz
ce21ee6454 PM Rest Feature: added plugins support & more improvements
from a plugin a rest class can be registered now:

on setup method add the following:
---
$this->registerRestService('Sample', [optional string: $path]);
--

and create the folder   PATH_PLUGIN . /your_plugin/classes/rest

next add a class with the flowing characteristics:

<?php

class Plugin_Services_Rest_Sample
{
    public function get()
    {
        return 'hello world';
    }
}

A class prefixed with Plugin_Services_Rest_
and add the corresponding methods for a Restler api
(http://luracast.com/products/restler/)

Finally on process maker will be exposed as:

via GET: http://127.0.0.1/rest/workflow/sample
2012-08-23 13:01:19 -04:00
Fernando Ontiveros
4f8ca480b9 fixing class definition, the constructor was defined as private function 2012-07-12 20:36:41 -04:00
Victor Saisa Lopez
3f9c2fb7a0 BUG 8925 "PM 2.0.39 testing 3 Al eliminar el plugin enterprise desde..." SOLVED
- Al eliminar el plugin enterprise en un workspace, no se elimina del registro de plugins en los demas workspaces, quedando registros de los plugins en el "plugin.singleton" en cada workspace
- Al eliminar un plugin en un workspace se eliminan tambien los registros en los demas workspaces, se ha implementado la accion "uninstall" para los plugins, ahora al eliminar un plugin se llama a su metodo "uninstall" si esta definido
2012-04-18 11:35:02 -04:00
Victor Saisa Lopez
848f1e1abc BUG 8938 "PM 2.0.39 testing 3 Al instalar la version enterprise 1.4..." SOLVED
- When install the plug-in enterprise-1.4 and upgrade to version enterprise-2.0 generate one "Fatal error"
- Added methods in the core of processmaker
- Added code in the plug-in enterprise-2.0 to uninstall the previous version automatically
2012-04-12 12:17:46 -04:00
Julio Cesar Laura
45bc1722e7 BUG 000 Arreglado problema con referencia a objetos en el listado de plugins
- Se esta usando una asignacion por refenencia cuando se almacena la informacion de los plugins, esto provoca q los
elementos posteriores al primero tengan la misma informacion, posiblemente se deba por compatibilidad con PHP 4.x
- Se cambio la asignacion por referencia por una asignacion normal ya que los objetos en PHP 5 siempre se asignan por referencia
2012-03-09 09:54:32 -04:00
Julio Cesar Laura
13d850daf2 BUG 000 Add dummy function registerDashboard for backwards compatibility 2012-01-19 16:21:20 -04:00
Julio Cesar Laura
705e2c1b8b BUG 8284 Add validation if the class of the plugin doesnt exists 2012-01-12 18:20:09 -04:00