Ir al contenido

Ejemplos de PHP

El ejemplo sdk4php siguiente incluye los métodos más comunes usados al integrar aplicaciones PHP.

Professional Versión de PHP Estado Descarga
Versión 8.1.4 o superior. 7.x Activo sdk4php-3.0.2.zip

El ejemplo siguiente describe cómo integrar la funcionalidad de vista previa de OpenKM en su aplicación PHP.

Professional Versión de PHP Estado Descarga
Versión 8.1.4 o superior. 7.x Activo okmPreview-3.0.1.zip

Primero, debe crear el objeto de servicio web:

$this->ws = OKMWebServicesFactory::build(self::HOST);

Luego debe iniciar sesión usando el método “login”. Puede acceder al método “login” desde el objeto de servicio web “ws” como se muestra a continuación:

$this->ws->login(self::USER, self::PASSWORD);

En este punto puede usar todos los métodos de Folder desde la clase “folder” como se muestra a continuación:

$folder = $this->ws->folder->getFolderProperties("4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5");
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$folder = $this->ws->folder->getFolderProperties("4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5");
var_dump($folder);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$$test->test();
?>

Descripción:

Método Valores de retorno Descripción
createDocument($uuid, $name, $content) Document Crea un nuevo documento y devuelve un objeto Document con las propiedades del documento creado.
  • Parámetros:
    $uuid de tipo string es el UUID de destino del Folder o Record
  • $name de tipo string es el nombre del documento.
  • $content de tipo string; se recomienda usar file_get_contents — lee el fichero completo en un string

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$fileName = dirname(__FILE__) . '/files/test.pdf';
$document = $this->ws->document->createDocument('f93ac8df-e83b-487f-9a14-0af9e910a818', 'test.pdf', file_get_contents($fileName));
var_dump($document);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
deleteDocument($uuid) void Elimina un documento.
  • Parámetros:
    $uuid de tipo string es el UUID del documento

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$this->ws->document->deleteDocument('5b37c508-b2be-4429-ba5e-acc96089c6a9');
echo 'deleted';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getDocumentProperties($uuid) Document Devuelve las propiedades del documento.
  • Parámetros:
    $uuid
    de tipo string es el UUID del documento

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$document = $this->ws->document->getDocumentProperties('7e12a9ff-95b2-4945-bf5f-1bb709d89c14');
var_dump($document);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getContent($uuid) string Recupera el contenido del documento (datos binarios) de la versión actual del documento.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
$method = 1;
$this->ws->login(self::USER, self::PASSWORD);
$content = $this->ws->document->getContent('b02877cc-bc71-4be9-9bfb-2e50b1732fd3');
switch ($method) {
case 1:
$file = fopen(dirname(__FILE__) . '/files/logo_download.png', 'w+');
fwrite($file, $content);
fclose($file);
echo 'download correct';
break;
case 2:
ob_clean();
$document = $this->ws->document->getDocumentProperties('b02877cc-bc71-4be9-9bfb-2e50b1732fd3');
$name = PathUtils::getName($document->getPath());
header("Cache-Control: maxage=1");
header("Pragma: public");
header("Content-Type: " . $document->getMimeType());
header('Content-Disposition: attachment; filename="' . $name . '"');
header("Content-Length: " . strlen($content));
echo $content;
break;
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getDocumentChildren($uuid) array Devuelve una lista de todos los documentos cuyo padre es fldId.
  • Parámetros:
    $fldId
    de tipo string es el UUID o la ruta del Document o de un nodo record.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$documents = $this->ws->document->getDocumentChildren('f93ac8df-e83b-487f-9a14-0af9e910a818');
foreach ($documents as $document) {
var_dump($document);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
moveDocument($uuid, $dstId) void Mueve un documento a un folder o record.
  • Parámetros:
    $uuid
    de tipo string es el UUID del documento
  • $dstId de tipo string es el UUID del Folder o Record

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$this->ws->document->moveDocument('b02877cc-bc71-4be9-9bfb-2e50b1732fd3', '55102c84-e4f5-4cbc-a3d1-cf1896367752');
echo 'moveDocument';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
copyDocument($uuid, $dstId, $newName) void Copia un documento a un folder o record.
  • Parámetros:
    $uuid
    de tipo string es el uuid del Document
  • $dstId de tipo string es el uuid del Folder o Record
  • $newName de tipo string es el nuevo nombre para el Document
  • Cuando el valor del parámetro newName es null, el documento conservará el mismo nombre.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$document = $this->ws->document->copyDocument('b02877cc-bc71-4be9-9bfb-2e50b1732fd3', '55102c84-e4f5-4cbc-a3d1-cf1896367752', 'new_logo.png');
var_dump($document);
echo 'copyDocument';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
createFolder($uuid, $name) Folder Crea un nuevo folder y lo devuelve como un objeto Folder.
  • Parámetros:
    $uuid de tipo string es el UUID de destino del Folder o Record

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$folder = $this->ws->folder->createFolder('f93ac8df-e83b-487f-9a14-0af9e910a818', 'test');
var_dump($folder);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getFolderProperties($uuid) Folder Devuelve las propiedades del folder.
  • Parámetros:
    $uuid
    de tipo string es el UUID del Folder

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
// const HOST = "http://localhost:8080/openkm/";
const HOST = "http://192.168.1.11:8888/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$folder = $this->ws->folder->getFolderProperties("4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5");
var_dump($folder);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
deleteFolder($uuid) void Elimina un folder.
  • Parámetros:
    $uuid
    de tipo string es el UUID del Folder

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
// const HOST = "http://localhost:8080/openkm/";
const HOST = "http://192.168.1.11:8888/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$this->ws->folder->deleteFolder("56c4d33b-daad-4389-bfdc-ee8dd5273899");
echo 'delete folder';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
renameFolder($uuid, $newName) void Renombra un folder.
  • Parámetros:
    $uuid
    de tipo string es el uuid del Folder
  • $newName de tipo string es el nuevo nombre para el Folder

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
// Exists folder /okm:root/sdk/test
$folder = $this->ws->folder->renameFolder("0b89e4ca-0019-4837-82a4-05bc05d83353", "renamedFolder");
// Folder has renamed to /okm:root/sdk/renamedFolder
echo 'rename Folder';
var_dump($folder);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
moveFolder($uuid, $dstId) void Mueve un folder a otro folder o record.
  • Parámetros:
    $uuid
    de tipo string es el UUID del Folder
  • $dstId de tipo string es el UUID del Folder o Record

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
// Exists folder /okm:root/sdk/test
$this->ws->folder->moveFolder("0b89e4ca-0019-4837-82a4-05bc05d83353", "55102c84-e4f5-4cbc-a3d1-cf1896367752");
// Folder has moved to /okm:root/move/test
echo 'move Folder';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getFolderChildren($uuid) array Devuelve un array con todos los folders cuyo padre es fldId.
  • Parámetros:
    $uuid
    de tipo string es el UUID del nodo Folder o Record

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$folders = $this->ws->folder->getFolderChildren('f93ac8df-e83b-487f-9a14-0af9e910a818');
foreach ($folders as $folder) {
var_dump($folder);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
copyFolder($uuid, $dstId, $newName) void Copia un folder a otro folder o record.
  • Parámetros:
    $uuid
    de tipo string es el uuid del Folder
  • $dstId de tipo string es el uuid del Folder o Record
  • $newName de tipo string es el nuevo nombre para el Folder. Si el valor es null, el folder conservará el mismo nombre.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$this->ws->folder->copyFolder('4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5', '55102c84-e4f5-4cbc-a3d1-cf1896367752', "new_name");
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
extendedFolderCopy($uuid, $dstId, $categories, $keywords, $propertyGroups, $notes, $security) void Copia un folder con sus datos asociados a otro folder o record.
  • Parámetros:
    $uuid
    de tipo string es el uuid del Folder
  • $dstId de tipo string es el uuid del Folder o Record
  • $categories de tipo boolean
  • $keywords de tipo boolean
  • $propertyGroups de tipo boolean
  • $notes de tipo boolean
  • $security de tipo boolean

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$folder = $this->ws->folder->extendedFolderCopy('4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5', '55102c84-e4f5-4cbc-a3d1-cf1896367752', 'new name extend copy', true, true, true, true, true);
var_dump($folder);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getContentInfo($uuid) ContentInfo Devuelve un objeto ContentInfo con información sobre el folder.
  • Parámetros:
    $uuid
    de tipo string es el UUID o la ruta del folder.
  • El objeto ContentInfo recupera información sobre:

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
var_dump($this->ws->folder->getContentInfo('4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5'));
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
purgeFolder($uuid) void El folder se elimina permanentemente del repositorio.
  • Parámetros:
    $uuid
    de tipo string es el uuid o la ruta del Folder.
  • Normalmente purgará folders en /okm:trash/userId - las ubicaciones de papelera personal del usuario - pero es posible purgar directamente cualquier folder de todo el repositorio.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$this->ws->folder->purgeFolder('d1faccb3-9e64-4d2d-865f-1c057e3a279b');
echo 'purge folder';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
setStyle($uuid, $styleId) void Establece el estilo del folder.
  • Parámetros:
    $uuid
    de tipo string es el UUID o la ruta del folder.
  • $styleId de tipo long es el id del estilo.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$this->ws->folder->setStyle('0b89e4ca-0019-4837-82a4-05bc05d83353', 1);
echo 'set style';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
createMissingFolders($fldPath) void Crea los folders que falten.
  • Parámetros:
    $fldPath
    de tipo string es la ruta del folder.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$this->ws->folder->createMissingFolders("/okm:root/sdk/missingfld2/missingfld3");
var_dump('create missing folders');
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
createFolderFromTemplate($uuid, $dstPath, $language, $categories,
$keywords, $propertyGroups, $notes, $properties)
Folder Crea un nuevo folder a partir de la plantilla y devuelve un objeto Folder.
  • El parámetro $uuid es el valor UUID del fichero plantilla.
  • El valor $dstPath es la ruta de destino del folder.
  • El parámetro $language es opcional.
  • Cuando la plantilla usa grupos de metadatos para rellenar campos, estos valores son obligatorios y deben establecerse en el parámetro properties.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
// const HOST = "http://localhost:8080/openkm/";
const HOST = "http://192.168.1.11:8888/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$properties = [];
$properties["okp:consulting.name"] = "update value";
$properties["okp:consulting.important"] = "false";
$folder = $this->ws->folder->createFolderFromTemplate('47c70047-2924-483c-bc42-23d0cbef6b17', '/okm:root/sdk/foldertemplate', 'es', true, true, true, true, $properties);
var_dump($folder);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
addPropertyGroup($uuid, $grpName, $properties) void Añade un grupo de metadatos vacío a un nodo.
  • Parámetros:
  • $uuid de tipo string es el uuid del document, folder, mail o record.
  • $grpName de tipo string: grpName debe ser un nombre de grupo de metadatos válido.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$properties = [];
$properties["okp:consulting.name"] = "new value";
$properties["okp:consulting.important"] = "true";
$this->ws->propertyGroup->addPropertyGroup('7e12a9ff-95b2-4945-bf5f-1bb709d89c14', 'okg:consulting', $properties);
echo 'Add Group';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
removePropertyGroup($uuid, $grpName) void Elimina un grupo de metadatos de un nodo.
  • Parámetros:
  • $uuid de tipo string es el uuid del document, folder, mail o record.
  • $grpName de tipo string: grpName debe ser un nombre de grupo de metadatos válido.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$this->ws->propertyGroup->removePropertyGroup('7e12a9ff-95b2-4945-bf5f-1bb709d89c14', 'okg:consulting');
echo 'Remove Group';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getPropertyGroups($uuid) array Recupera una lista de los grupos de metadatos asignados a un nodo.
  • Parámetros:
  • $uuid de tipo string es el uuid del document, folder, mail o record.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$propertyGroups = $this->ws->propertyGroup->getPropertyGroups('7e12a9ff-95b2-4945-bf5f-1bb709d89c14');
foreach ($propertyGroups as $propertyGroup) {
var_dump($propertyGroup);
echo '<br>';
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getAllPropertyGroups() array Recupera una lista de todos los grupos de metadatos de la aplicación.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$propertyGroups = $this->ws->propertyGroup->getAllPropertyGroups();
foreach ($propertyGroups as $propertyGroup) {
var_dump($propertyGroup);
echo '<br>';
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getPropertyGroupForm($grpName) array Recupera una lista de todas las definiciones de elementos del grupo de metadatos.
  • Parámetros:
  • $grpName de tipo string: grpName debe ser un nombre de grupo de metadatos válido.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExamplePropertyGroup {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testGetPropertyGroupForm() {
try {
$formElements = $this->ws->getPropertyGroupForm('okg:consulting');
foreach ($formElements as $formElement) {
var_dump($formElement);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$examplePropertyGroup = new ExamplePropertyGroup();
$examplePropertyGroup->testGetPropertyGroupPropertiesSimple();
?>

Descripción:

Método Valores de retorno Descripción
getPropertyGroupFormByNode($uuid, $grpName) array Recupera una lista de todas las definiciones de elementos del grupo de metadatos para un nodo.
  • Parámetros:
  • $uuid de tipo string es el uuid del document, folder, mail o record.
  • $grpName de tipo string, grpName debe ser un nombre de grupo de Metadata válido.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$formElements = $this->ws->propertyGroup->getPropertyGroupFormByNode('7e12a9ff-95b2-4945-bf5f-1bb709d89c14', 'okg:consulting');
foreach ($formElements as $formElement) {
var_dump($formElement);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
setPropertyGroupProperties($uuid, $grpName, $properties) void Cambia los valores del grupo de metadatos de un nodo.
  • Parámetros:
  • $uuid de tipo string es el uuid o la ruta del document, folder, mail o record.
  • $grpName de tipo string, grpName debe ser un nombre de grupo de Metadata válido.
  • $properties de tipo array es un array

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$properties = [];
$properties["okp:consulting.name"] = "update value";
$properties["okp:consulting.important"] = "false";
$this->ws->login(self::USER, self::PASSWORD);
$this->ws->propertyGroup->setPropertyGroupProperties('7e12a9ff-95b2-4945-bf5f-1bb709d89c14', 'okg:consulting', $properties);
echo 'updated';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
hasPropertyGroup($uuid, $grpName) bool Devuelve un boolean que indica si el nodo tiene un grupo de metadatos.
  • Parámetros:
  • $uuid de tipo string es el uuid del document, folder, mail o record.
  • $grpName de tipo string, grpName debe ser un nombre de grupo de Metadata válido.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
try {
$this->ws->login(self::USER, self::PASSWORD);
echo 'Have metadata group: ' . $this->ws->propertyGroup->hasPropertyGroup('7e12a9ff-95b2-4945-bf5f-1bb709d89c14', 'okg:consulting');
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getRegisteredPropertyGroupDefinition() string Devuelve la definición XML de los grupos de metadatos.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
var_dump($this->ws->propertyGroup->getRegisteredPropertyGroupDefinition());
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getPropertyGroupSuggestions($uuid, $grpName, $propName) array Recupera una lista de valores de campo de metadatos sugeridos.
  • Parámetros:
  • $uuid de tipo string. Es el UUID del document, folder, mail o record.
  • $grpName de tipo string. grpName debe ser un nombre de grupo de metadatos válido.
  • $propName de tipo string. El parámetro propName debe ser de tipo Metadata Select field.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$suggestions = $this->ws->propertyGroup->getPropertyGroupSuggestions('055b5206-35d0-4351-ba92-c304bbba7ddf', 'okg:technology', 'okp:technology.priority');
foreach ($suggestions as $suggestion) {
var_dump($suggestion);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
registerPropertyGroupDefinition($content, $name) void Establece la definición XML del grupo de metadatos en el repositorio.
  • Parámetros:
  • $content de tipo string. Se recomienda usar file_get_contents — que lee el fichero completo en un string.
  • $name de tipo string. Es el nombre del property group.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$fileName = dirname(__FILE__) . '/propertygroup/propertyGroups.xml';
$this->ws->propertyGroup->registerPropertyGroupDefinition(file_get_contents($fileName), 'sdk4php');
var_dump('Register Definition correct');
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getPropertyGroupProperties($uuid, $grpName) array Recupera una lista de todos los elementos del grupo de metadatos y sus valores para un nodo.
  • Parámetros:
  • $uuid de tipo string. Es el UUID del document, folder, mail o record.
  • $grpName de tipo string. grpName debe ser un nombre de grupo de metadatos válido.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$properties = $this->ws->propertyGroup->getPropertyGroupProperties('7e12a9ff-95b2-4945-bf5f-1bb709d89c14', 'okg:consulting');
foreach ($properties as $key => $value) {
echo 'key: ' . $key . ' value: ' . $value;
echo '<br>';
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
getPropertyGroupPropertiesByVersion($uuid, $grpName, $versionName) array Recupera una lista de todos los elementos del grupo de metadatos y sus valores para un nodo.
  • Parámetros:
  • $uuid de tipo string. Es el UUID del document, folder, mail o record.
  • $grpName de tipo string. grpName debe ser un nombre de grupo de metadatos válido.
  • $versionName de tipo string. Es la versión del document, folder, mail o record.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
try {
$this->ws->login(self::USER, self::PASSWORD);
$properties = $this->ws->propertyGroup->getPropertyGroupPropertiesByVersion('7e12a9ff-95b2-4945-bf5f-1bb709d89c14', 'okg:consulting', '1.3');
foreach ($properties as $key => $value) {
echo 'key: ' . $key . ' value: ' . $value;
echo '<br>';
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
find(QueryParams $queryParams, $propertiesPlugin) array Devuelve una lista de QueryResults filtrada por los valores del parámetro queryParams.
  • Parámetros:
    $queryParams
    de tipo QueryParams
  • $propertiesPlugin de tipo string, debe ser el nombre canónico de la clase que implementa la interfaz NodeProperties.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$queryParams = new QueryParams();
$queryParams->setDomain(QueryParams::DOCUMENT + QueryParams::FOLDER);
$queryParams->setFolder("f93ac8df-e83b-487f-9a14-0af9e910a818");
$queryParams->setFolderRecursive(true);
$queryParams->setLastModifiedFrom(20150628000000);
$queryParams->setLastModifiedTo(date('Ymdhis'));
$queryResults = $this->ws->search->find($queryParams, null);
foreach ($queryResults as $queryResult) {
var_dump($queryResult);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>

Descripción:

Método Valores de retorno Descripción
findPaginated(QueryParams $queryParams, $offset, $limit, $propertiesPlugin) ResultSet Devuelve una lista de resultados paginados filtrada por los valores del parámetro queryParams.
  • Parámetros:
    $queryParams
    de tipo QueryParams
  • $offset de tipo int
  • $limit de tipo int
  • $propertiesPlugin de tipo string, debe ser el nombre canónico de la clase que implementa la interfaz NodeProperties.

Ejemplo:

<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class Test {
const HOST = "http://localhost:8080/openkm/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST);
}
public function test() {
echo '<pre>';
try {
$this->ws->login(self::USER, self::PASSWORD);
$queryParams = new QueryParams();
$queryParams->setDomain(QueryParams::DOCUMENT + QueryParams::FOLDER);
$queryParams->setFolder("f93ac8df-e83b-487f-9a14-0af9e910a818");
$queryParams->setFolderRecursive(true);
$queryParams->setLastModifiedFrom(20150628000000);
$queryParams->setLastModifiedTo(date('Ymdhis'));
$resultSet = $this->ws->search->findPaginated($queryParams, 0, 10, null);
echo "Total results:" . $resultSet->getTotal();
foreach ($resultSet->getResults() as $queryResult) {
var_dump($queryResult);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>