Difference between revisions of "SDK for PHP 2.0"
(Created page with "{{TOCright}} __TOC__ {{Note|If '''you want to collaborate''' extending features or add newer '''contact with us at''' [http://www.openkm.com/en/contact.html contact website fo...") |
(→Example) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
'''Available zip file''' | '''Available zip file''' | ||
− | * [[File:Sdk4php- | + | * [[File:Sdk4php-2.0.zip]] |
== Advantage of use == | == Advantage of use == | ||
Line 12: | Line 12: | ||
== Example == | == Example == | ||
− | In zip file into folder called test there are some php testing files. Consider some const values must be changed to get it running in your OpenKM. For example '''const TEST_FLD = " | + | In zip file into folder called test there are some php testing files. Consider some const values must be changed to get it running in your OpenKM. For example '''const TEST_FLD = "e0856a93-3b25-4726-88fc-632dec7c6ab0"'''; in example you got below must be changed for some folder UUID in your OpenKM. |
<source lang="php"> | <source lang="php"> | ||
Line 29: | Line 29: | ||
class TestAuth { | class TestAuth { | ||
− | + | const HOST = "http://localhost:8080/OpenKM/"; | |
− | + | const USER = "okmAdmin"; | |
− | + | const PASSWORD = "admin"; | |
− | + | const TEST_DOC_PATH = "/okm:root/OpenKM/architecture.html"; | |
− | + | const TEST_DOC_UUID = 'e0856a93-3b25-4726-88fc-632dec7c6ab0'; | |
− | |||
private $ws; | private $ws; | ||
public function __construct() { | public function __construct() { | ||
− | $this->ws = OKMWebServicesFactory::build( | + | $this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD); |
} | } | ||
public function test() { | public function test() { | ||
− | + | //getGrantedRoles | |
− | + | echo '<h2>getGrantedRoles</h2>'; | |
− | + | $grantedRoles = $this->ws->getGrantedRoles(self::TEST_DOC_UUID); | |
− | + | foreach ($grantedRoles as $grantedRole) { | |
− | + | echo '<div style="margin-left:30px">'; | |
− | + | echo '<h3>GrantedRole</h3>'; | |
+ | echo '<p><strong>Role:</strong>' .$grantedRole->getRole() . '</p>'; | ||
+ | echo '<p><strong>Permissions:</strong>' .$grantedRole->getPermissions() . '</p>'; | ||
+ | echo '</div>'; | ||
+ | } | ||
− | + | //getGrantedUsers | |
− | + | echo '<h2>getGrantedUsers</h2>'; | |
− | + | $grantedUsers = $this->ws->getGrantedUsers(self::TEST_DOC_UUID); | |
− | + | foreach ($grantedUsers as $grantedUser) { | |
− | + | echo '<div style="margin-left:30px">'; | |
− | + | echo '<h3>GrantedUser</h3>'; | |
+ | echo '<p><strong>User:</strong>' .$grantedUser->getUser() . '</p>'; | ||
+ | echo '<p><strong>Permissions:</strong>' . $grantedUser->getPermissions() . '</p>'; | ||
+ | echo '</div>'; | ||
+ | } | ||
+ | |||
+ | //getRoles | ||
+ | echo '<h2>getRoles</h2>'; | ||
+ | $roles = $this->ws->getRoles(); | ||
+ | foreach ($roles as $role) { | ||
+ | echo '<div style="margin-left:30px">'; | ||
+ | echo '<p>' . $role . '</p>'; | ||
+ | echo '</div>'; | ||
+ | } | ||
− | + | //getUsers | |
− | + | echo '<h2>getUsers</h2>'; | |
− | + | $users = $this->ws->getUsers(); | |
− | + | foreach ($users as $user) { | |
− | + | echo '<div style="margin-left:30px">'; | |
− | + | echo '<p>' . $user . '</p>'; | |
+ | echo '</div>'; | ||
+ | } | ||
− | + | //getUsersByRole | |
− | + | echo '<h2>getUsersByRole</h2>'; | |
− | + | $users = $this->ws->getUsersByRole('ROLE_ADMIN'); | |
− | + | foreach ($users as $user) { | |
− | + | echo '<div style="margin-left:30px">'; | |
− | + | echo '<p>' . $user . '</p>'; | |
+ | echo '</div>'; | ||
+ | } | ||
+ | |||
+ | //getRolesByUser | ||
+ | echo '<h2>getRolesByUser</h2>'; | ||
+ | $roles = $this->ws->getRolesByUser('okmAdmin'); | ||
+ | foreach ($roles as $role) { | ||
+ | echo '<div style="margin-left:30px">'; | ||
+ | echo '<p>' . $role . '</p>'; | ||
+ | echo '</div>'; | ||
+ | } | ||
+ | |||
+ | //getMail | ||
+ | echo '<h2>getMail</h2>'; | ||
+ | echo '<p>' . $this->ws->getMail('okmAdmin') , '</p>'; | ||
− | + | //getName | |
− | + | echo '<h2>getName</h2>'; | |
− | + | echo '<p>' . $this->ws->getName('okmAdmin') . '</p>'; | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
} | } | ||
Line 135: | Line 164: | ||
public function grantRole($nodeId, $role, $permissions, $recursive); | public function grantRole($nodeId, $role, $permissions, $recursive); | ||
public function grantUser($nodeId, $user, $permissions, $recursive); | public function grantUser($nodeId, $user, $permissions, $recursive); | ||
+ | public void createUser($user, $password, $email, $name, $active); | ||
+ | public void deleteUser($user); | ||
+ | public void updateUser($user, $password, $email, $name, $active); | ||
+ | public void createRole($role, $active); | ||
+ | public void deleteRole($role); | ||
+ | public void updateRole($role, $active); | ||
+ | public void assignRole($user, $role); | ||
+ | public void removeRole($user, $role); | ||
</source> | </source> | ||
Line 187: | Line 224: | ||
public function isValidDocument($docId); | public function isValidDocument($docId); | ||
public function getDocumentPath($uuid); | public function getDocumentPath($uuid); | ||
+ | public function setLanguage($docId, $lang); | ||
+ | public function setTitle($docId, $title); | ||
+ | public function setDocumentNodeClass($docId, $ncId); | ||
+ | public Function getDetectedLanguages(); | ||
</source> | </source> | ||
Line 221: | Line 262: | ||
public function setPropertyGroupPropertiesSimple($nodeId, $grpName, $properties = array()); | public function setPropertyGroupPropertiesSimple($nodeId, $grpName, $properties = array()); | ||
public function hasGroup($nodeId, $grpName); | public function hasGroup($nodeId, $grpName); | ||
+ | public function getPropertyGroupForm($grpName); | ||
</source> | </source> | ||
Latest revision as of 17:43, 31 May 2014
If you want to collaborate extending features or add newer contact with us at contact website form indicating this URL. |
OpenKM SDK for php is a set of software developement tools that allows for the creation of applications for OpenKM. The OpenKM SDK for php include a webservices library. This webservices library is a complete API layer to access OpenKM through webservices and provides complete compatibility between OpenKM webservices versions without change code.
Available zip file
Advantage of use
We recommend to use SDK for php because it implements an extra layer between webservices and logic -factory- which allow transparently change between webservices versions without major effors. Simply instance other webservices version from factory in your source code.
Example
In zip file into folder called test there are some php testing files. Consider some const values must be changed to get it running in your OpenKM. For example const TEST_FLD = "e0856a93-3b25-4726-88fc-632dec7c6ab0"; in example you got below must be changed for some folder UUID in your OpenKM.
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
use openkm\bean\Auth;
/**
* TestAuth
*
* @author sochoa
*/
class TestAuth {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
const TEST_DOC_PATH = "/okm:root/OpenKM/architecture.html";
const TEST_DOC_UUID = 'e0856a93-3b25-4726-88fc-632dec7c6ab0';
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function test() {
//getGrantedRoles
echo '<h2>getGrantedRoles</h2>';
$grantedRoles = $this->ws->getGrantedRoles(self::TEST_DOC_UUID);
foreach ($grantedRoles as $grantedRole) {
echo '<div style="margin-left:30px">';
echo '<h3>GrantedRole</h3>';
echo '<p><strong>Role:</strong>' .$grantedRole->getRole() . '</p>';
echo '<p><strong>Permissions:</strong>' .$grantedRole->getPermissions() . '</p>';
echo '</div>';
}
//getGrantedUsers
echo '<h2>getGrantedUsers</h2>';
$grantedUsers = $this->ws->getGrantedUsers(self::TEST_DOC_UUID);
foreach ($grantedUsers as $grantedUser) {
echo '<div style="margin-left:30px">';
echo '<h3>GrantedUser</h3>';
echo '<p><strong>User:</strong>' .$grantedUser->getUser() . '</p>';
echo '<p><strong>Permissions:</strong>' . $grantedUser->getPermissions() . '</p>';
echo '</div>';
}
//getRoles
echo '<h2>getRoles</h2>';
$roles = $this->ws->getRoles();
foreach ($roles as $role) {
echo '<div style="margin-left:30px">';
echo '<p>' . $role . '</p>';
echo '</div>';
}
//getUsers
echo '<h2>getUsers</h2>';
$users = $this->ws->getUsers();
foreach ($users as $user) {
echo '<div style="margin-left:30px">';
echo '<p>' . $user . '</p>';
echo '</div>';
}
//getUsersByRole
echo '<h2>getUsersByRole</h2>';
$users = $this->ws->getUsersByRole('ROLE_ADMIN');
foreach ($users as $user) {
echo '<div style="margin-left:30px">';
echo '<p>' . $user . '</p>';
echo '</div>';
}
//getRolesByUser
echo '<h2>getRolesByUser</h2>';
$roles = $this->ws->getRolesByUser('okmAdmin');
foreach ($roles as $role) {
echo '<div style="margin-left:30px">';
echo '<p>' . $role . '</p>';
echo '</div>';
}
//getMail
echo '<h2>getMail</h2>';
echo '<p>' . $this->ws->getMail('okmAdmin') , '</p>';
//getName
echo '<h2>getName</h2>';
echo '<p>' . $this->ws->getName('okmAdmin') . '</p>';
}
}
$openkm = new OpenKM();
$testAuth = new TestAuth();
$testAuth->test();
?>
Available functions and classes
Classes
- AppVersion
- CheckBox
- Document
- Entry
- Folder
- FormElement
- FormElementComplex
- GrantedRole
- GrantedUser
- Input
- KeywordMap
- LockInfo
- Node
- Note
- Option
- Permission
- PropertyGroup
- ProposedQueryReceived
- ProposedQuerySent
- QueryParams
- QueryResult
- ResultSet
- Select
- Separator
- SuggestBox
- SimplePropertyGroup
- Text
- TextArea
- Validator
- Version
Auth
public function getGrantedRoles($nodeId);
public function getGrantedUsers($nodeId);
public function getMail($user);
public function getName($user);
public function getRoles();
public function getRolesByUser($user);
public function getUsers();
public function getUsersByRole($role);
public function revokeRole($nodeId, $role, $permissions, $recursive);
public function revokeUser($nodeId, $user, $permissions, $recursive);
public function grantRole($nodeId, $role, $permissions, $recursive);
public function grantUser($nodeId, $user, $permissions, $recursive);
public void createUser($user, $password, $email, $name, $active);
public void deleteUser($user);
public void updateUser($user, $password, $email, $name, $active);
public void createRole($role, $active);
public void deleteRole($role);
public void updateRole($role, $active);
public void assignRole($user, $role);
public void removeRole($user, $role);
Repository
public function getRootFolder();
public function getTrashFolder();
public function getTemplatesFolder();
public function getPersonalFolder();
public function getMailFolder();
public function getThesaurusFolder();
public function getCategoriesFolder();
public function purgeTrash();
public function getUpdateMessage();
public function getRepositoryUuid();
public function hasNode($nodeId);
public function getNodePath($uuid);
public function getNodeUuid($nodePath);
public function getAppVersion();
Document
public function createDocument(Document $okmDocument, $is);
public function createDocumentSimple($docPath, $is);
public function deleteDocument($docId);
public function getDocumentProperties($docId);
public function getContent($docId);
public function getContentByVersion($docId, $versionId);
public function getDocumentChildren($fldId);
public function renameDocument($docId, $newName);
public function setProperties(Document $okmDocument);
public function setLanguage($docId, $lang);
public function setTitle($docId, $title);
public function checkout($docId);
public function cancelCheckout($docId);
public function forceCancelCheckout($docId);
public function isCheckedOut($docId);
public function checkin($docId, $is, $comment);
public function getVersionHistory($docId);
public function lock($docId);
public function unlock($docId);
public function forceUnlock($docId);
public function isLocked($docId);
public function getLockInfo($docId);
public function purgeDocument($docId);
public function moveDocument($docId, $dstId);
public function copyDocument($docId, $dstId);
public function restoreVersion($docId, $versionId);
public function purgeVersionHistory($docId);
public function getVersionHistorySize($docId);
public function isValidDocument($docId);
public function getDocumentPath($uuid);
public function setLanguage($docId, $lang);
public function setTitle($docId, $title);
public function setDocumentNodeClass($docId, $ncId);
public Function getDetectedLanguages();
Folder
public function createFolder(Folder $okmFolder);
public function createFolderSimple($fldPath);
public function getFolderProperties($fldId);
public function deleteFolder($fldId);
public function renameFolder($fldId, $newName);
public function moveFolder($fldId, $dstId);
public function getFolderChildren($fldId);
public function isValidFolder($fldId);
public function getFolderPath($uuid);
Note
public function addNote($nodeId, $text);
public function getNote($noteId);
public function deleteNote($noteId);
public function setNote($noteId, $text);
public function listNotes($nodeId);
PropertyGroup
public function addGroup($nodeId, $grpName);
public function removeGroup($nodeId, $grpName);
public function getGroups($nodeId);
public function getAllGroups();
public function getPropertyGroupProperties($nodeId, $grpName);
public function setPropetyGroupProperties($nodeId, $grpName, $formElementList = array());
public function setPropertyGroupPropertiesSimple($nodeId, $grpName, $properties = array());
public function hasGroup($nodeId, $grpName);
public function getPropertyGroupForm($grpName);
Property
public function addCategory($nodeId, $catId);
public function removeCategory($nodeId, $catId);
public function addKeyword($nodeId, $keyword);
public function removeKeyword($nodeId, $keyword);
public function setEncryption($nodeId, $cipherName);
public function unsetEncryption($nodeId);
public function setSigned($nodeId, $signed);
Search
public function findByContent($content);
public function findByName($name);
public function findByKeywords($keywords = array());
public function find(QueryParams $queryParams);
public function findPaginated(QueryParams $queryParams, $offset, $limit);
public function findSimpleQueryPaginated($statement, $offset, $limit);
public function findMoreLikeThis($uuid, $max);
public function getKeywordMap($filter = array());
public function getCategorizedDocuments($categoryId);
public function saveSearch(QueryParams $params);
public function updateSearch(QueryParams $params);
public function getSearch($qpId);
public function getAllSearchs();
public function deleteSearch($qpId);