++ed by:

1 PAUSE user

Michael Daum
and 1 contributors


WebService::Cmis::Folder - Representation of a cmis folder

See CMIS specification document 2.1.5 Folder Object


This is a container object that holds other objects thus establishing a hierarchical structure.

Parent class: WebService::Cmis::Ojbect


getChildren(%params) -> $atomFeed

returns a paged AtomFeed. The result set contains a list of objects for each child of the Folder. The actual type of the object returned depends on the object's CMIS base type id. For example, the method might return a list that contains both Document objects and Folder objects.

See CMIS specification document getChildren

The following optional arguments are supported:

  • maxItems

  • skipCount

  • orderBy

  • filter

  • includeRelationships

  • renditionFilter

  • includeAllowableActions

  • includePathSegment

getChildrenLink() -> $href

gets the Atom link that knows how to return this object's children.

returns the 'down' link of type CMIS_TREE_TYPE

getDescendants(%params) -> $atomFeed

gets the descendants of this folder. The descendants are returned as a paged result set object. The result set contains a list of cmis objects where the actual type of each object returned will vary depending on the object's base type id.

See CMIS specification document getDescendants

The following optional argument is supported:

  • depth: Use depth=-1 for all descendants, which is the default if no depth is specified.

  • filter

  • includeAllowableActions

  • includePathSegment

  • includeRelationships

  • renditionFilter

  • types

getFolderParent -> $folderObj

See CMIS specification document getFolderParent

getFolderTree -> $atomFeed

unlike getChildren or getDescendants this method returns only the descendant objects that are folders. The results do not include the current folder.

See CMIS specification document getFolderTree

The following optional arguments are supported:

  • depth

  • filter

  • includeRelationships

  • renditionFilter

  • includeAllowableActions

  • includePathSegment

createDocument( $name, properties=>$propsList, contentFile=>$filename, contentData=>$data, contentType=>$type, contentEncoding=>$encoding, %params ) -> $cmisDocument

creates a new Document object in the current Folder using the properties provided.

See Repository::createDocument

createFolder( $name, properties=>$propertyList, %params ) -> $cmisFolder

creates a new CMIS Folder using the properties provided.

To specify a custom folder type, pass in a property called cmis:objectTypeId representing the type ID of the instance you want to create. If you do not pass in an object type ID, an instance of 'cmis:folder' will be created.


Adds an existing fileable non-folder object to a folder. This is the same as moving the object to this folder. See Object::moveTo.

See CMIS specification document addObjectToFolder


removes an object from this folder. this is done by posting it to the unfiled collection, providing the current folderId. See Object::unfile

See CMIS specification document


Deletes the folder and all of its descendant objects.

  my $resultSet = $folder->getDescendants()
  my $size = $resultSet->getSize();
  my $failedToDelete = $folder.deleteTree()
  if ($failedToDelete) {

The following optional arguments are supported:

  • allVersions

  • unfileObjects

  • continueOnFailure

See CMIS specification document


Copyright 2012-2013 Michael Daum

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/artistic.html.