# RHNode

Inherits from: RHObject :: RHWrapper :: RHPrimaryKey


An RHNode object wraps a Content Server node such as a document or folder. It provides access to some of the node properties found in DTree (or WebNodes view), but also to related properties such as the parent node, children, access control lists, system attributes, category attributes, and the contents of text documents.

Properties of RHNode include:

OwnerID, DataID, ParentID, OriginOwnerID, OriginDataID, UserID, GroupID, UPermissions, GPermissions, WPermissions, SPermissions, PermID, Name, DataType, SubType, DCategory, CreateDate, ModifyDate, ExAtt1, ExAtt2, Reserved, ReservedBy, ReservedDate, Ordering, VersionNum, FileName, FileType, DataSize, ResSize, ChildCount, Items, MimeType, Permissions, AssignedTo, Status, Priority, GIF, Catalog, Major, Minor

# Class Methods

# Inherited methods

Destructor ErrorAssoc OKAssoc

# GetDataID

function Integer GetDataID(Object prgCtx, Dynamic item)

This is a class function (hence the prgCtx parameter).

An LRU cache on this would be great.. but how do we keep the cache fresh?

# New

function Frame New(Object prgCtx, Dynamic item=Undefined)

Creates a new RHNode object.

# Overrides:

New in class RHObject

# Parameters
  • prgCtx - A program context.

  • item - A DTree item represented by a DataID, nickname, nodeRec, or RHNode.

# Returns
  • Always returns an RHNode instance. Use .isValid() to validate if the node is valid accessible by this user.

# NewCategoryVolume

function Frame NewCategoryVolume(Object prgCtx)

# NewEWS

function Frame NewEWS(Object prgCtx)

# NewOriginal

function Frame New(Object prgCtx, Dynamic item=0)

Creates a new RHNode object.

# Parameters
  • prgCtx - A program context.

  • item - A DTree item represented by a DataID, nickname, nodeRec, or RHNode.

# Returns
  • An instantiated RHNode if the node can be accessed, Undefined otherwise.

# NewVolume

function Frame NewVolume(Object prgCtx, Integer subType, Boolean createIfNotExists=false, Integer UserPerm=DAPI.FULL_PERM_MASK, Integer GroupPerm=0, Integer WorldPerm=0)

# Instance Methods

# Property Methods

Property methods can be accessed with the valueForKey method.

addablesubtypes ancestorids ancestors appltypes assignedto associatedvolume attrdata auditevents breadcrumb cachekey canseeminorversions catdef categories categoriescache categorydefinition categoryvalues categoryvaluesidentifier checkaddversion checkdelete checkmodify children children2 classidentifier classifications classifiednodes classname clone comment corename createdby customcolumns dapinode dataid descendents description dpsdocumentproperties dpshaspendingtask errorassoc execute extendeddata factoryiscreateable fileextension gif gif32 giflarge group guid hasassociatedvolume hash haspermaddversion haspermcreatenode haspermeditattrs haspermeditperm haspermfull haspermmodify haspermread identifier identityhashcode img img32 imglarge indexinfo isadvancedversioning isattreditable isattrvaluerequired iscontainer iscopyable isdocument iseditable isfolder isgenerationed ismsoffice isrecycled isreleased isreservable isreserved isreservedbyme isunreserved isvalid isversioned iterator lastmodifydatechildren livereport llnode metadata metadatatype methods mimetype modifiedby modifiedimagecallback modifydate name nickname nodefullpath nodeinfo nodepath noderec noderecuserwebnode nodeversion nodeversionmajor nodeversions okassoc originalnode otherroles ownedroles owner ownerid parent path permid permissions physicalobjectinfo pk propertymethods pseudoparent recman renditiondeleteall renditionqueueditems renditiontypes reservedby reservedbyid reset rights roles serialize siblings size sizeinteger string subtype subtypename tempoboxisenabled totalsizedescendents touch url user userid version versionastext versioncontent versioncount versionmajororlatest versionnum versionnumcached versionnummajor versionnumminor versions volume volumeid webnode wfcopies wfinstance wfmap wforiginalnode

