PHP Samples
Esta página aún no está disponible en tu idioma.
Download sdk4php
Section titled “Download sdk4php”The sdk4php sample below includes the most common methods used by users when integrating their PHP applications.
| Professional | PHP version | Status | Download |
|---|---|---|---|
| Version 7.0.0 and above | 7.x | Active | sdk4php-3.0.3.zip |
Preview sample
Section titled “Preview sample”The sample below describes how to integrate the OpenKM preview feature in your PHP application.
| Professional | PHP version | Status | Download |
|---|---|---|---|
| Version 7.0.0 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 “folder” class as shown below:
$folder = $this->ws->folder->getFolderProperties("4a3b1c1b-c880-45a3-a6ff-2c8b7c5adfa5");<?phpinclude '../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
Section titled “Document samples”createDocument
Section titled “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:
$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 — 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
Section titled “deleteDocument”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();?>getDocumentProperties
Section titled “getDocumentProperties”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();?>getContent
Section titled “getContent”Description:
| Method | Return values | Description |
|---|---|---|
| getContent($uuid) | string | Retrieves the document content - binary data - of the actual 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();?>getDocumentChildren
Section titled “getDocumentChildren”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();?>moveDocument
Section titled “moveDocument”Description:
| Method | Return values | Description |
|---|---|---|
| moveDocument($uuid, $dstId) | void | Move 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();?>copyDocument
Section titled “copyDocument”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 parameter newName 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();?>extendedDocumentCopy
Section titled “extendedDocumentCopy”Description:
| Method | Return values | Description |
|---|---|---|
| extendedDocumentCopy($uuid, $dstId, $newName, $categories, $keywords, $propertyGroups, $notes, $security) | void | Copies a document 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
- $newName string type is the newName
- $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); $document = $this->ws->document->extendedDocumentCopy('4ee59dea-4641-4336-a2c4-af384d9040ad', 'd81ac5f3-0cb3-4cd7-997b-3b1b9f4403f8', 'copy.pdf', true, true, true, true, true); var_dump($document); echo 'extendedDocumentCopy'; } catch (Exception $e) { var_dump($e); } }
}
$openkm = new OpenKM(); //autoload$test = new Test();$test->test();?>checkout
Section titled “checkout”Description:
| Method | Return values | Description |
|---|---|---|
| checkout($uuid) | void | Marks the document for editing. |
- Parameters:
$uuid string type is the uuid or path of the Document - Only one user can modify a document at the same time.
- Before starting editing, you must perform a checkout action that locks the editing process for other users and allows it only to the user who executed the action.
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->checkout('eb0e6511-3415-47ca-bcde-393d97944c85'); // At this point the document is locked for other users except for the user who executed the action echo 'correct'; } catch (Exception $e) { var_dump($e); } }
}
$openkm = new OpenKM(); //autoload$test = new Test();$test->test();?>cancelCheckout
Section titled “cancelCheckout”Description:
| Method | Return values | Description |
|---|---|---|
| cancelCheckout($docId) | void | Cancels document editing. |
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); // At this point the document is locked for other users except for the user who executed the action $this->ws->document->cancelCheckout('eb0e6511-3415-47ca-bcde-393d97944c85'); // At this point other users are allowed to execute a checkout and modify the document echo 'correct'; } catch (Exception $e) { var_dump($e); } }
}
$openkm = new OpenKM(); //autoload$test = new Test();$test->test();?>forceCancelCheckout
Section titled “forceCancelCheckout”Description:
| Method | Return values | Description |
|---|---|---|
| forceCancelCheckout($uuid) | void | Cancels document editing. |
- Parameters:
$uuid string type is the uuid or path of the Document - This method allows you to cancel editing on any document.
- It is not mandatory that this action is executed by the same user who previously executed the checkout action.
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); // At this point the document is locked for other users except for the user who executed the action $this->ws->document->forceCancelCheckout('eb0e6511-3415-47ca-bcde-393d97944c85'); // At this point other users are allowed to execute a checkout and modify the document echo 'correct'; } catch (Exception $e) { var_dump($e); } }
}
$openkm = new OpenKM(); //autoload$test = new Test();$test->test();?>isCheckedOut
Section titled “isCheckedOut”Description:
| Method | Return values | Description |
|---|---|---|
| isCheckedOut($uuid) | bool | Returns a boolean that indicates whether the document is being edited or not. |
- Parameters:
$uuid string type is the uuid or path 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); var_dump($this->ws->document->isCheckedOut('eb0e6511-3415-47ca-bcde-393d97944c85')); } catch (Exception $e) { var_dump($e); } }
}
$openkm = new OpenKM(); //autoload$test = new Test();$test->test();?>checkin
Section titled “checkin”Description:
| Method | Return values | Description |
|---|---|---|
| checkin($uuid, $content, $comment,$increment) | Version | Updates a document with a new version and returns an object with new Version values. |
- Parameters:
$uuid string type is the uuid or path of the Document - $content string type; it is recommended to use file_get_contents — reads the entire file into a string.
- $comment string type is the comment for the new version of the document
- $increment int 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); $this->ws->document->checkout('eb0e6511-3415-47ca-bcde-393d97944c85'); if ($this->ws->document->isCheckedOut('eb0e6511-3415-47ca-bcde-393d97944c85')) { $fileName = dirname(__FILE__) . '/files/logo.png'; $version = $this->ws->document->checkin('eb0e6511-3415-47ca-bcde-393d97944c85', file_get_contents($fileName), "optional some comment", 1); var_dump($version); } } catch (Exception $e) { var_dump($e); } }
}
$openkm = new OpenKM(); //autoload$test = new Test();$test->test();?>getVersionHistory
Section titled “getVersionHistory”Folder sample
Section titled “Folder sample”createFolder
Section titled “createFolder”Description:
| Method | Return values | Description |
|---|---|---|
| createFolder($uuid, $name) | Folder | Creates a new folder and returns a Folder object as a result. |
- 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();?>getFolderProperties
Section titled “getFolderProperties”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();?>deleteFolder
Section titled “deleteFolder”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();?>renameFolder
Section titled “renameFolder”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();?>moveFolder
Section titled “moveFolder”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();?>getFolderChildren
Section titled “getFolderChildren”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();?>copyFolder
Section titled “copyFolder”Description:
| Method | Return values | Description |
|---|---|---|
| copyFolder($uuid, $dstId, $newName) | void | Copy 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. Value is null, 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();?>extendedFolderCopy
Section titled “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:
$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();?>getContentInfo
Section titled “getContentInfo”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();?>purgeFolder
Section titled “purgeFolder”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 to /okm:trash/userId - the personal trash user location - but it is possible to directly purge any folder from the whole 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();?>createMissingFolders
Section titled “createMissingFolders”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();?>createFolderFromTemplate
Section titled “createFolderFromTemplate”Description:
| Method | Return values | Description |
|---|---|---|
| createFolderFromTemplate($uuid, $dstPath, $language, $categories, $keywords, $propertyGroups, $notes, $properties) |
Folder | Creates a new folder from a 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, then 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();?>PropertyGroup samples
Section titled “PropertyGroup samples”addPropertyGroup
Section titled “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; 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
Section titled “removePropertyGroup”Description:
| Method | Return values | Description |
|---|---|---|
| removePropertyGroup($uuid, $grpName) | void | Removes a metadata group from a node. |
- Parameters:
- $uuid string type is the uuid of the document, folder, mail or record.
- $grpName string type; 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
Section titled “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
Section titled “getAllPropertyGroups”Description:
| Method | Return values | Description |
|---|---|---|
| getAllPropertyGroups() | array | Retrieves a list of all metadata groups set 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
Section titled “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.
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
Section titled “getPropertyGroupFormByNode”Description:
| Method | Return values | Description |
|---|---|---|
| getPropertyGroupFormByNode($uuid, $grpName) | array | Retrieves a list of all metadata group elements defined 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.
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
Section titled “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. The grpName should be a valid metadata group name.
- $properties array type. An array of properties.
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
Section titled “hasPropertyGroup”Description:
| Method | Return values | Description |
|---|---|---|
| hasPropertyGroup($uuid, $grpName) | bool | Returns a boolean that indicates if 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
Section titled “getRegisteredPropertyGroupDefinition”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();?>getPropertyGroupSuggestions
Section titled “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 is 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();?>registerPropertyGroupDefinition
Section titled “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. 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();?>getPropertyGroupProperties
Section titled “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.
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
Section titled “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. 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();?>Search samples
Section titled “Search samples”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 that 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();?>findPaginated
Section titled “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:
$queryParams QueryParams type - $offset int type
- $limit int type
- $propertiesPlugin string type, must be the canonical class name of the class that 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();?>