Folder samples

Basics

On most methods, you'll see the parameter named "fldId". The value of this parameter can be a valid folder UUID.

Example of fldId:

  • Using UUID -> "f123a950-0329-4d62-8328-0ff500fd42db"

Suggested code sample

First, you must create the webservice object:

OKMWebservices ws = OKMWebservicesFactory.newInstance(host);

Then you should log in using the method "login". You can access the "login" method from the webservice object "ws" as shown below:

ws.login(user, password);

Once you are logged in with the webservices, the session is kept in the webservice object. Then you can use the other API methods.

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

ws.folder.createFolder("1be884f4-5758-4985-94d1-f18bfe004db8", "test");

Methods

createFolder

Description:

MethodReturn valuesDescription

createFolder(String fldId, String name)

Folder

Creates a new folder and returns a Folder object.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password); ws.folder.createFolder("f123a950-0329-4d62-8328-0ff500fd42db", "test"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

getFolderProperties

Description:

MethodReturn valuesDescription

getFolderProperties(String fldId)

Folder

Returns the folder properties.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password); System.Console.WriteLine(ws.folder.getFolderProperties("f123a950-0329-4d62-8328-0ff500fd42db").toString()); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

deleteFolder

Description:

MethodReturn valuesDescription

deleteFolder(String fldId)

void

Deletes a folder.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
             try {
ws.login(user, password); ws.folder.deleteFolder("f123a950-0329-4d62-8328-0ff500fd42db"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

renameFolder

Description:

MethodReturn valuesDescription

renameFolder(String fldId, String newName)

Folder

Renames a folder.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password); // Exists folder /okm:root/test ws.folder.renameFolder("f123a950-0329-4d62-8328-0ff500fd42db", "renamedFolder"); // Folder has renamed to /okm:root/renamedFolder } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

moveFolder

Description:

MethodReturn valuesDescription

moveFolder(String fldId, String dstId)

void

Moves a folder into another folder or record.

The values of the dstId parameter should be a folder or record UUID or path.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
             try {
ws.login(user, password); // Exists folder /okm:root/test ws.folder.moveFolder("f123a950-0329-4d62-8328-0ff500fd42db", "ac165cab-a62a-4b17-89fc-2480a1d784db"); // Folder has moved to /okm:root/tmp/test } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

getFolderChildren

Description:

MethodReturn valuesDescription

getFolderChildren(String fldId)

List<Folder>

Returns a list of all folders whose parent is fldId.

The parameter fldId can be a folder or a record node.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password); foreach (Folder fld in ws.folder.getFolderChildren("f123a950-0329-4d62-8328-0ff500fd42db")) { System.Console.WriteLine(fld.toString()); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

isValidFolder

Description:

MethodReturn valuesDescription

isValidFolder(String fldId)

Boolean

Returns a boolean that indicates whether the node is a folder.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
             try {
ws.login(user, password); // Return true ws.folder.isValidFolder("f123a950-0329-4d62-8328-0ff500fd42db"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

getFolderPath

Description:

MethodReturn valuesDescription

getFolderPath(String uuid)

String

Converts a folder UUID to a folder path.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password); System.Console.WriteLine(ws.folder.getFolderPath("f123a950-0329-4d62-8328-0ff500fd42db")); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

copyFolder

Description:

MethodReturn valuesDescription

copyFolder(String fldId, String dstId, String newName)

Folder

Copies a folder into another folder or record.

The values of the dstId parameter should be a folder or record UUID or path.

When the newName parameter value is null, the folder will preserve the same name.

Only the security grants are copied to the destination; the folder's metadata, keywords, etc. are not copied.

See "extendedFolderCopy" method for this feature.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password); ws.folder.copyFolder("f123a950-0329-4d62-8328-0ff500fd42db", "a321a950-0329-4d62-8328-0ff500fd42db", "new_name"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

extendedFolderCopy

Description:

MethodReturn valuesDescription

extendedFolderCopy(String fldId, String dstId, String newName, bool categories, bool keywords, bool propertyGroups, bool notes, bool wiki, bool security)

Folder

Copies a folder with associated data into another folder or record.

The values of the dstId parameter should be a folder or record UUID.

When the newName parameter value is null, the folder will preserve the same name.

By default, only the binary data and the security grants are copied; the metadata, keywords, etc. of the folder are not copied.

Additional:

  • When the category parameter is true, the original values of the categories will be copied.
  • When the keywords parameter is true, the original values of the keywords will be copied.
  • When the property groups parameter is true, the original values of the metadata groups will be copied.
  • When the notes parameter is true, the original values of the notes will be copied.
  • When the wiki parameter is true, the original values of the wiki will be copied.
  • When the security parameter is true, the original security will be copied.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password); ws.folder.extendedFolderCopy("f123a950-0329-4d62-8328-0ff500fd42db", "055e4384-7c70-4456-b32b-f5a55a79861f", "new_name", true, true, true, true, true, true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

getContentInfo

Description:

MethodReturn valuesDescription

getContentInfo(String fldId)

ContentInfo

Returns a ContentInfo object with information about the folder.

The ContentInfo object retrieves information about:

  • The number of folders.
  • The number of documents.
  • The number of records.
  • The number of emails.
  • The size in bytes of all objects in the folder.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password);  System.Console.WriteLine(ws.folder.getContentInfo(fldUUid).toString()); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

purgeFolder

Description:

MethodReturn valuesDescription

purgeFolder(String fldId)

void

The folder is permanently removed from the repository.

Usually, you will purge folders into /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:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password); ws.folder.purgeFolder("f123a950-0329-4d62-8328-0ff500fd42db"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

createMissingFolders

Description:

MethodReturn valuesDescription

createMissingFolders(String fldPath)

void

Creates missing folders.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try {
ws.login(user, password); ws.folder.createMissingFolders("/okm:root/missingfld1/missingfld2/missingfld3"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

setFolderDescription

Description:

MethodReturn valuesDescription

setFolderDescription(string fldId, String description)

void

Sets the folder description.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
             try {
ws.login(user, password); ws.folder.setFolderDescription("f123a950-0329-4d62-8328-0ff500fd42db","Any description"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

createFolderFromTemplate

Description:

MethodReturn valuesDescription

createFolderFromTemplate(String uuid, String dstPath, bool categories, bool keywords, bool notes, bool propertyGroups, bool security, Dictionary<String, String> properties)

Folder

Creates a new folder from the template and returns a Folder object.

The uuid parameter is the template file.

The dstPath can be a folder or a record path.

When the template uses metadata groups to fill in fields, these values are mandatory and must be set in the properties parameter. 

For more information about templates and metadata, see: Creating templates.

Additional:

  • When the category parameter is true, the original values of the categories will be copied.
  • When the keywords parameter is true, the original values of the keywords will be copied.
  • When the notes parameter is true, the original values of the notes will be copied.

Example:

The example below is based on the Creating PDF template sample.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);

try
{
ws.login(user, password);
Dictionary<String, String> properties = new Dictionary<String, String>();
properties.Add("okp:tpl.name", "Some name");
DateTime date = DateTime.Now;
// Value must be converted to String ISO 8601 compliant
properties.Add("okp:tpl.bird_date", ISO8601.formatBasic(date));
properties.Add("okp:tpl.language", "[ \"java\" ]");
Folder foder = ws.folder.createFolderFromTemplate("9fa9787e-d8b0-4ff7-905a-a89f0b228ec8", "/okm:root/test/dst", true, true, false, false, false, properties));
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}