# Inherited methods

assert cacheKey cacheKeyTouch cacheMethod cacheValueForKey callSuper checkError class classIdentifier className clone deserialize dict endTrans identityHashCode isAccessorMethod isCached isEqual isInstanceOf isProperty isPropertyMethod isPropertyRelated lrucacheGet lrucacheSet memcachedDelete memcachedGet memcachedGetValue memcachedSet metadata metadataDelete metadataGet metadataSet methods model_get model_set pluck prepareForReuse propertyMethods removeFromCache reset resetCache resolveRelatedProperty respondsTo setCacheValueForKey setValueForKey setValueForKeyPath startTrans super valueForKey valueForKeyPath

# addableSubtypes

function List addableSubtypes()

Returns a list of subtypes that can be added to this node.

# Returns
  • A list of subtypes.

# addAlias

function Assoc addAlias(Dynamic aliasName, Dynamic target)

Adds an alias to the current node.

# Parameters
  • aliasName - The name of the folder.

  • target - The target node, which can be a DataID or RHNode.

# Returns
  • An Assoc with the status, including the new node.

# addDocument

function Assoc addDocument(String filePath, String fileName=File.GetName(filePath), String mimeType=$RHCore.FileUtils.GetMimeType(fileName), String fileType=$WebDSP.MimeTypePkg.GetMimeTypeFileExt(mimeType))

A quick method to add a document from the filesystem.

Categories are ignored.

# addFolder

function Assoc addFolder(Dynamic folderName, Assoc createInfo=Assoc.CreateAssoc())

Adds a folder to the current node.

# Parameters
  • folderName - The name of the folder.
# Returns
  • An Assoc with the status, including the new node.

# addGeneration

function Assoc addGeneration(Dynamic name, Frame item)

# addGetFolder

function Frame addGetFolder(String folderName, Assoc createInfo=Assoc.CreateAssoc())

What about permissions here???

# addGetItem

function Frame addGetItem(String name, Integer subType, Assoc createInfo=Assoc.CreateAssoc())

# addItem

function Assoc addItem(Dynamic name, Integer subType, Assoc createInfo=Assoc.CreateAssoc())

Add a node to this container.

createInfo.AttrDataObj = // attrdata frame

# addTextVersion

function Assoc addTextVersion(Dynamic text)

Adds a text string as a version to this document.

# Parameters
  • text - The input to add as text, which will be converted to a string.
# Returns
  • The status of the action as an Assoc.

# addURL

function Assoc addURL(String name, String url)

# addVersion

function Assoc addVersion(Dynamic source, Dynamic addVerInfo=Assoc.CreateAssoc()) // , Dynamic unused=Assoc.CreateAssoc())

Adds a version to the current node.

Assoc addVerInfo
addVerInfo.AttrDataObj = ... // attrData
addVerInfo.SrcVersion = ... // DAPIVersion, takes precedence over VersionFile
addVerInfo.mimetype = ... // mimetype
addVerInfo.VersionFile = ... // file path "c:/abc.txt"
addVerInfo.IsMajorVersion = ... // true or false
addVerInfo.filetype = ... // the extension of the file
addVerInfo.filename = ... // the filename (shows up in dversdata)

# ancestorids

function List ancestorids(Boolean includeRoot=false)

# ancestors

function Frame ancestors(Boolean includeBase=true)

Returns the ancestors of this node.

This method was refactored in build 272 due to breaking changes in llnode.NodeFullPath() in CS10.5. The return value was changed from Iterator to RHNodeQuery.

# Parameters
  • includeBase - A boolean to determine if the current node should be included in the results.
# Returns
  • An RHNodeQuery of the ancestor nodes.

# applTypes

function List applTypes()

# assertColumns

function Frame assertColumns(Dynamic columnNames)

# assignedto

function Frame assignedto()

# associatedVolume

function Frame associatedVolume()

