Monday, 18 May 2015

Visio Stencil for IBM Notes v9, Domino v9, Connections v5, Sametime v9 and Traveler v9 Server


I have created this stencil which provides Visio users a way to create network diagrams with Domino, Sametime, Connections, and Traveler servers.

I hope this helps to community.




Download Stencil using this link: Link

Learning XPages - Tutorials, References, Videos

Please use the references below to learn about XPages technology. 

Self Paced Learning Workshops/Tutorials: 


More references:

Getting started

1. Do the 27 exercises. The needed resources are available on the page for download.
2. If you need more practise do the 53 exercises. Pay special attention to the OneUI stuff
3. Check out the TLCC offerings. There's a free starter class for Xpages and Domino Designer.
6. Learn tips and tricks on NotesIn9 and check out The XPages Cheatsheet app

Core XPages

1. Stop 1 is the Notes Domino Application Development Wiki, which IBM's official XPages documentation
2. On you will find tons of examples, ready applications and the famous Extension library. Take a close look at the contributed free custom controls.(Re)use them, don't reinvent wheels!
3. A treasure trove of information is the XPages Wiki (you can log in there and contribute)
4. Find reusable code snippets (and contribute back) in the XSnippets container of OpenNTF
5. Read a book: Mastering XPages: A Step-by-Step Guide to XPages Application Development and the XSP Language
6. Once you go deeper - read this: XPages Extension Library: A Step-by-Step Guide to the Next Generation of XPages Components
7. And keep this one handy: XPages Portable Command Guide: A Compact Resource to XPages Application Development and the XSP Language

Java Script

A big part of writing good XPages applications is writing good JavaScript. The upside: regardless what platform you might use in future, JavaScript is here to stay!
1. I found Eloquent JavaScript an invaluable resource to understand JavaScript
2. Equally valuable is the JavaScript Garden
3. Ensure quality of your code with JSHint
4. Excellent online reference on
5. Learn Dojo (it is easier than you think)
6. w3schools JS introduction is easy to follow


Knowing and understanding how HTML and CSS play together is essential. It is often neglected
1. Your visual framework will be the IBM OneUI. Make yourself familiar
2. Learn HTML at w3 schools (comes in HTML5 flavour too)


There is a lot of fine details, so make sure you cover the bases
1. Learn about the mobile controls in the Extension library
2. Familiarize yourself with Apache Callback. XPages uses that "under the hood"


There will be a point where you want to take a peek under the hood or write system wide components. Then it is time for Java
1. Read a book: Head First Java, 2nd Edition. It is funny like the whole series and gives you a head start.
2. Read online for free Bob's book on Domino with Java. When you are coming from a Domino/LotusScript background, the objects will be familiar and you can focus on the Java syntax
3. Download and install BlueJ. It allows you to interactively work with Java objects. A killer when exploring
4. Look at the source of the Extension library
5. When you are ready to dive deeper: read Thinking in Java
6. Check out the XSP Starter Kit


1. Make sure you have signed up for a developerWorks accounts, so you can update the Domino WIKI, participate in discussions and communicate with IBMers using Sametime
2. Register on BleedYellow. It gives you access to Blogs, Communities and Sametime
3. Become part of OpenNTF, if it is only for being able to rate and feedback on the content

IBM provided resources

1. Direct help in Domino Designer using Help - Help Contents and hitting F1 - also available as an IBM Information Center. It includes a tutorial on creating an XPages application, a section on designing XPages applications, and a XPages reference guide.

2. Lotus Notes and Domino Application Development wiki (including community articles such as Getting Started with XPages, Tutorial: Introduction to XPages, a whole section with tutorial articles and much more)

3. The Notes Domino Application Development wiki

4. Redbooks wiki: Building Domino Web Applications using Domino 8.5.1

5. Redbooks wiki: Lotus Domino Development Best Practices


1. IBM Press: Mastering XPages: A Step-by-Step Guide to XPages Application Development and the XSP Language

2. IBM Press: XPages Portable Command Guide: A Compact Resource to XPages Application Development and the XSP Language

