OKMPropertyGroup
Fundamentos
Sección titulada «Fundamentos»En la mayoría de los métodos verá un parámetro llamado “nodeId”. El valor de este parámetro puede ser un UUID válido de documento, carpeta, correo o registro.
Además, en todos los métodos verá un parámetro llamado “token”. Dado que las Tareas de Cron se ejecutan en segundo plano sin autenticación, los métodos usados en este escenario podrían usar el parámetro token. En el contexto de ejecución por defecto de la aplicación, debe usar el valor “null”, que indica que la aplicación debe usar la “sesión de usuario”.
Métodos
Sección titulada «Métodos»addGroup
Sección titulada «addGroup»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| addGroup(String token, String nodeId, String grpName, Map<String, String> properties) | void | Añade un grupo de metadatos y sus valores a un nodo. |
- El grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.google.gson.Gson;import com.openkm.Config;import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.util.ISO8601;
import java.util.*;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
Map<String, String> properties = new HashMap<>(); Gson gson = new Gson(); List<String> values = new ArrayList<>(); values.add("t1"); values.add("t2"); properties.put("okp:technology.type", gson.toJson(values)); properties.put("okp:technology.language", "[ \"java\" ]"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant properties.put("okp:technology.date", ISO8601.formatBasic(cal)); properties.put("okp:technology.comment", "comment sample"); properties.put("okp:technology.description", "description sample"); properties.put("okp:technology.important", String.valueOf(true)); okmPropertyGroup.addGroup(null, "4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5", "okg:technology", properties); } catch (Exception e) { e.printStackTrace(); } }}removeGroup
Sección titulada «removeGroup»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| removeGroup(String token, String nodeId, String grpName) | void | Elimina un grupo de metadatos de un nodo. |
- El grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); okmPropertyGroup.removeGroup(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:consulting"); } catch (Exception e) { e.printStackTrace(); } }}getGroups
Sección titulada «getGroups»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getGroups(String token, String nodeId) | List |
Recupera una lista de los grupos de metadatos asignados a un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.bean.PropertyGroup;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getGroups(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338")) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getAllGroups
Sección titulada «getAllGroups»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getAllGroups(String token) | List |
Recupera una lista de todos los grupos de metadatos de la aplicación. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.bean.PropertyGroup;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getAllGroups(null)) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getAllGroups
Sección titulada «getAllGroups»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getAllGroups(String token, String nodeId) | List |
Recupera una lista de todos los grupos de metadatos de la aplicación. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.bean.PropertyGroup;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getAllGroups(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338")) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getUserGroups
Sección titulada «getUserGroups»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getUserGroups(String token) | List |
Recupera una lista de todos los grupos de metadatos del usuario en la aplicación. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.bean.PropertyGroup;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getUserGroups(null)) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getUserGroups
Sección titulada «getUserGroups»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getUserGroups(String token, String nodeId) | List |
Recupera una lista de todos los grupos de metadatos del usuario, filtrada para un nodo específico mediante reglas de automatización. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.PropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getUserGroups(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338")) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getProperties
Sección titulada «getProperties»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getProperties(String token, String nodeId, String grpName) | Map<String, String> | Recupera una lista de todos los elementos de un grupo de metadatos y sus valores en el nodo. |
- El grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import java.util.Map;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); Map<String, String> properties = okmPropertyGroup.getProperties(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:consulting"); for (String key : properties.keySet()) { System.out.println(key + ": " + properties.get(key)); } } catch (Exception e) { e.printStackTrace(); } }}setProperties
Sección titulada «setProperties»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setProperties(String token, String nodeId, String grpName, Map<String, String> properties) | void | Cambia los valores del grupo de metadatos de un nodo. |
- El grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.google.gson.Gson;import com.openkm.Config;import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;import com.openkm.util.ISO8601;
import java.util.*;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
Map<String, String> properties = new HashMap<>(); Gson gson = new Gson(); List<String> values = new ArrayList<>(); values.add("t1"); values.add("t2"); properties.put("okp:technology.type", gson.toJson(values)); properties.put("okp:technology.language", "[ \"java\" ]"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant properties.put("okp:technology.date", ISO8601.formatBasic(cal)); properties.put("okp:technology.comment", "comment sample"); properties.put("okp:technology.description", "description sample"); properties.put("okp:technology.important", String.valueOf(true)); okmPropertyGroup.setProperties(null, "4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5", "okg:technology", properties); } catch (Exception e) { e.printStackTrace(); } }}getPropertyGroupForm
Sección titulada «getPropertyGroupForm»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getPropertyGroupForm(String token, String grpName) | List |
Recupera una lista de las definiciones de todos los elementos de un grupo de metadatos. |
- El grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.form.FormElement;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (FormElement fe : okmPropertyGroup.getPropertyGroupForm(null, "okg:consulting")) { System.out.println(fe); } } catch (Exception e) { e.printStackTrace(); } }}getPropertyGroupForm (con nodeId)
Sección titulada «getPropertyGroupForm (con nodeId)»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getPropertyGroupForm(String token, String nodeId, String grpName) | List |
Recupera una lista de las definiciones de todos los elementos de un grupo de metadatos para un nodo específico. Permite que las reglas de automatización personalicen los elementos del formulario según el contexto del nodo. |
- El grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.form.FormElement;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (FormElement fe : okmPropertyGroup.getPropertyGroupForm(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:consulting")) { System.out.println(fe); } } catch (Exception e) { e.printStackTrace(); } }}hasGroup
Sección titulada «hasGroup»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| hasGroup(String token, String nodeId, String grpName) | boolean | Devuelve un booleano que indica si el nodo tiene un grupo de metadatos. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); boolean found = okmPropertyGroup.hasGroup(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:consulting"); System.out.println(found); } catch (Exception e) { e.printStackTrace(); } }}getSuggestions
Sección titulada «getSuggestions»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getSuggestions(String token, String nodeId, String grpName, String propName) | List |
Recupera una lista de valores sugeridos para un campo de metadatos. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (String value : okmPropertyGroup.getSuggestions(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:technology", "okp:technology.language")) { System.out.println(value); } } catch (Exception e) { e.printStackTrace(); } }}registerDefinition
Sección titulada «registerDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| registerDefinition(String token, String pgDef, String pgName) | void | Establece la definición XML de grupos de metadatos en el repositorio. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { InputStream is = null; try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); is = new FileInputStream("/home/files/PropertyGroups.xml"); String pgDef = IOUtils.toString(is); okmPropertyGroup.registerDefinition(null, pgDef, "test"); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); } }}getRegisteredDefinition
Sección titulada «getRegisteredDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getRegisteredDefinition(String token) | String | Devuelve la definición XML de grupos de metadatos. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); String pgDef = okmPropertyGroup.getRegisteredDefinition(null); System.out.println(pgDef); } catch (Exception e) { e.printStackTrace(); } }}getGroups
Sección titulada «getGroups»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getGroups(String token, String nodeId, String versionName) | List |
Recupera una lista de los grupos de metadatos asignados a una versión específica de un nodo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.PropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); for (PropertyGroup pg : okmPropertyGroup.getGroups(null, "82555dd1-bcc2-4e64-81cb-5f7c2b0d7801", "1.2")) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getGroupProperties
Sección titulada «getGroupProperties»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getGroupProperties(String token, Long pgdId) | List |
Recupera una lista de las propiedades de un grupo de metadatos. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.PropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); long pgdId = 1; for (PropertyGroup pg : okmPropertyGroup.getGroupProperties(null, pgdId)) { System.out.println(pg); } } catch (Exception e) { e.printStackTrace(); } }}getProperties
Sección titulada «getProperties»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getProperties(String token, String nodeId, String grpName, String versionName) | Map<String, String> | Recupera un mapa (pares clave-valor) de los valores del grupo de metadatos asignados a una versión específica de un nodo. |
Ejemplo:
package com.openkm;
import java.util.Map;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
Map<String, String> properties = okmPropertyGroup.getProperties(null, "82555dd1-bcc2-4e64-81cb-5f7c2b0d7801", "okg:tpl", "1.2"); for (String key : properties.keySet()) { System.out.println(key + ": " + properties.get(key)); } } catch (Exception e) { e.printStackTrace(); } }}getSuggestBoxKeyValue
Sección titulada «getSuggestBoxKeyValue»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getSuggestBoxKeyValue(String token, String nodeId, String grpName, String propertyName, String key) | KeyValue | Recupera un objeto que contiene la clave y el valor del suggest box. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.KeyValue;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
KeyValue kv = okmPropertyGroup.getSuggestBoxKeyValue(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:groupname", "okp:groupname.propertyname", "namekey"); System.out.println(kv.getKey() + ": " + kv.getValue()); } catch (Exception e) { e.printStackTrace(); } }}getSuggestBoxKeyValuesFiltered
Sección titulada «getSuggestBoxKeyValuesFiltered»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getSuggestBoxKeyValuesFiltered(String token, String nodeId, String grpName, String propertyName, String filter) | List |
Recupera una lista de objetos que contienen la clave y el valor del suggest box, filtrados por valor. |
Ejemplo:
package com.openkm;
import java.util.List;import com.openkm.api.OKMPropertyGroup;import com.openkm.bean.KeyValue;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
List<KeyValue> kvList = okmPropertyGroup.getSuggestBoxKeyValuesFiltered(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:groupname", "okp:groupname.propertyname", "filter"); for (KeyValue kv : kvList) { System.out.println(kv.getKey() + ": " + kv.getValue()); } } catch (Exception e) { e.printStackTrace(); } }}addOrSetPropertyGroupWithAI
Sección titulada «addOrSetPropertyGroupWithAI»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| addOrSetPropertyGroupWithAI(String token, String nodeId, String grpName) | void | Usa IA para extraer y rellenar automáticamente los valores del grupo de metadatos de un nodo. Si el grupo aún no está asignado, se añade; en caso contrario, se actualizan los valores existentes. |
- El grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); okmPropertyGroup.addOrSetPropertyGroupWithAI(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:technology"); } catch (Exception e) { e.printStackTrace(); } }}getExtractedPropertyGroupWithAI
Sección titulada «getExtractedPropertyGroupWithAI»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getExtractedPropertyGroupWithAI(String token, String nodeId, String grpName) | Map<String, String> | Usa IA para extraer los valores del grupo de metadatos de un nodo y los devuelve como un mapa sin guardarlos en el repositorio. |
- El grpName debe ser un nombre de grupo de metadatos válido.
Ejemplo:
package com.openkm;
import java.util.Map;
import com.openkm.api.OKMPropertyGroup;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class); Map<String, String> props = okmPropertyGroup.getExtractedPropertyGroupWithAI(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okg:technology"); for (String key : props.keySet()) { System.out.println(key + ": " + props.get(key)); } } catch (Exception e) { e.printStackTrace(); } }}