Friday, March 07, 2008

Undocumented DOM LotusScript Inventory

Sometimes I look for undocumented methods in LS. So I found the best one, probably, page.
  • NotesDatabase
    + isNNT : Variant
    + archiveNow( ) : Integer
    + archiveNow( documentCollection=Nothing ) : Integer
    + archiveNow( documentCollection=Nothing, policy=Nothing ) : Integer
    + close() - DEPRECATED, DO NOT USE
    + 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[ ]
    + retrievePOP3Mail(server : String, port : Integer, username : String, password : String, retainMail : Integer, useSSL : Integer) : Long
  • NotesDateTime
    + convertToZoneCanonical( zoneSpec ; String )
    + merge( datetime, zoneSpec )
  • NotesDocument
    + formDbID : String
    + formDbIDItem : String
    + handle : Long - cf. Notes C++ Programmer's Reference Guide
    + generateMessageID( ) : String
    + getNextItem(arg : Variant) : Variant - DEPRECATED, DO NOT USE
    + moveToFolder( )
    + putInFolderByUNID( )
    + removeFromFolderByUNID( )
  • NotesDocumentCollection
    + getNoteIDs( ) : Variant
  • NotesItem
    + PartialText
  • 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)
  • NotesRichTextItem
    + addLinkByIDs( replicaID : String, serverHint : String, viewUNID, notesUNID, comment, hotspotText )
    + appendRTFile( pathname : String )
    + partialText
  • NotesSession
    + internetDomainName : String
    + internetHostName : String
    + close
    + createXMLReformatter( input, output ) : Variant
    + getNewsGroupPath(arg : String) : String
    + getWin32Domain(server : Variant) : Variant
    + startProfile( outputFilename : String, outputThreshold, recordThreads, recordEntryPoints )
    + stopProfile( )
    + tagProfile( tagString )
  • NotesUIDatabase
    + editArchiveSettings( ) As Integer
    NotesUIDocument
    + modifiedSinceSaved : Boolean
    + parentViewName : Object
    + windowHandle : String
    + findFreeTimeDialogEX( reqPeopleItems, optPeopleItems, reqRoomsItems, optRoomsItems, reqResourcesItems, optResourcesItems, removedPeopleItems, startDateItem, endDateItem ) As Variant
    + navBarSetPrevNextState( command, benable )
  • NotesUIScheduler
    + ignoreUniversalID : String
    + participantTableCopy( sortOrder : Integer ) As Variant
    + refresh( getScheduleData, flags )
    + setParticipantsFromItems( flags )
    + setParticipantsFromTable( participantTable )
    + updateParticipantsFromItem( flags )
    + updateParticipantsFromTable( table, rolesFlags, appFlags )
    + updateParticipantsStatus( participantTable )
  • NotesUIWorkspace
    + addBookmark(bookmarkTitle : Variant) : Variant
    + addDatabaseToPortfolio( )
    + Create_DialEntry_Dialog( remoteAccessMethod )
    + create_DialEntry_Info( remoteAccessMethod, nameOfEntry )
    + create_DialEntry_List( remoteAccessMethod, nameOfEntry )
  • NotesView
    + HeaderLines - not really undocumented but mal-documented since R5
    + createViewFromTemplate( newName : String ) : Long
    + getEntryByID( NoteID : String ) : NotesViewEntry
  • WebBrowser
    exposed within OLE Automation classes from R5 onwards..
It was not my discovering I took it from here
Just remember about these methods, probably will be the time when it be helpful for you.

also you can use these @Formula

@LocationGetInfo([UNID])
@LocationGetInfo([FullName])
@LocationGetInfo([HomeServer])
@LocationGetInfo([NamePreference])
@LocationGetInfo([SametimeServer])
@LocationGetInfo([BookmarksFilename])
@LocationGetInfo([InternetMailAddress])

@AdminDelegateMailFile
@ExpandNameList
@FindFreeResource
@LocationGetInfo
@command [PKCS12ImportCertsToNAB]

Thursday, February 28, 2008

how we can close window in IE without confirmation?

solution is very simple, just keep in mind it, probably it will help you in future.

for IE.7 and for IE.6
input type="button" value="close" onClick="window.opener='_parent'; window.close();"

Tuesday, February 19, 2008

?searchview and ?ReadViewEntries

I had a task where I should receive data from view as XML(myView?ReadViewEntries) or JSON (myView?ReadViewEntries&outputformat=json). All was well, except one problem which I didn't solve. It was case when I used ?SearchView (myView?SearchView&query) to show data.

Actually I waned to do something like this:
myView?SearchView+ReadViewEntries&outputformat=json&query

And as I informed it is impossible in 5-6-7 versions. Guys on IBM's forum told me that it would be added in future version (probably R8, but who know:] ) and will be like this one ?SearchViewEntries

don't forher about it.

Thursday, February 07, 2008

Decimal Separator in formula - Solution

definetly it is a simple feature, but I like such approaches, I found this one on IBM:
@Middle(@Text(@Pi); 1; 1)
but probably this one will be more easy for our brain (but it depends):
@Middle(@Text(1/10); 1; 1)

Actually the problem could be when we want to show value which are stored in 2 (or more) different fields, put them together in 1 place and split "default decimal symbol".

default decimal symbol - could be changed in Control Panel->Regional Options->Numbers tab.

Monday, February 04, 2008

View -> JSON -> Excel report

Usually I (probably as all) used agent approach in web applications for making excel's reports. In my case I was asked to make some reports exporting all data from current view (reports should look like in view).

So I decided to use another approach (in my case it was JSON because I like it more). Here you could download the demo version how to receive data from LN database.
to receive all documents from view I used:
?ReadViewEntries&count=1000&Start=1&outputformat=json&ExpandView
to receive the name/title of columns I used:
?ReadDesign&Outputformat=json

and in the end of the story I used next code to create excel report

function
appExcel(){
if (
window.ActiveXObject){
var
xlApp = new ActiveXObject("Excel.Application");
xlBook = xlApp.Workbooks.Add();

xlBook.worksheets("Sheet1").activate;
var
XlSheet = xlBook.activeSheet;

XlSheet.cells(1,1).value = "value";
xlApp.visible = true;
}
}


This function works only in IE as far as I know.