Skip the default llnode implementation since we want to avoid fetching a DAPINODE if possible.

# attrdata

function Frame attrdata(Integer versionNum=Undefined)

Returns an RHAttrData.

# attrdef

function Dynamic attrdef(Dynamic attribute)

# audit

function Assoc audit(Integer auditID, Integer userID=Undefined, String value1=Undefined, String value2=Undefined)

# auditEvents

function Frame auditEvents(Assoc fetchInfo=Assoc.CreateAssoc())

Returns all the audit events on this node.

# Returns
  • An Iterator containing the audit events as RHAuditEvent objects.

function String breadcrumb(String delim = ":", Boolean includeNode=false)

# canSeeMinorVersions

function Boolean canSeeMinorVersions()

# catdef

function Frame catdef(Integer versionNum=Undefined)

# categories

function Frame categories(Integer versionNum=Undefined)

# categoriesCache

function Integer categoriesCache()

This method fetches the RHAttrData category frame, caches it, and returns the Cache ID.

# Returns
  • The CacheID.

# categoryDefinition

function Frame categoryDefinition(Integer versionNum=Undefined)

# categoryValues

function Dynamic categoryValues(Integer versionNum=Undefined)

Returns the category values of this node in a simplified format.

Caching is flushed with the clearcategoryvalues() function.

# categoryValuesIdentifier

function Dynamic categoryValuesIdentifier(Integer versionNum=Undefined)

Returns the category values of this node in a simplified format.

Caching is flushed with the clearCategoryCache() function.

# checkAddVersion

function Assoc checkAddVersion()

# checkCopy

function Assoc checkCopy(Frame parentNode, String newName=$RHCore.Utils.GUID())

# checkCreate

function Assoc checkCreate(Integer subType)

This method determines if subType can be added to this node. This consolidates many important checks since it seems there is no single way to check this with Content Server.

  1. Is the subtype an allowable child?
  2. Does llnode.CheckCreate() pass? This checks the factory for the subtype and release status of the parent
  3. Does llnode.CheckNewItem() pass? This checks the permissions and reserved status.

# checkDelete

function Assoc checkDelete()

# checkModify

function Assoc checkModify(List permList={$PModify})

This method is slightly different than .hasPerm().

The permList default matches that of llnode.isEditable.

Can also be used with $PEditAtts.

# checkMove

function Assoc checkMove(Frame newParentNode, String newName=.name())

# childByNamePath

function Frame childByNamePath(String namePath)

# children

function Frame children(String viewName='WebNodes', Integer perms=DAPI.PERM_SEE)

Gets the children of the node as an RHNodeQuery.

# Parameters
  • viewName - Optional, the database view to use (defaults to 'WebNodes')

  • perms - Optional, the permission

# Returns
  • Returns an Iterator containing the children nodes.

# classificationApply

function Assoc classificationApply(Dynamic items)

This method permits a standard or Records Managment classification to be applied to this node.

# Parameters
  • items - An integer or list of integers.
# Returns
  • A return value Assoc.

# classificationInherit

function Assoc classificationInherit()

Force classification inheritance from the parent.

# classificationRemove

function Assoc classificationRemove(Dynamic items)

# classifications

function Frame classifications(String status='accepted')

Returns the classifications on this node.

# Parameters
  • status - A string or list with values accepted, rejected, or pending.

# classifiedNodes

function Frame classifiedNodes(String status='accepted')

# clearCategoryCache

function Assoc clearCategoryCache(Integer versionNum=Undefined)

This method flushes the cache of the categoryvalues() and categoryValuesIdentifier methods.

# cloneRights

function Assoc cloneRights(Frame target, Boolean clearACLs=false)

# closest

function Frame closest(Script testScript, Object thisArg=this)

Refactored 4.13.2018 to only fetch the ancestors if the test fails for the current node (small optimisation).

# closestSubtype

function Frame closestSubtype(Dynamic subtypes)

# comment

function String comment()

# commit

function Assoc commit(Assoc updateInfo=Undefined, Dynamic context=Undefined)

