Check Object Existence

Overview

This function helps in situations where the designer or developer has to act upon an Appian object (e.g. Document, Folder, Community, Knowledge Center).  Before doing any operations on the Appian object this function can be used to check whether the object exists.

Syntax: isObjectExists(typeOfObject, objectId)

Returns true or false based on the existence of the Appian object

Anonymous
Parents
  • Short information:
    If you check for an ID and there is no object of the defined type with this Id, it will create a log entry.
    I tried this function to search for all groupIds in a system.
    Idea was: loop and enumerate all IDs and then return the ids which are existing. yeah....

    -> I made our tomcat crash as i was creating 5 GB and more in log files because most groupIds i was checking are not in Use -> log entry -> huge log size in a short time.

Comment
  • Short information:
    If you check for an ID and there is no object of the defined type with this Id, it will create a log entry.
    I tried this function to search for all groupIds in a system.
    Idea was: loop and enumerate all IDs and then return the ids which are existing. yeah....

    -> I made our tomcat crash as i was creating 5 GB and more in log files because most groupIds i was checking are not in Use -> log entry -> huge log size in a short time.

Children
  • Just realizing that the ultimate answer for this is to simply use the current function availalbe in Content Tools, which can easily return object type existence for an ID (and also doesn't clutter the tomcat logs).

    find(
      "Type: Document,",
      getcontentobjectdetailsbyid(ri!id)
    ) > 0

    And for folders, merely replace the string "Document," with "Folder," in the example above.  I like to create helper rules i.e. "rule!UTIL_docExists" (etc) to handle null-checking before calling the plug-in function.

    and(
      a!isNotNullOrEmpty(ri!doc),
      tointeger(ri!doc) > 0,
      
      /*isobjectexists("Document", ri!doc)*/
      /* replacing with the below as the plug-in used is archived, and any check on an invalid doc ID results in a beefy log entry */
      
      find(
        "Type: Document,",
        getcontentobjectdetailsbyid(ri!doc)
      ) > 0
    )

  • I just noticed this too.  I note it hasn't been updated in over 9 years, so not much hope(?) of some future update that will avoid a log entry when an invalid doc ID is checked.  Boo.