3. IBM Press: XPages Extension Library: A Step-by-Step Guide to the Next Generation of XPages Components (to be released in May 2012)

Free community provided resources lots of links to useful resources


3. XPages.TV: Notes In 9 videos, 2 hours of XPages jumpstart, and a introduction to Java for XPages develovers series

4. home of the original XPages cheatsheet and the new Social Tools cheatsheet

Free courses

1, TLCC: Using Lotus Domino Designer 8.5

2. TLCC: Introduction to XPages development

Paid courses

1. Notes/Domino courses

2. XPages 101 video training and XPages 201 classroom training

3. TLCC developer courses

IBM XPages Workshop

This course focuses on the fundamentals you need to begin building applications using XPages. You will learn how the latest XPages improvements build on the breakthrough innovation started in Lotus Notes 8 and Lotus Domino 8, how to build applications quicker, and how to reuse existing assets as business needs evolve.

Visit IBM Events - XPages Workshop

Community provided support

1. Lotus Notes/Domino XPages development forum

2. Stack Overflow on XPages

Blogs section that is updated daily with links to blog entries, wiki articles, OpenNTF projects and more.


1. Follow Twitter accounts for XPages related news:, All Things XPages, XPages blog, XPages Dev Team at IBM, and OpenNTF.


IBM Lotus Domino Designer and IBM Lotus Domino

Free IBM Lotus Domino Designer
IBM Lotus Domino Designer, an extension of the Eclipse IDE, is the tool to rapidly develop XPages applications.
IBM Lotus Domino Designer is free!

Download Free IBM Lotus Designer
IBM Lotus Domino Evaluation Version
In order to run XPages applications in a production environment an IBM Lotus Domino server is required.
There is a 90 day evaluation version available.

Download IBM Lotus Domino server evaluation
Purchase IBM Lotus Domino
In order to run XPages applications in a production environment an IBM Lotus Domino server is required.
Choose your country below to find about pricing.

See here for more information




Wednesday, 13 May 2015

LOTUSSCRIPT: Clear Documents from Trash Folder after SoftDeletion Expiry time (if not cleared in due time)


By default, the Soft Deletion setting “Permanently delete documents after” is set to 48 hours. If someone try to set it to lower value like 1 hour, the mails doesn’t get cleared after 1 hour. instead it remains in Trash folder until updall command is executed on the database.



Running “updall” command every hour on mailboxes is not possible, instead a script is required which can perform the same operation.


Following script performs the operation as desired to clear the documents from Trash folder after Soft deletion expiry time. Once deleted, documents are moved to ($SoftDeletions) view.

    Dim s As New NotesSession
    Dim hours As Integer
    Dim db As NotesDatabase
    Dim vw As NotesView
    Dim doc As NotesDocument
    Dim doc2 As NotesDocument
    Set db = s.Currentdatabase
    If db.getoption(dbopt_softdelete) Then
        On Error Resume Next
        'MsgBox hours% & " hour(s)"
    End If
    Set vw = db.Getview("($SoftDeletions)")
    Set doc = vw.Getfirstdocument()
    Dim dtDeleteCheck As NotesDateTime
    Set dtDeleteCheck = s.Createdatetime(Now())
    Call dtDeleteCheck.Adjusthour(-1 * hours%)
    Dim dtDeleted As NotesDateTime
    While Not doc Is Nothing
        Set doc2 = vw.Getnextdocument(doc)
        Set dtDeleted = s.Createdatetime(doc.Lastmodified)
        MsgBox "dtDeleteCheck.Timedifference(dtDeleted): " & dtDeleteCheck.Timedifference(dtDeleted)
        If (dtDeleteCheck.Timedifference(dtDeleted) > 0) Then
            MsgBox "Message to be cleared.. " & doc.subject(0) & " : " & doc.Lastmodified
            Call doc.Removepermanently(true)
            'MsgBox doc.subject(0) & " : " & doc.Lastmodified
            MsgBox "Message NOT TO BE DELETED YET.. " & doc.subject(0) & " : " & doc.Lastmodified
        End If
        Set doc = doc2