# copy

function Assoc copy(Dynamic destination, String name=.name(), Dynamic copyInfo=.dict({'AttrSourceType', $LLIAPI.AttrSourceOriginal}), Integer options=DAPI.COPY_CURRENTV|DAPI.COPY_UNLOCKV|DAPI.COPY_UNRESERVE)

# coreName

function String coreName()

# createdBy

function Frame createdBy()

# createRelease

function Assoc createRelease(String name = Undefined)

# createRevision

function Assoc createRevision(String name = Undefined)

# createRole

function Assoc createRole(String roleName, Dynamic perms=$PSee|$PSeeContents, Integer permType=DAPI.PERMTYPE_ACL)

# Parameters
  • permType - Either DAPI.PERMTYPEGROUP or DAPI.PERMTYPEACL

# customColumns

function Dynamic customColumns(Dynamic forLocation=this)

Returns the enabled custom columns for this node that are not default columns. The method will also extract the value from the "UserWebNodeViewName" (based on prgCtx.GetUserWebNodeViewName()).

# customColumnValue

function Dynamic customColumnValue(String dataSourceID)

# dapinode

function DAPINODE dapinode()

Returns the DAPINODE representation of this node.

# Returns
  • The DAPINODE.

# dapiversion

function DAPIVERSION dapiversion(Integer versionNum=DAPI.VERSION_GET_CURRENT, String renditionType=Undefined)

# dataid

function Integer dataid()

Returns the DataID of this node.

# Returns
  • The DataID as an Integer.

# delete

function Assoc delete()

Deletes the node.

# Returns
  • An Assoc with the status of the delete operation.

# descendents

function Frame descendents(Boolean includeRoot=false, Boolean excludeReleaseRevision=true)

# description

function String description()

# dpsBindings

function Assoc dpsBindings(Integer event)

We may need to rename this function. Bindings can go in two directions... is this what we want?

# dpsDocumentProperties

function Assoc dpsDocumentProperties()

# dpsHasPendingTask

function Boolean dpsHasPendingTask()

# duplicate

function Assoc duplicate(String name=$RHCore.FileUtils.AppendToFilename(.name(), " (copy)"))

# execute

function Dynamic execute(Dynamic args={}, Record request=$RHCore.Utils.GetRequest(.fPrgCtx))

# exportToFilesystem

function Assoc exportToFilesystem(String filePath)

# extDataDelete

function Assoc extDataDelete(String key)

# extDataGet

function Dynamic extDataGet(String key, Dynamic defaultValue=Undefined)

# extDataSet

function Assoc extDataSet(String key, Dynamic value)

# extendeddata

function Dynamic extendeddata()

Returns the extended data of this node.

# factoryIsCreateable

function Boolean factoryIsCreateable()

# fileExtension

function String fileExtension(Integer versionNum=Undefined, String renditionType=Undefined)

# functionmenu

function Dynamic functionmenu(Record request)

This should be renamed.

# getUniqueName

function String getUniqueName(String name)

# gif

function String gif(Integer versionNum=Undefined)

Returns the 16x16 icon URL for this node.

# gif32

function String GIF32(Integer versionNum=Undefined)

Returns the 32x32 icon URL for this node.

# giflarge

function String GIFLarge(Integer versionNum=Undefined)

Returns the 32x32 icon URL for this node.

# group

function Frame group()

Returns the group owner of this node as an RHUser.

# guid

function String guid()

# hasAssociatedVolume

function Boolean hasAssociatedVolume()

# hash

function String hash()

# Overrides:

hash in class RHObject

# hashWithLocation

function String hashWithLocation(Dynamic key=Undefined)

# hasPerm

function Boolean hasPerm(Dynamic perms)

Slightly different than .isEditable().

# hasPermAddVersion

function Assoc hasPermAddVersion()

We call isEditable() and not hasPerm. Why? The isEditable() method also checks if the object is reserved or released (whatever that means).

# hasPermCreateNode

function Boolean hasPermCreateNode()

