Using undocumented properties / methods / @Functions in Lotus Notes and Domino

There are a ton of undocumented - aka "unsupported" tools available for the Notes / Domino developer. Some of these do some very useful things. Most of this functionality can be reproduced using documented (and therefore supported) methods, but not without some hard work.
The advantage of using these undocumented features is that the code is already written and usually works fine. The disadvantage is that the behavior of these features can change or be somewhat unpredictable. It is a tradeoff -stability and support vs. ease of development.
I personally never use undocumented features; but sometimes the temptation to do so is very difficult to resist. I'm curious. Do you use undocumented properties / methods / @Formula?
Read more for a list of undocumented properties / methods / @Formula that I've gleaned (references sites listed below) from around the intertubes. If you have one that is not on the list (or need to correct something) please let me know.
-DevinUndocumented properties, methods, and @Formula for Lotus Notes / Domino
- NotesUIWorkspace
- .AddBookmark(bookmarkTitle : Variant) : Variant
- .AddDatabaseToPortfolio()
- .Create_DialEntry_Dialog(remoteAccessMethod)
- .Create_DialEntry_Info(remoteAccessMethod, nameOfEntry)
- .Create_DialEntry_List(remoteAccessMethod, nameOfEntry)
- .PickListStrings() - supports an undocumented value for Type - 4 = Folders
- .Prompt() - supports additional values for filetype - 12 = File Dialog, 13= Notes Databases Dialog 14 = Folder Dialog
- NotesUIDatabase
- .EditArchiveSettings() As Integer
- .FindFreeTimeDialogEX(reqPeopleItems, optPeopleItems, reqRoomsItems, optRoomsItems, reqResourcesItems, optResourcesItems, removedPeopleItems, startDateItem, endDateItem) As Variant
- NotesUIDocument
- .ImportItem(NotesDocument, ItemName) - Allows the contents of a field in another document to be added to an existing field on a form.
- .ModifiedSinceSaved : Boolean - Allows logic to be added based upon the UI document having changed since it was last saved.
- .NavBarSetPrevNextState(command, benable)
- .ParentViewName : Object
- .WindowHandle : String
- NotesUIScheduler
- .IgnoreUniversalID : String
- .ParticipantTableCopy(sortOrder : Integer) As Variant
- .Refresh(getScheduleData, flags)
- .SetParticipantsFromItems(flags)
- .SetParticipantsFromTable(participantTable)
- .UpdateParticipantsFromItem(flags)
- .UpdateParticipantsFromTable(table, rolesFlags, appFlags)
- .UpdateParticipantsStatus(participantTable)
- NotesOutline
- .GetEntry(entryname : String) : NotesOutlineEntry
- .Remove() : Integer
- NotesOutlineEntry
- .OnClickText : String
- NotesRegistration
- .UseAdminProcess
- .RegisterNewUserWithPolicy(lastName : String, certPW : String, userPw : String, policyServer : String, firstname=Nothing, middle=Nothing, altName=Nothing)
- NotesSession
- .Close()
- .CreateXMLReformatter(input, output) : Variant
- .GetNewsGroupPath(arg : String) : String
- .GetWin32Domain(server : Variant) : Variant
- .InternetDomainName : String
- .InternetHostName : String
- .StartProfile(outputFilename : String, outputThreshold, recordThreads, recordEntryPoints)
- .StopProfile()
- .TagProfile(tagString)
- NotesDatabase
- .ArchiveNow() : Integer
- .ArchiveNow(documentCollection=Nothing) : Integer
- .ArchiveNow(documentCollection=Nothing, policy=Nothing) : Integer
- .Close() - DEPRECATED, DO NOT USE
- .CreateDocumentCollection() - Creates an empty document collection
- .CreateNewsGroup(groupName : String, title : Variant, subdirectory : Variant) : Long
- .EnabledOptions(arg1 : Integer , arg2 : Integer)
- .GetArchivePath(policy : String) : String
- .GetArchivePath(policy : String, pathType=Nothing) : String
- .GetFields(flag : Boolean) : String[ ] The names of all the fields in a database.
- .IsNNT : Variant
- .RetrievePOP3Mail(server : String, port : Integer, username : String, password : String, retainMail : Integer (as boolean), useSSL : Integer (as boolean)) : Long
- NotesView
- .CreateViewEntryCollection() - returns an empty View Entry collection
- .CreateViewFromTemplate(newName : String) : Long
- .GetColumnValues(ColumnIndex) - returns an array of values from the selected column in the view (similar to @DbColumn)
- .GetEntryByID(NoteID : String) : NotesViewEntry - Returns a NotesVIewEntry based upon a NoteID. Very useful when you have a document but are not sure what the key would be to do a normal look-up.
- .HeaderLines - not really undocumented but mal-documented since R5
- NotesDocumentCollection
- .GetNoteIDs() : Variant - Returns an array of the NoteIDs for the documents in the collection. Great way to store a collection of documents for later use.
- NotesDocument
- .FormDbID : String
- .FormDbIDItem : String
- .GenerateMessageID() : String
- .GenerateHTMLString() : String
- .GetNextItem(arg : Variant) : Variant - DEPRECATED, DO NOT USE
- .Handle : Long - cf. Notes C++ Programmer's Reference Guide Handle to the document - useful when using Notes (C) API
- .MoveToFolder()
- .PutInFolderByUNID()
- .RemoveFromFolderByUNID()
- NotesItem
- .PartialText
- NotesRichTextItem
- .AddLinkByIds(dbReplicaID$, serverHint$ [, viewUNID$] [, documentUNID$] [, comment$] [, HotSpotText$])
- .AppendRTFile(pathname : String)
- .PartialText
- NotesDateTime
- .ConvertToZoneCanonical(zoneSpec ; String)
- .Merge(datetime, zoneSpec)
- @ Formula
- @AccountGetInfo(|text; text)
- @AddBusyTime(|text; text; date)
- @AdminCreateRequest(|date; [variant]) DeleteUser DeleteGroup DeleteServer
- @AdminDelegateMailFile(|number; text; text; text; text; text; text; text; text; text; text; text; text; text; text; text; text)
- @AdminPerformAction(|date; [variant])
- @BitAnd(|[number])
- @BitOr(|[number])
- @BitXor(|[number])
- @BitNot(|number)
- @BitShift(|number; number)
- @CertBlobPack(|blob item name; blob type; prefix; number)
- @CertBlobUnpack(|blob item name; blob type; prefix; number)
- @CharSetInfo([character]|[DefaultCharset]|[Encoding])
- @CRL(|[Export]; fileName)
- @CRLList([IssuedBy]|[ThisUpdate]|[ThisNext]|[RevokedDate]|[RevokedSerialNumber]; fieldname; at home; max return)
- @DbAdminServer() - To find the admin server assigned to a database
- @DbBuildVersion: Returns build number , For R8 it returns "322"
- @DbCommand("Domino";["LoadAddressListByIndex"|"LoadAddressListByName"];"names.nsf"; txtTargetField; strMax; [strIndex|strKey])
- @DbUnreadCount(|text)
- @ExpandNameList(Server:Filepath;Group) - To return a list of members for a group
- @FindFreeResource(|text; text; text; text; [variant]) InGMT InLocalTime
- @FindFreeTime(|text; text; date; number)
- @GetMembers(SourceList; StartingPosition; NumberOfElements) - Returns members from the List based on Ordinal Position (starting at 1)
- @SetSoftDeleteExpireTime(|number)
- @IsDbPrimaryAB
- @IsSoftDeleteEnabled
- @IsXACLEnabled
- @LocationGetInfo([AreaCode]|[BookmarksFileName]|[CatalogServer]|[Home Server]|[InternetMailAddress]|[MailProtocol]|[NamePreference]|[SametimeServer]|[UNID]|[WebRetriever])
- @LocationGetOSTZ
- @LocationGetTZ
- @MailConfirmPreference
- @MailFilterAddToFolder(|text)
- @MailFoldersPreference
- @MailStopProcessingFilter
- @ManageECL(|server: database)
- @NetAccount([IsNetworkAdmin]|[DeleteNTUser])
- @OpenCalendar(|date; [variant]) Group Individual
- @RecoverIDFile(|[keyword]; backupfilename; recoveredfilename; Newpassword)
- @RegQueryValue("HKEY_LOCAL_MACHINE"; PathToRegistryKey; RegistryKeyPropertyName)
- @SetProfileField([NoPersist];"Value to store"; @Username): NoPersist option causes the Profile document to NOT be saved. Temporary Cache for Client UI operations.
- @ShowParentPreview
- @Text(@Now; "*"): Creates a New Replica ID
- @UpdateViewDesign(TargetView; SourceView) - To replace the design of a folder with the latest design of a view/folder.
- @URLSubmit(|number)
- @WhichFolders
- @X509Certificates(|date; text; [variant])deleteX509Cert
Comments
Posted by Don McNally At 08:17:45 AM On 04/21/2011 | - Website - |
Posted by Devin Olson At 06:55:51 PM On 05/16/2011 | - Website - |