- 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.
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
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.
- 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
- 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.
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
- 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
- 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
- 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
We performed the inclusion of the file php with require_once, for handling it.
Then took place what is necessary for to uninstall the plugin.
This method is not being used anywhere in the core of ProcessMaker. We conducted a search with the following command:
find -name '*.*' -type f | xargs grep 'uninstallPlugin'
The "installPluginArchive" is only used for plugin "enterprise 2.0", was searched in the core ProcessMaker in the branch "2.0-dev", and not find any files that use this function.