# hasPermEditAttrs

function Boolean hasPermEditAttrs()

# hasPermEditPerm

function Boolean hasPermEditPerm()

# hasPermFull

function Boolean hasPermFull()

# hasPermModify

function Boolean hasPermModify()

# hasPermRead

function Boolean hasPermRead()

# identifier

function String identifier()

# img

function String img(Integer versionNum=Undefined, String renditionType=Undefined)

# img32

function String img32(Integer versionNum=Undefined, String renditionType=Undefined)

# imglarge

function String imglarge(Integer versionNum=Undefined, String renditionType=Undefined)

# indexInfo

function Assoc IndexInfo()

# isActionPermitted

function Boolean isActionPermitted(String actionName)

# isAdvancedVersioning

function Boolean isAdvancedVersioning()

Returns true if this node uses advanced versioning, false otherwise.

# isAncestorOf

function Boolean isAncestorOf(Dynamic item)

# isAttrEditable

function Boolean isAttrEditable()

# isAttrValueRequired

function Boolean isAttrValueRequired(Integer subtype=.subtype())

Are required attributes on categories enforced?

# isContainer

function Boolean isContainer()

# isCopyable

function Boolean isCopyable()

# isDocument

function Boolean isDocument()

# isEditable

function Assoc isEditable(List permList={$PModify})

This method is slightly different than .hasPerm().

The permList default matches that of llnode.isEditable.

Can also be used with $PEditAtts.

# isFolder

function Boolean isFolder()

# isGenerationed

function Boolean isGenerationed()

# isInCollection

function Assoc isInCollection(Dynamic collectionRef, Integer version=Undefined)

# isMSOffice

function Boolean isMSOffice(String mimeType=.primitiveValueForKey('mimetype'))

Returns true if this node is a Microsoft Office Document, false otherwise.

# isRecycled

function Boolean isRecycled()

Returns true if this node is in the Recycle Bin, false otherwise.

# isReleased

function Boolean isReleased()

# isReservable

function Boolean isReservable()

# isReserved

function Boolean isReserved()

# isReservedByMe

function Boolean isReservedByMe()

# isUnreserved

function Boolean isUnreserved()

# isValid

function Boolean isValid()

# Overrides:

isValid in class RHPrimaryKey

# isVersioned

function Boolean isVersioned()

# Returns
  • Returns true if this node versioned.

# iterator

function Frame iterator()

# Overrides:

iterator in class RHObject

# lastModifyDateChildren

function Date lastmodifydatechildren()

Returns the last modify date of the children nodes of this node.

function String link(Record request=$RHCore.Utils.FakeRequest(.fPrgCtx), String cmdName="open", String anchor=Undefined, String nextURL=Undefined, Boolean disabledlink=false, Integer version=Undefined)

# livereport

function Frame livereport(List args={}, Object obj=Undefined)

# llnode

function Object llnode(Integer subType=.subtype())

# metadataType

function Integer metadataType()

# Overrides:

metadataType in class RHPrimaryKey

# mimetype

function String mimetype(Integer versionNum=Undefined, String renditionType=Undefined)

# modifiedBy

function Frame modifiedBy()

Returns the user who last modified this node.

# Returns
  • The Modified User as an RHUser.

# modifiedImageCallback

function String modifiedImageCallback(Record request=$RHCore.Utils.GetRequest(.fPrgCtx))

# modifydate

function Date dataid()

Returns the Modified date of this node.

# Returns
  • The Modify Date as a Date.

# move

function Assoc move(Dynamic destination, String name=.name(), Boolean ForcePermInherit=false, Integer AttrSourceType=$LLIAPI.AttrSourceOriginal)

# name

function String name(String langCode=Undefined, String defaultValue=.primitiveValueForKey('name'))

Returns the name of this node.

# nickname

function String nickname()

# nodeFullPath

function Assoc nodeFullPath()

# nodeInfo

function Assoc nodeInfo()

# nodePath

function Assoc nodePath()

# nodeRec

