Skip to content

PHP Samples

The sdk4php sample below includes the most common methods used when integrating PHP applications.

Professional PHP version Status Download
Version 8.1.4 and above. 7.x Active sdk4php-3.0.2.zip

The sample below describes how to integrate the OpenKM preview feature into your PHP application.

Professional PHP version Status Download
Version 8.1.4 and above. 7.x Active okmPreview-3.0.1.zip

First, you must create the web service object:

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

Then you should log in using the method “login”. You can access the “login” method from the web service object “ws” as shown below:

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

At this point you can use all the Folder methods from the “folder” class as shown below:

$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();
?>

Description:

Method Return values Description
createDocument($uuid, $name, $content) Document Creates a new document and returns a Document object with the properties of the created document.
  • Parameters:
    $uuid string type is the destination UUID of the Folder or Record
  • $name string type is the document name.
  • $content string type; it is recommended to use file_get_contents — it reads the entire file into a string

Example:

<?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();
?>

Description:

Method Return values Description
deleteDocument($uuid) void Deletes a document.
  • Parameters:
    $uuid string type is the UUID of the document

Example:

<?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();
?>

Description:

Method Return values Description
getDocumentProperties($uuid) Document Returns the document properties.
  • Parameters:
    $uuid
    string type is the UUID of the document

Example:

<?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();
?>

Description:

Method Return values Description
getContent($uuid) string Retrieves the document content (binary data) of the current document version.

Example:

<?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();
?>

Description:

Method Return values Description
getDocumentChildren($uuid) array Returns a list of all documents whose parent is fldId.
  • Parameters:
    $fldId
    string type is the UUID or path of the Document or a record node.

Example:

<?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();
?>

Description:

Method Return values Description
moveDocument($uuid, $dstId) void Moves a document into a folder or record.
  • Parameters:
    $uuid
    string type is the UUID of the document
  • $dstId string type is the UUID of the Folder or Record

Example:

<?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();
?>

Description:

Method Return values Description
copyDocument($uuid, $dstId, $newName) void Copies a document to a folder or record.
  • Parameters:
    $uuid
    string type is the uuid of the Document
  • $dstId string type is the uuid of the Folder or Record
  • $newName string type is the new name for the Document
  • When the newName parameter value is null, the document will preserve the same name.

Example:

<?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();
?>

Description:

Method Return values Description
createFolder($uuid, $name) Folder Creates a new folder and returns it as a Folder object.
  • Parameters:
    $uuid string type is the destination UUID of the Folder or Record

Example:

<?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();
?>

Description:

Method Return values Description
getFolderProperties($uuid) Folder Returns the folder properties.
  • Parameters:
    $uuid
    string type is the UUID of the Folder

Example:

<?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();
?>

Description:

Method Return values Description
deleteFolder($uuid) void Deletes a folder.
  • Parameters:
    $uuid
    string type is the UUID of the Folder

Example:

<?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();
?>

Description:

Method Return values Description
renameFolder($uuid, $newName) void Renames a folder.
  • Parameters:
    $uuid
    string type is the uuid of the Folder
  • $newName string type is the new name for the Folder

Example:

<?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();
?>

Description:

Method Return values Description
moveFolder($uuid, $dstId) void Moves a folder into another folder or record.
  • Parameters:
    $uuid
    string type is the UUID of the Folder
  • $dstId string type is the UUID of the Folder or Record

Example:

<?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();
?>

Description:

Method Return values Description
getFolderChildren($uuid) array Returns an array of all folders whose parent is fldId.
  • Parameters:
    $uuid
    string type is the UUID of the Folder or Record node

Example:

<?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();
?>

Description:

Method Return values Description
copyFolder($uuid, $dstId, $newName) void Copies a folder into another folder or record.
  • Parameters:
    $uuid
    string type is the uuid of the Folder
  • $dstId string type is the uuid of the Folder or Record
  • $newName string type is the new name for the Folder. If the value is null, the folder will preserve the same name.

Example:

<?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();
?>

Description:

Method Return values Description
extendedFolderCopy($uuid, $dstId, $categories, $keywords, $propertyGroups, $notes, $security) void Copies a folder with associated data into another folder or record.
  • Parameters:
    $uuid
    string type is the uuid of the Folder
  • $dstId string type is the uuid of the Folder or Record
  • $categories boolean type
  • $keywords boolean type
  • $propertyGroups boolean type
  • $notes boolean type
  • $security boolean type

Example:

<?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();
?>

Description:

Method Return values Description
getContentInfo($uuid) ContentInfo Returns a ContentInfo object with information about the folder.
  • Parameters:
    $uuid
    string type is the UUID or path of the folder.
  • The ContentInfo object retrieves information about:

Example:

<?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();
?>

Description:

Method Return values Description
purgeFolder($uuid) void The folder is permanently removed from the repository.
  • Parameters:
    $uuid
    string type is the uuid or path of the Folder.
  • Usually you will purge folders in /okm:trash/userId - the personal trash user locations - but it is possible to directly purge any folder from the entire repository.

Example:

<?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();
?>

Description:

Method Return values Description
setStyle($uuid, $styleId) void Sets the folder style.
  • Parameters:
    $uuid
    string type is the UUID or path of the folder.
  • $styleId long type is the id of the style.

