# 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
# 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 aDataID
orRHNode
.
# 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.
# breadcrumb
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.
- Is the subtype an allowable child?
- Does llnode.CheckCreate() pass? This checks the factory for the subtype and release status of the parent
- 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.
# link
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_MAJORrenditionType
- 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
# renditionLink
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 UserIDMilestone
- (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)