function Record nodeRec(Integer versionNum=Undefined, String renditionType=Undefined)

Returns a Record representation of this RHNode.

# Parameters
  • versionNum - The version number of the node, which defaults to the latest version if omitted. Can also be DAPI.VERSIONGETCURRENT or DAPI.VERSIONGETCURRENT_MAJOR

  • renditionType - The rendition type.

# Returns
  • A record respresntation of the node.

# nodeRecUserWebNode

function Record nodeRecUserWebNode()

# nodeVersion

function Frame nodeVersion(Integer versionNum=DAPI.VERSION_GET_CURRENT, String renditionType=Undefined)

Returns a version as a RHNodeVersion.

# Parameters
  • versionNum - The version number.

  • renditionType - The rendition type.

# Returns
  • The RHNodeVersion representation of the version.

# nodeVersionMajor

function Frame nodeVersionMajor(String renditionType=Undefined)

# nodeVersions

function Frame nodeVersions()

# originalNode

function Frame originalNode()

For reference type nodes this returns the original node.

# Returns
  • An RHNode of the original node, or itself if the node is not a reference type node.

# otherRoles

function Frame otherRoles()

# ownedRoles

function Frame ownedRoles()

Fetches the roles owned by this node, whether they are applied or not.

# ownedRoleWithName

function Frame ownedRoleWithName(String name)

# owner

function Frame owner()

# ownerid

function Integer ownerid()

This is the DataID of the owner volume.

# parent

function Frame parent()

Returns the parent node as an RHNode.

# path

function Frame path()

This method is identical to ancestors.

# permid

function Integer permid()

# permissions

function Integer permissions()

# physicalObjectInfo

function Frame physicalObjectInfo()

# pk

function Integer pk()

# Overrides:

pk in class RHPrimaryKey

# primitiveValueForKey

function Dynamic primitiveValueForKey(String key, Dynamic defaultValue=Undefined)

# Overrides:

primitiveValueForKey in class RHWrapper

# pseudoparent

function Frame pseudoparent()

Returns the parent node.

# putInCollection

function Assoc putInCollection(Dynamic collectionRef, Integer version=Undefined, Boolean updateSizeAndDate = true)

# recman

function Frame recman()

# reindex

function Assoc reindex(Integer eventID=DAPI.NOTIFY_UPDATE)

# relativeFetchURL

function String relativeFetchURL(Record request=$RHCore.Utils.FakeRequest(), Integer versionNum=DAPI.VERSION_GET_CURRENT)

# release

function Assoc release(String pExAtt1='R')

# removeFromCollection

function Assoc removeFromCollection(Dynamic collectionRef, Integer version=Undefined, Boolean updateSizeAndDate = true)

# removeRight

function Assoc removeRight(Dynamic userID)

This method only applies to ACLs and not user, group, or world permissions.

# rename

function Assoc rename(String newName)

Rename this node.

# Parameters
  • newName - The new name of the node.
# Returns
  • A standard return Assoc.

# renditionAdd

function Assoc renditionAdd(String filePath, String verType, String mimetype=$RHCore.FileUtils.GetMimeType(filePath), Integer subType=.subType())

@deprecated

# renditionDelete

function Assoc renditionDelete(String verType)

@deprecated

# renditionDeleteAll

function Assoc renditionDeleteAll()

@deprecated

# renditionHasType

function Boolean renditionHasType(String renditionType)

@deprecated

function String renditionlink(Record request, String cmdName, String verType, String anchor=Undefined, Boolean disabledlink=false)

Rendition WebNodeCMDs are far from anything standard. This method attempts to normalize them.

# renditionQueue

function Assoc renditionqueue(String ruleName)

# renditionQueuedItems

function Assoc renditionqueueditems(Integer versionNum=.version())

# renditions

function Frame renditions(Integer versionNum=DAPI.VERSION_GET_CURRENT)

@deprecated

# renditionSaveAsFile

function Assoc renditionSaveAsFile(String filePath, String renditionType)

@deprecated

