PHP Samples
Download sdk4php
The sdk4php sample below includes the most common methods used when integrating PHP applications.
OpenKM has more than 400 methods in the API; the samples below cover the most common methods used when integrating PHP applications with OpenKM.
If you have issues trying to use methods not covered in this sample, contact OpenKM support.
Professional | PHP version | Status | Download |
---|---|---|---|
Version 8.1.4 and above. |
7.x | Active | sdk4php-3.0.2.zip |
Preview sample
The sample below describes how to integrate OpenKM preview feature in your PHP application.
Professional | PHP version | Status | Download |
---|---|---|---|
Version 8.1.4 and above. |
7.x |
Active |
Login
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);
Once you are logged in to the web services, the session is kept in the web service object. Then you can use the other API methods.
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();
?>
Document samples
createDocument
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: $name string type is the document name. $content string type; it is recommended to use file_get_contents ? 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();
?>
deleteDocument
Description:
Method | Return values | Description |
---|---|---|
deleteDocument($uuid) |
void |
Deletes a document. |
Parameters: When a document is deleted, it is automatically moved to the /okm:trash/userId 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->document->deleteDocument('5b37c508-b2be-4429-ba5e-acc96089c6a9');
echo 'deleted';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$test = new Test();
$test->test();
?>
getDocumentProperties
Description:
Method | Return values | Description |
---|---|---|
getDocumentProperties($uuid) |
Document |
Returns the document properties. |
Parameters: |
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();
?>
getContent
Description:
Method | Return values | Description |
---|---|---|
getContent($uuid) |
string |
Retrieves the document content (binary data) of the current document version. |
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() {
$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();
?>
getDocumentChildren
Description:
Method | Return values | Description |
---|---|---|
getDocumentChildren($uuid) |
array |
Returns a list of all documents whose parent is fldId. |
Parameters: |
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();
?>
moveDocument
Description:
Method | Return values | Description |
---|---|---|
moveDocument($uuid, $dstId) |
void |
Moves a document into a folder or record. |
Parameters: $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();
?>
copyDocument
Description:
Method | Return values | Description |
---|---|---|
copyDocument($uuid, $dstId, $newName) |
void |
Copies a document to a folder or record. |
Parameters: $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. Only the binary data and the security grants are copied to the destination; the metadata, keywords, etc. of the document are not copied. See the "extendedDocumentCopy" method for this feature. |
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();
?>
Folder sample
createFolder
Description:
Method | Return values | Description |
---|---|---|
createFolder($uuid, $name) |
Folder |
Creates a new folder and returns it as a Folder object. |
Parameters: |
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();
?>
getFolderProperties
Description:
Method | Return values | Description |
---|---|---|
getFolderProperties($uuid) |
Folder |
Returns the folder properties. |
Parameters: |
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();
?>
deleteFolder
Description:
Method | Return values | Description |
---|---|---|
deleteFolder($uuid) |
void |
Deletes a folder. |
Parameters: |
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();
?>
renameFolder
Description:
Method | Return values | Description |
---|---|---|
renameFolder($uuid, $newName) |
void |
Renames a folder. |
Parameters: $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();
?>
moveFolder
Description:
Method | Return values | Description |
---|---|---|
moveFolder($uuid, $dstId) |
void |
Moves a folder into another folder or record. |
Parameters: $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();
?>
getFolderChildren
Description:
Method | Return values | Description |
---|---|---|
getFolderChildren($uuid) |
array |
Returns an array of all folders whose parent is fldId. |
Parameters: |
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();
?>
copyFolder
Description:
Method | Return values | Description |
---|---|---|
copyFolder($uuid, $dstId, $newName) |
void |
Copies a folder into other folder or record. |
Parameters: $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. Only the security grants are copied to the destination; the metadata, keywords, etc. of the folder are not copied. See "extendedFolderCopy" method for this feature. |
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();
?>
extendedFolderCopy
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: $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 By default, only the binary data and the security grants are copied; the metadata, keywords, etc. of the folder are not copied. Additionally:
|
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();
?>
getContentInfo
Description:
Method | Return values | Description |
---|---|---|
getContentInfo($uuid) |
ContentInfo |
Returns a ContentInfo object with information about the folder. |
Parameters: 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();
?>
purgeFolder
Description:
Method | Return values | Description |
---|---|---|
purgeFolder($uuid) |
void |
The folder is permanently removed from the repository. |
Parameters: 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. When a folder is purged it can only be restored from a previous repository backup. The purge action removes the folder permanently from the 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();
?>
setStyle
Description:
Method | Return values | Description |
---|---|---|
setStyle($uuid, $styleId) |
void |
Sets the folder style. |
Parameters: $styleId long type is the id of the style. More information at: Folder 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();
?>
createMissingFolders
Description:
Method | Return values | Description |
---|---|---|
createMissingFolders($fldPath) |
void |
Creates missing folders. |
Parameters: |
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();
?>
createFolderFromTemplate
Description:
Method | Return values | Description |
---|---|---|
createFolderFromTemplate($uuid, $dstPath, $language, $categories, |
Folder |
Creates a new folder from the template and returns an object Folder. |
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. Additional:
|
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();
?>
PropertyGroup samples
addPropertyGroup
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 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);
$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();
?>
removePropertyGroup
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 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);
$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();
?>
getPropertyGroups
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();
?>
getAllPropertyGroups
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();
?>
getPropertyGroupForm
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.
The method is usually used to display empty form elements for creating new metadata values.
|
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();
?>
getPropertyGroupFormByNode
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. The method is usually used to display empty form elements for creating new metadata values. |
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();
?>
setPropertyGroupProperties
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 Before changing metadata, you should have the group added in the node (see addGroup method); otherwise an error will be raised. It is not mandatory to set all field values in the properties parameter; it is enough to include the fields you wish to change. The sample below is based on this Metadata group 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 {
$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();
?>
hasPropertyGroup
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();
?>
getRegisteredPropertyGroupDefinition
Description:
Method | Return values | Description |
---|---|---|
getRegisteredPropertyGroupDefinition() |
string |
Returns the XML metadata groups definition. |
This method can only be executed by a super user (ROLE_ADMIN member). |
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();
?>
getPropertyGroupSuggestions
Description:
Method | Return values | Description |
---|---|---|
getPropertyGroupSuggestions($uuid, $grpName, $propName) |
array |
Retrieves a list of suggested metadata field values. |
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. $propName string type. The propName parameter should be a Metadata Select field type. The propName parameter should be a Metadata Select field type. More information is available at Creating your own Suggestion Analyzer and Metadata Select field. The sample below is based on this Metadata group 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);
$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();
?>
registerPropertyGroupDefinition
Description:
Method | Return values | Description |
---|---|---|
registerPropertyGroupDefinition($content, $name) |
void |
Sets the XML metadata groups definition into the repository. |
Parameters: $content string type. It is recommended to use file_get_contents ? reads the entire file into a string $name string type. It is the name of the property group. This method can only be executed by super users (ROLE_ADMIN member users). |
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();
?>
getPropertyGroupProperties
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 is the UUID of the document, folder, mail, or record. $grpName string type. The grpName should be a valid metadata group name. The method is usually used to display form elements with their values to be shown or changed by the user. |
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();
?>
getPropertyGroupPropertiesByVersion
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 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. The method is usually used to display form elements with their values to be shown or changed by the user. |
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();
?>
Search samples
find
Description:
Method | Return values | Description |
---|---|---|
find(QueryParams $queryParams, $propertiesPlugin) |
array |
Returns a list of QueryResults filtered by the values of the queryParams parameter. |
Parameters: $propertiesPlugin string type, must be the canonical class name of the class which implements the NodeProperties interface. Retrieving entire objects ( Document, Folder, Record, Mail ) from REST can take a lot of time - the marshalling and unmarshalling process - while you are only interested in using a few object variables. If that is your case, you can use NodeProperties classes to retrieve only the object variables you really need. |
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();
?>
findPaginated
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: $offset int type $limit int type $propertiesPlugin string type, must be the canonical class name of the class which implements the NodeProperties interface. The parameters "limit" and "offset" allow you to retrieve just a portion of the results of a query.
For example, if your query has 1000 results, but you only want to return the first 10, you should use these values:
Now suppose you want to show the results from 11 to 20; you should use these values:
Retrieving entire objects ( Document, Folder, Record, Mail ) from REST can take a lot of time - the marshalling and unmarshalling process - while you are only interested in using a few object variables. If that is your case, you can use NodeProperties classes to retrieve only the object variables you really need. |
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();
?>