Example:

<?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();
?>

Description:

Method Return values Description
createMissingFolders($fldPath) void Creates missing folders.
  • Parameters:
    $fldPath
    string type is the path of the folder.

Example:

<?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();
?>

Description:

Method Return values Description
createFolderFromTemplate($uuid, $dstPath, $language, $categories,
$keywords, $propertyGroups, $notes, $properties)
Folder Creates a new folder from the template and returns a Folder object.
  • The $uuid parameter is the UUID value of the template file.
  • The $dstPath value is the folder destination path.
  • The $language parameter is optional.
  • When the template uses metadata groups to fill in fields, these values are mandatory and must be set in the properties parameter.

Example:

<?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();
?>

Description:

Method Return values Description
addPropertyGroup($uuid, $grpName, $properties) void Adds an empty metadata group to a node.
  • Parameters:
  • $uuid string type is the uuid of the document, folder, mail or record.
  • $grpName string type: the grpName should be a valid metadata group name.

Example:

<?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();
?>

Description:

Method Return values Description
removePropertyGroup($uuid, $grpName) void Removes a metadata group of a node.
  • Parameters:
  • $uuid string type is the uuid of the document, folder, mail or record.
  • $grpName string type: the grpName should be a valid metadata group name.

Example:

<?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();
?>

Description:

Method Return values Description
getPropertyGroups($uuid) array Retrieves a list of metadata groups assigned to a node.
  • Parameters:
  • $uuid string type is the uuid of the document, folder, mail or record.

Example:

<?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();
?>

Description:

Method Return values Description
getAllPropertyGroups() array Retrieves a list of all metadata groups in the application.

Example:

<?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();
?>

Description:

Method Return values Description
getPropertyGroupForm($grpName) array Retrieves a list of all metadata group element definitions.
  • Parameters:
  • $grpName string type: the grpName should be a valid metadata group name.

Example:

<?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();
?>

Description:

Method Return values Description
getPropertyGroupFormByNode($uuid, $grpName) array Retrieves a list of all metadata group element definitions for a node.
  • Parameters:
  • $uuid string type is the uuid of the document, folder, mail or record.
  • $grpName string type is the grpName should be a valid Metadata group name.

Example:

<?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();
?>

Description:

Method Return values Description
setPropertyGroupProperties($uuid, $grpName, $properties) void Changes the metadata group values of a node.
  • Parameters:
  • $uuid string type is the uuid or path of the document, folder, mail or record.
  • $grpName string type is the grpName should be a valid Metadata group name.
  • $properties array type is an array

Example:

<?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();
?>

Description:

Method Return values Description
hasPropertyGroup($uuid, $grpName) bool Returns a boolean that indicates whether the node has a metadata group.
  • Parameters:
  • $uuid string type is the uuid of the document, folder, mail or record.
  • $grpName string type is the grpName should be a valid Metadata group name.

Example:

<?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();
?>

Description:

Method Return values Description
getRegisteredPropertyGroupDefinition() string Returns the XML metadata groups definition.

Example:

<?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();
?>

Description:

Method Return values Description
getPropertyGroupSuggestions($uuid, $grpName, $propName) array Retrieves a list of suggested metadata field values.
  • Parameters:
  • $uuid string type. It is the UUID of the document, folder, mail, or record.
  • $grpName string type. The grpName should be a valid metadata group name.
  • $propName string type. The propName parameter should be a Metadata Select field type.

Example:

<?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();
?>

Description:

Method Return values Description
registerPropertyGroupDefinition($content, $name) void Sets the XML metadata group definition into the repository.
  • Parameters:
  • $content string type. It is recommended to use file_get_contents — which reads the entire file into a string.
  • $name string type. It is the name of the property group.

Example:

<?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();
?>

Description:

Method Return values Description
getPropertyGroupProperties($uuid, $grpName) array Retrieves a list of all metadata group elements and their values for a node.
  • Parameters:
  • $uuid string type. It is the UUID of the document, folder, mail, or record.
  • $grpName string type. The grpName should be a valid metadata group name.

Example:

<?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();
?>

Description:

Method Return values Description
getPropertyGroupPropertiesByVersion($uuid, $grpName, $versionName) array Retrieves a list of all metadata group elements and their values for a node.
  • Parameters:
  • $uuid string type. It is the UUID of the document, folder, mail, or record.
  • $grpName string type. The grpName should be a valid metadata group name.
  • $versionName string type. It is the version of the document, folder, mail, or record.

Example:

<?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();
?>

Description:

Method Return values Description
find(QueryParams $queryParams, $propertiesPlugin) array Returns a list of QueryResults filtered by the values of the queryParams parameter.
  • Parameters:
    $queryParams
    QueryParams type
  • $propertiesPlugin string type, must be the canonical class name of the class which implements the NodeProperties interface.

Example:

<?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();
?>

Description:

Method Return values Description
findPaginated(QueryParams $queryParams, $offset, $limit, $propertiesPlugin) ResultSet Returns a list of paginated results filtered by the values of the queryParams parameter.
  • Parameters:
    $queryParams
    QueryParams type
  • $offset int type
  • $limit int type
  • $propertiesPlugin string type, must be the canonical class name of the class which implements the NodeProperties interface.

Example:

<?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();
?>