« Beer and Politics | Main| Waiting for June 11th »

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

QuickImage Category Technical Lotus

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.

-Devin

Undocumented 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

Gravatar Image1 - CHOOSEDATABASE (13) is a documented option for NotesUIWorkspace.Prompt now. It isn't *well-documented* but it is documented. I do wish it included templates though, but maybe I can try the File Dialog.

Gravatar Image2 - Thanks Don!

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::banghead;:cool::cry::emb::grin::huh::laugh::lips::rolleyes::sniper:;-)

Search

Wowsers! A Tag Cloud!

Links

MiscLinks