From 20c187880ce9b5b4b55d3027f5df07ce042ad7ec Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 11 Sep 2016 22:00:09 -0400 Subject: Merge manually pull-request #2658 --- doc/es_ES/plugin-group-provider.markdown | 54 ++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 doc/es_ES/plugin-group-provider.markdown (limited to 'doc/es_ES/plugin-group-provider.markdown') diff --git a/doc/es_ES/plugin-group-provider.markdown b/doc/es_ES/plugin-group-provider.markdown new file mode 100644 index 00000000..dd742249 --- /dev/null +++ b/doc/es_ES/plugin-group-provider.markdown @@ -0,0 +1,54 @@ +Personalizar grupos de proveedores +================================== + +Kanboard es capaz de cargar grupos de un sistema externo. +Esta caracteristica es principalmente usada para permisos de proyectos. + +Los **Projects Managers** pueden permitir el acceso a un proyecto para un grupo +El usuario final **end-user** utilizara una caja de autocomplementar y busquedas para un grupo + +Cada vez que se ejecuta una consulta de grupo , todos los proveedores de grupo registrados se ejecutan . + +Flujo de trabajo del Grupo de Proveedores **Workflow** +----------------------------------------------------- + +1. El usuario final **end-user** comienza a escribir el nombre del grupo y el campo se autocompleta +2. EL `GroupManager` la clase ejecuta la consulta para todos los proveedores de grupo registrados +3. Los resultados son fusionados y regresados a la interface de usuario +4. Antes de seleccionar un grupo, a información del grupo se sincronizan con la base de datos local si es necesario + +Interface del grupo de proveedores +---------------------------------- + +interface a implementar: `Kanboard\Core\Group\GroupProviderInterface`. + +Las clases que implementa esta interface abstracta del grupo de información, solo hay 3 metodos: + +- `getInternalId()`: Obtiene el id interno de la base de datos, de otra manera regresa 0 +- `getExternalId()`: Obtiene un id unico externo +- `getName()`: Obtiene el nombre de grupo + +Kanboard utilizará el ID externo para sincronizar con la base de datos local. + +Interface Backend del grupo de proveedores +------------------------------------------ +Interface a implementar: `Kanboard\Core\Group\GroupBackendProviderInterface`. + +Esta interface requiere solo un metodo: `find($input)`. +El argumento `$input` es el texto introducido desde la interfaz de usuario. + +Este metodo debe regresar una lista de `GroupProviderInterface`, es es el resultado de la busqueda. + +Backend de registro desde Plugins +--------------------------------- + +En el metodo `initialize()` de su plugins registrado se puede personalizar el backend : + +```php +$groupManager->register(new MyCustomLdapBackendGroupProvider($this->container)); +``` + +Ejemplos +-------- + +- [Kanboard incluye el grupo de provedores (LDAP y base de datos)](https://github.com/kanboard/kanboard/tree/master/app/Group) -- cgit v1.2.3