Update object samples

This is a list with a bunch of examples about how to update objects in OpenKM using CMIS. For a full specification of CMIS services please visit CMIS documentation 

Update object properties 

This example shows how to change object properties:

The "3864027b-f181-4291-8e63-d602ee850a8f" is the unique id - uuid - of an object in OpenKM repository. 

// default factory implementation
SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> parameters = new HashMap<String, String>();

// user credentials
parameters.put(SessionParameter.USER, "okmAdmin");
parameters.put(SessionParameter.PASSWORD, "admin");

// connection settings
parameters.put(SessionParameter.BROWSER_URL, "http://localhost:8080/openkm/cmis/browser");
parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());		

// create session
List<Repository> list= factory.getRepositories(parameters);

// List every repository found
for (Repository repository: list) {
    System.out.println("New repository found: " + repository.getId());
    System.out.println("Capabilities: ");
    System.out.println(repository.getCapabilities());	
    // Create session
    Session session = repository.createSession();
    
    // Get the folder
    Folder folder = session.getRootFolder();
                
    // Get the document
    CmisObject cmisObject = session.getObject("3864027b-f181-4291-8e63-d602ee850a8f");

    // Create properties map
    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put("cmis:name", "new_value.pdf");

    // Update properties
    cmisObject.updateProperties(properties);
}	

At the present, the only property that could be changed using CMIS is cmis:name. Other properties are not supported for updates.

 Rename object

If you just want to change the cmis:name property, there is a special method.


The "3864027b-f181-4291-8e63-d602ee850a8f" is the unique id - uuid - of an object in OpenKM repository.

// default factory implementation
SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> parameters = new HashMap<String, String>();

// user credentials
parameters.put(SessionParameter.USER, "okmAdmin");
parameters.put(SessionParameter.PASSWORD, "admin");

// connection settings
parameters.put(SessionParameter.BROWSER_URL, "http://localhost:8080/openkm/cmis/browser");
parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());		

// create session
List<Repository> list= factory.getRepositories(parameters);

// List every repository found
for (Repository repository: list) {
    System.out.println("New repository found: " + repository.getId());
    System.out.println("Capabilities: ");
    System.out.println(repository.getCapabilities());	
    // Create session
    Session session = repository.createSession();
    
    // Get the folder
    Folder folder = session.getRootFolder();
                
    // Get the document
    CmisObject cmisObject = session.getObject("3864027b-f181-4291-8e63-d602ee850a8f");

    cmisObject.rename("new_value.pdf");
}