Content Tools

Overview

These functions extend Appian content and offer document/folder search, directory listing, and the ability to get/set the searchable attribute of a folder.

Functions are designed for and only work on Appian content, not the local filesystem. All search functions assume the root folder and all subfolders are searchable. Search functions will not return results contained within non-searchable objects.

All functions use the serviceContext of the user account executing the expression at runtime.

Key Features & Functionality

Data Types

  • contentSecurityRoleMap: CDT that backs the returnContentRoleMap function

Smart Services

  • Copy Document (Change Extension)
  • Delete Document Version
  • Delete Folder Contents
  • Delete Files Older Than
  • Delete Files Created Before
  • Delete Multiple Documents
  • Remove Member From Folder Security
  • Inherit Security From Parent for Folder
  • Inherit Security from Parent for Document
  • Remove Member From KC Security
  • Delete Rule/Constant Versions
  • Set Folder Security
  • Create Document Version
  • Create expression rule
  • Update expression rule expression
  • Update expression rule parameters

Functions

  • getfoldersrequiringchangesapproval
  • getsubfoldersfromfolder
  • getdocumentsfromfolder
  • getdocumentinternalidsfromfolder
  • getfilesolderthandate: Get files older than a particular date
  • getfileslargerthansize: Get files larger than a particular size
  • finddocumentsbyname
  • getconstantorruleuuidbyname
  • findcontentbyattribute
  • getcontentdetailsbyuuid
  • getcontentdetailsbyinternalname
  • getcontentobjectdetailsbyid
  • getcontentobjectswithnumofversions: function to find rules or constants with a given number of versions. Useful to find out objects that can increase memory usage in the collaboration engine. See https://forum.appian.com/suite/help/16.3/kb/kb-1226.html
  • getcontentobjectrevisionhistorydetails: Retrieves the revision history of a content object formatted as "[version id, date created, date updated, size, author]"
  • getconstantsfromfolder
  • getconstantsbyname
  • setfoldersearchability
  • getfoldersearchability
  • getdownloadersfromgroup
  • returncontentrolemap
  • getprocessmodeldetailsbyuuid
  • getrulereferencebyname
  • generateuuid
Anonymous
Parents Comment Children
  • I am too. If someone built an automated way to parse that status on not just display it, that status parser takes into account the misspelling and would break if we corrected it.

  • re:

    I assume you're not referring to the misspelling ;-)

    For the dictionary / JSON upgrade - I agree, and assuming at least one of these changes would be possible, and can be done at some point, it seems like the best way would be to make completely new versions (with new names i assume), and deprecate the old ones (while leaving their functionality in-tact for the time being).

  • I am concerned that either of these changes would be non-backwards compatible and would break existing implementations. thoughts?

  • Out of curiosity, will there be a new version at some point that will address this misspelling?

    The above screenshot is the result of running "getContentObjectDetailsById()" on a freshly-uploaded Document ID; the results are as expected except the (apparent) misspelling of "Inactive" caused me several minutes of extra troubleshooting just now.  I updated my plug-in from 1.3.0 to 1.5.0 but the misspelling is still present.

    Also as a future backlog item, I would request, if possible, that the rules that return a dictionary-like string of information about an object (like the above and similar rules in this plug-in), return either a dictionary or a JSON string, instead of a flattened string.  It seems a little silly that in order to access simple properties from the returned values, we need to set up funcitonality to scrape information from the strings (like using "extract()" and similar), which is doable but more complicated than should be necessary, and prone to breaking if the structure/order of the returned information is ever adjusted in future plug-in versions.