Skip to main content

Xpages issues and Solutions

Issue List Solution
For opening a '<a href>' in Xpage in new window, pls use this code: docID:=@Text(@DocumentUniqueID); database := @Subset(@DbName; -1); databasename:=@ReplaceSubstring(database;"\\";"/"); server :=@ServerName; servername:=@Name([Abbreviate];server); xspfrm:=@If(form="FormA";"XpageA.xsp"; form="FormB";"XPageB.xsp";"XPageC.xsp"); "<a href='/"+databasename+"/"+xspfrm+"?databaseName="+servername+"!!"+databasename+"&documentId="+docID+"&action=openDocument' target=_new>"+Open Document+"</a>"
Redirecting one Xpage to another Xpage: If Redirecting One Xpage to another Xpage is done by using “redirectToPage” function available in SSJS
@DbColumn in SSJS: var viewHandle:NotesView=database.getView(viewName) return viewHandle.getColumnValues(colNumber-1)
@DBLookup from a different database present in a different server in XPages : var dbName=Server-Name+"!!"+Database-Path result= @DbLookup(dbName,viewName,lookupKey, {lookupField or column no})
Customizing the Application UI layout design Basically, the server style classes get set to the xpage OneUi layout design on preview. To customize it, we can write our styles with server style class and include that stylesheet in the xpage. By doing this, our stylesheet overrides the server styles. For example: lotusContent is a class inherited from server core.css. It has overflow style as hidden. To overcome this, we can add a stylesheet (name it applicationstyeles.css), write overflow as auto for the same class and include it under resources in the xpage/oneUi layout custom control.
@DBlookup from a different database present in XPages : Lookup from foreign db requires path to be mentioned with "\\" as shown below, var dbName = new Array("Home/Personal","Development\\Projects\\Canon\\PMSystem17Aug12.nsf"); var tmp = @DbLookup(dbName,"lkpEEmpDetails","01453",5); return @If(@IsError(tmp),"Errors",tmp)
Authors and readers field type to render using xpage For the authors and readers field type to render using xpage, assign computeWithForm to onLoad under xpage - All properties - data - domino data source. computeWithForm property has three options "onLoad","onSave" and "both". "onSave" and "both" options work only if the computation on the form and xpage syntax are similar. For example: Assume we have three fields in form and we are using xpage for it. Case 1 : a. Author Field - Default value - "[SUPERUSER]" b. Reader Field - Default value - "[SUPERUSER]" c. ChkUnique Field - Default value - @Unique For this case, on asssigning computeWithForm to "onSave" and "both" works fine (Similar syntax). Case 2 : a. Author Field - Default value - "[SUPERUSER]" b. Reader Field - Default value - "[SUPERUSER]" c. ChkUnique Field - Default value - tmpVar:=@DbLookup("":"NoCache";Server:dbPath;"lkupSystemConfiguration";"sysTest";"Test"); For this case, on asssigning computeWithForm to "onSave" and "both" does not work as Xpage DbLookup syntax is different as follows. TmpVar =@DbLookup(@DbName,"lkupSystemConfiguration","sysTest","Test");
To witness constant window/page title across Xpages, mention the below line on the AfterPageLoad event of the oneUILayout custom Control, as it would be embedded in all Xpage. View.setPageTitle("Mention your application name or whatever content you want it displayed as window title")
The prefix "#" and “$” means "compute dynamically” and "compute on page load"
While using tabbed panel with mandatory fields in more than one tab, validation of fields in the tabs other than the tab currently in focusdid not occur. This was because every time, only The fields under the current tab gets loaded and the fields in the hidden tabs donot get loaded. Avoiding the use of XPages tabbed table and using HTML tabbed table will solve the problem

Comments

Popular posts from this blog

Lotusscript to establish ODBC connection:

The script, when executed from a button, will create a new record in a specified ODBC data source, attempt to save the new record and display a message indicating whether the operation was completed successfully. If the operation is not completed sucessfully, it is likely that either your data source is read-only or your ODBC driver does not permit updates to the data source. Important: Complete each of the four steps below before running the script. 1. Create a new agent and add the following UseLSX command to the Options event: UseLSX "*LSXODBC" 2. Add the following script to the Initialize event of the agent. NOTE: Do not add the 'Sub' and 'End Sub' lines. Dim ui As New NotesUIWorkspace     Dim uidoc As NotesUIDocument     Dim doc As NotesDocument     Dim connection As ODBCConnection     Dim query As ODBCQuery     Dim result As ODBCResultSet         Set uidoc=ui.CurrentDocument ...

Commom Interview Questions for a Domino Developer

1. To find if a particular item exists in lost of items what commands are there in formula lang and lotusscript? Ans : Formula : @Contains; @IsMember Script : Instring 2. Difference between @UserRoles and @UserNamesList Ans : @UserRoles - Roles in the ACL which the user has @UserNamesList - Groups in the ACL to which the user belongs to 3. If there are multiple commands to be executed on a click of a button in formula lang, how will you do it And : @Do(@Command1;@Command2.....) 4. What is the difference between @DBColumn adn @DBLookup. Where will each of them be used? 5. File upload using Formula language? And : The field to which the file is uploaded should be a Rich Text Field. Command is @@Do(@PostedCommand([EditGotoField]; "Field Name");@PostedCommand([EditInsertFileAttachment])) 6. On click on a button in the left frame, open a view in the right frame. Ans : @SetTargetFrame("FRAMERIGHT"); @Command([OpenView];...