Lotus: How to put Notes Documents on Pages in Notes 8.0

THEMES: Lotus\Notes/Domino 8 | Lotus\Composite Appl...
YEAR: 2007
Login Login
User: Anonymous


LABEL: Composite Application | Lotus Notes 8 | Lotus Notes API
ORGANIZATIONS: IBM
 

Comments/attachments: Close
 
Resources
How to put Notes Documents on Pages in Notes 8.0
http://www-03.ibm.com/developerworks/blogs/page/CompApps?entry=how_to_put_notes_documents&ca=drs-bl

I wrote some time ago about how we want to be able to put Notes documents on pages in Lotus Notes 8.0.1. In that blog entry I also mentioned a workaround that you might be able to use today. I've now been asked for what exactly this workaround is and how it works. So here is some information about it. I described the limitations in the previous blog entry.

Essentially you can use a Notes frameset with two columns. The left one is sort of hidden. Just make it as small as possible and define 'allow resizing = false'. In this column put a form 'HiddenForm'. In the right column put the form based on which you want to display documents. This is necessary to register properties and actions with the CAE. Call the right frame 'RightFrame'. Here is how the frameset can look like.

Next you need to implement a Notes action in the 'HiddenForm'. Here is the code. In this sample I use another component that publishes the document unid. The unid could be published when a view entry is doubleclicked in the Queryopendocument event and continue is set to false. Instead the property causes to bring up the other page with the frameset via a cross page wire.

Sub Click(Source As Button)
Dim s As New NotesSession
Dim db As NotesDatabase
Dim pb As NotesPropertyBroker
Dim newDoc As NotesDocument
Dim workspace As New NotesUIWorkspace
Dim uiDoc As NotesUIDocument
Dim newID As String
Dim inputPropertyName As String
Dim pbInputProperty As NotesProperty
Set pb = s.GetPropertyBroker()
Set pbInputProperty = pb.InputPropertyContext(0)
inputPropertyName = pbInputProperty.name
newID = pb.GetPropertyValue(inputPropertyName)(0)
Set db = s.CurrentDatabase
Set newDoc = db.GetDocumentByUNID(newID)
If newDoc Is Nothing Then Exit Sub
workspace.SetTargetFrame "RightFrame"
workspace.EditDocument True, newDoc
End Sub

Niklas