Folder samples

Basics

Example of UUID:

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

Suggested code sample

First, you must create the webservice object:

OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

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

ws.login(user, 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:

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

Methods

createFolder

Description:

MethodReturn valuesDescription

createFolder(String uuid, String name)

Folder

Creates a new folder and returns a Folder object.

The parameters uuid should be any valid folder or record UUID.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Folder;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            Folder folder = ws.folder.createFolder("1be884f4-5758-4985-94d1-f18bfe004db8", "test");
            System.out.println(folder);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

getFolderProperties

Description:

MethodReturn valuesDescription

getFolderProperties(String uuid)

Folder

Returns the folder properties.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            System.out.println(ws.folder.getFolderProperties("76f4155e-42af-4be4-9a1c-756497616fb6"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

deleteFolder

Description:

MethodReturn valuesDescription

deleteFolder(String fldId)

void

Deletes a folder.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            ws.folder.deleteFolder("76f4155e-42af-4be4-9a1c-756497616fb6");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

renameFolder

Description:

MethodReturn valuesDescription

renameFolder(String fldId, String newName)

void

Renames a folder.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            // Exists folder /okm:root/test
            ws.folder.renameFolder("91264771-02b9-471d-b7a3-ba8cc49a10dd", "renamedFolder");
            // Folder has renamed to /okm:root/renamedFolder
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

moveFolder

Description:

MethodReturn valuesDescription

moveFolder(String uuid, String dstId)

void

Moves a folder into another folder or a record.

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

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            // Exists folder /okm:root/test
            ws.folder.moveFolder("ada67d44-b081-4b23-bdc1-74181cafbc5d", "8599eab7-ae61-4628-8010-1103d6950c63");
            // Folder has moved to /okm:root/tmp/test
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

getFolderChildren

Description:

MethodReturn valuesDescription

getFolderChildren(String uuid)

List<Folder>

Returns a list of all folders whose parent is fldId.

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

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Folder;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            for (Folder fld : ws.folder.getFolderChildren("1be884f4-5758-4985-94d1-f18bfe004db8")) {
                System.out.println(fld);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

isValidFolder

Description:

MethodReturn valuesDescription

isValidFolder(String uuid)

Boolean

Returns a boolean indicating whether the node is a folder.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            // Return false
            ws.folder.isValidFolder("8cd1e072-8595-4dd3-b121-41d622c43f08");

            // Return true
            ws.folder.isValidFolder("1be884f4-5758-4985-94d1-f18bfe004db8");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

getFolderPath

Description:

MethodReturn valuesDescription

getFolderPath(String uuid)

String

Converts a folder UUID to a folder path.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            System.out.println(ws.folder.getFolderPath("1be884f4-5758-4985-94d1-f18bfe004db8"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

copyFolder

Description:

MethodReturn valuesDescription

copyFolder(String uuid, String dstId, String newName)

void

Copies a folder into another folder or a record.

The value 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.

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:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            ws.folder.copyFolder("ada67d44-b081-4b23-bdc1-74181cafbc5d", "8599eab7-ae61-4628-8010-1103d6950c63", "new_name");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

extendedFolderCopy

Description:

MethodReturn valuesDescription

extendedFolderCopy(String uuid, String dstId, String newName, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean security)

void

Copies a folder with the associated data into some folder or record.

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

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

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

Additional:

  • When the categories 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 propertyGroups 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 security parameter is true, the original values of the security will be copied.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Folder;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            Folder folder = ws.folder.extendedFolderCopy("ada67d44-b081-4b23-bdc1-74181cafbc5d", "8599eab7-ae61-4628-8010-1103d6950c63",
                    "new name folder", true, true, true, true, true);
            System.out.println(folder);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

getContentInfo

Description:

MethodReturn valuesDescription

getContentInfo(String uuid)

ContentInfo

Returns a ContentInfo object with information about the folder.

The ContentInfo object retrieves information about:

  • The number of folders inside it.
  • The number of documents inside it.
  • The number of records inside it.
  • The number of mails inside it.
  • The size in bytes of all objects in the folder.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            System.out.println(ws.folder.getContentInfo("ada67d44-b081-4b23-bdc1-74181cafbc5d"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

purgeFolder

Description:

MethodReturn valuesDescription

purgeFolder(String uuid)

void

The folder is permanently removed from the repository.

Usually you will purge folders in /okm:trash/userId - the personal trash user locations - but it is possible to purge any folder directly from the repository.

When a folder is purged, it will  only be able to be restored from a previous repository backup. The purge action removes the folder permanently from the repository.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            ws.folder.purgeFolder("ada67d44-b081-4b23-bdc1-74181cafbc5d");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

createMissingFolders

Description:

MethodReturn valuesDescription

createMissingFolders(String fldPath)

String

Creates missing folders.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            ws.folder.createMissingFolders("/okm:root/missingfld1/missingfld2/missingfld3");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

setFolderDescription

Description:

MethodReturn valuesDescription

setFolderDescription(String uuid, String description)

void

Sets a description.

Example:

package com.openkm;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;

public class Test {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);
            ws.folder.setFolderDescription("4c195453-246b-4ce9-86ba-b84e68d1f284", "some description");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

createFolderFromTemplate

Description:

MethodReturn valuesDescription

createFolderFromTemplate(String uuid, String dstPath, boolean categories,
            boolean keywords, boolean notes, boolean propertyGroups, boolean security, Map<String, String> properties)

Folder

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

The uuid parameter is the UUID value of the template file.

The dstPath value is the folder destination path.

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

Additional:

  • When the categories 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.
  • When the propertyGroups parameter is true, the original values of the property groups will be copied.
  • When the security parameter is true, the original values of the security will be copied.

Example:

package com.openkm.example;

import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Folder;
import com.openkm.sdk4j.bean.PropertyGroup;
import com.openkm.sdk4j.impl.OKMWebservices;
import com.openkm.sdk4j.util.ISO8601;

import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FolderExample {

    public static void main(String[] args) {
        String host = "http://localhost:8080/openkm";
        String user = "okmAdmin";
        String password = "admin";
        OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

        try {
            ws.login(user, password);

            // createFolderFromTemplate
            Map<String, String> properties = new HashMap<>();
            // okg:tpl
            properties.put("okp:tpl.name", "sdk name");
            Calendar cal = Calendar.getInstance();
            // Value must be converted to String ISO 8601 compliant
            properties.put("okp:tpl.bird_date", ISO8601.formatBasic(cal));
            properties.put("okp:tpl.language", "[ \"java\" ]");

            // Property okg:technology
            properties.put("okp:technology.comment", "sdk name");
            Folder folder = ws.folder.createFolderFromTemplate("47c70047-2924-483c-bc42-23d0cbef6b17", "/okm:root/sdk/template", true, true, true, true, true, properties);
            System.out.println(folder);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}