# renditionTypes

function List renditionTypes()

@deprecated

# renditionVersion

function DAPIVersion renditionVersion(String renditionType, Integer versionNum=DAPI.VERSION_GET_CURRENT)

# repairAncestry

function Assoc repairAncestry(Boolean applyDown = true)

# reserve

function Assoc reserve()

# reservedBy

function Frame reservedBy()

Returns the user who reserved this node as an RHUser.

# reservedById

function Integer reservedById()

Returns the user who reserved this node as an RHUser.

# resetSubclass

function Void resetSubclass()

# Overrides:

resetSubclass in class RHObject

# rights

function Frame rights()

Returns the rights on this node as an Iterator of RHRight objects.

# rightWithName

function Frame rightWithName(String name, Integer permType=DAPI.PERMTYPE_ACL)

# roles

function Frame roles()

# roleWithName

function Frame roleWithName(String name)

Returns a role assigned to this node based on its name. This includes the default group or ACLs.

# runreport

function Assoc runreport(Dynamic args={})

# runsearchquery

function Dynamic runsearchquery(Integer startAt=1)

# saveVersionAsFile

function Assoc saveVersionAsFile(String filePath, Integer versionNum=DAPI.VERSION_GET_CURRENT, String renditionType=Undefined)

# serialize

function Dynamic serialize()

# Overrides:

serialize in class RHObject

# setAdvancedVersioning

function Assoc setAdvancedVersioning(Boolean enable=true)

# setCategoryValue

function Assoc setCategoryValue(Dynamic category, Dynamic attribute, Dynamic value, Integer SetIndex=1, Boolean commit=true)

# setComment

function Assoc setComment(String comment)

# setExtendeddata

function Assoc setExtendeddata(Assoc extendeddata)

# setGroupOwner

function Assoc setGroupOwner(Dynamic user, Dynamic perms=.primitiveValueForKey('GPermissions'))

# setIdentifier

function Assoc setIdentifier(String identifier)

# setNickname

function Assoc setNickname(String nickname)

Set the nickname on this node.

# Parameters
  • nickname - The new nickname. Pass in Undefined to remove the nickname (and revert to the DataID).
# Returns
  • An Assoc with the status of the operation.

# setOwner

function Assoc setOwner(Dynamic user, Dynamic perms=.primitiveValueForKey('UPermissions'))

# setPermID

function Assoc setPermID(Dynamic permItem)

# setRight

function Assoc setRight(Dynamic userOrGroup, Dynamic perms=$PSee|$PSeeContents, Integer permType=DAPI.PERMTYPE_ACL)

This method updates (and adds if necessary) an exiting right (or permission) on a node. The behaviour depends on the permType parameter.

  • DAPI.PERMTYPE_ACL - This modifies an existing permission of a user, group, or role on a node (i.e., DTreeACL), and will add the right if it doesn't already exist.
  • DAPI.PERMTYPE_USER - This modifies the default user and default user permission (DTree.UserID & DTree.UPermissions).
  • DAPI.PERMTYPE_GROUP - This modifies the default group and default group permission (DTree.GroupID & DTree.GPermissions).
  • DAPI.PERMTYPE_WORLD - This modifies the Public Access permission (DTree.WPermissions). The user parameter is ignored.

# setValues

function Frame setValues(Dynamic values)

# Overrides:

setValues in class RHObject

# siblings

function Frame siblings()

Returns an RHNodeQuery with the sibling nodes of this node.

# size

function String size()

Returns the size of this node in a human readable format (e.g., 1 KB, 5 items)

# sizeInteger

function Integer sizeInteger()

Returns the size of this node as an Integer.

# string

function String string()

This method returns a string representation of the object.

# Overrides:

string in class RHObject

# subtype

function Integer subtype()

Returns the subtype integer of this node.

# subTypeName

function String subTypeName()

Returns the subtype name of this node.

# Returns
  • The name of the subtype (e.g., Folder, Document, etc.)

# systemDataDelete

function Assoc systemDataDelete(String key)

# systemDataGet

function Dynamic systemDataGet(String key, Dynamic defaultValue=Undefined)

# systemDataSet

function Assoc systemDataSet(String key, Dynamic value)

Store a value against this node. Be careful with your choice of key in order not to pollute the LLSystemData table.

# taskUpdate

function Assoc taskUpdate(Assoc kwargs)

This function is a convenient wrapper for updating a task. The kwargs parameter is an Assoc with a number of optional keys. All keys are optional:

# Parameters
  • Comments -

  • Status - (see below)

  • Instructions -

  • AcceptorOnly - (the existence of this key makes it true)

  • Priority - (0=Low, 50=Medium, 100=High)

  • AssignedTo - the UserID

  • Milestone - (unknown)

  • DateStarted -

  • DateDue -

# tempoBoxEnable

function Assoc tempoBoxEnable(Boolean enable=true)

# tempoBoxIsEnabled

function Boolean tempoBoxIsEnabled()

# totalSizeDescendents

function String totalSizeDescendents()

# touch

function Assoc touch()

# Overrides:

touch in class RHWrapper

# unrelease

function Assoc unrelease()

# unreserve

function Assoc unreserve()

# updateNode

function Assoc updateNode(Assoc updateInfo=Undefined)

# url

function String url(Record request=$RHCore.Utils.GetRequest(.fPrgCtx), String cmdName="open", Integer version=Undefined, String nextUrl=Undefined)

# user

function Frame user()

Returns the owner of this node as an RHUser.

# userid

function Integer userid()

# usersWithRight

function Frame usersWithRight(Integer permMask)

Returns an Iterator with all users and groups with a given permission on the current node.

# version

function Integer version(Integer versionNum=Undefined)

Returns the version number of this node.

# versionAsText

function Dynamic versionAsText(Integer versionNum=DAPI.VERSION_GET_CURRENT, String renditionType=Undefined)

Returns the contents of this text document.

# versionContent

function Dynamic versionContent()

# versionCount

function Integer versionCount()

# versionMajorOrLatest

function Integer versionMajorOrLatest()

# versionNum

function String versionNum(Integer versionNum=DAPI.VERSION_GET_CURRENT)

# versionNumAdminCtx

function String versionNumAdminCtx(Integer versionNum=DAPI.VERSION_GET_CURRENT)

# versionNumCached

function String versionNumCached(Integer versionNum=DAPI.VERSION_GET_CURRENT)

# versionNumMajor

function Integer versionNumMajor()

Returns the value of DTree.Major.

The meaning of this field depends on the subtype.

  • For Releases and Revisions (of a Compound Document) it represents the actual major version.
  • For versioned items (like Documents) it represents the simple version number of the major version.

# versionNumMinor

function Integer versionNumMinor()

Returns the value of DTree.Minor.

The meaning of this field depends on the subtype.

  • For Releases and Revisions (of a Compound Document) it represents the actual minor version.
  • For versioned items (like Documents) it's not used!

# versionPromote

function Assoc versionPromote(Integer versionNum=DAPI.VERSION_GET_CURRENT)

# versionPurge

function Assoc versionPurge(Integer numToKeep=1)

numToKeep applies to minor versions only.

# versions

function Frame versions()

# volume

function Frame volume()

# volumeId

function Integer volumeId()

# webNode

function Object webNode(Integer subType=.subtype())

# wfcopies

function Frame wfcopies()

# wfinstance

function Frame wfinstance(Boolean mainWorkflow=true)

Fetches the workflow if this node resides in the attachments folder.

# Returns
  • The RHWorkStatus instance if this node is in an attachments folder, Undefined otherwise.

# wfmap

function Frame wfmap()

# wforiginalnode

function Frame wforiginalnode()

# wfstart

function Assoc wfstart(String title, List attachments={})

# xmlexport

function Assoc xmlexport(String filename)

# xmlimport

function Assoc xmlimport(String filename)

Last Updated: 11/15/2019, 4:24:30 PM