In Notes 8.0 when you double click on a Notes document it opens up in a new page with just the document opened in it. With a new feature in 8.0.1 you are able to open Notes documents in pages of a composite application. The new page can again be a composite page which has wires to other components. Opening a document can lead to a few actions being fired which can show composite information on the page which was unavailable earlier.
How to use the feature
This topic uses the Sales Lead Application for demonstrating this feature. First of all, create a new Composite Application and place the Sales Lead Core->Company View.
Important: In order for this feature work, you must first set the application level preference "com.ibm.rcp.useClonePages" in the Advanced Properties to "com.ibm.rcp.useClonePages=true."
It is also important that you make sure that you have set "com.ibm.notes.enable.preferences=true" as a page property for your application. Refer to Running NSF components in context for more information.
The main idea behind this feature is that each Document is associated with a Form. A new page is created in CA associating it with a single form. When a document associated with such a form is opened the respective Page will be opened.
Take note of the form name associated with a Document from the Infobox. In the below example, the form name is equivalent to "CompanyForm". Note: Form alias is used always.
Create a new page in the CA with any name. In the Page Properties->Advanced tab set a new property by the name "com.ibm.rcp.alias" and value equal to the form alias name. This property will be used to identify a page associated with a form. You may hide the page in the navigator also.
In the new page it is now important that we create a Notes Component that will act as a Placeholder component. This component will serve as a location markup as to where a document should be opened. Only one placeholder component can exist in a page. A Component is designated as a placeholder component using the property com.ibm.notes.isDocumentPlaceholder=true
NOTE: It is necessary to point the URL of the Notes Component to the Form from the database.
Take note of the new property com.ibm.notes.isDocumentPlaceholder.
Add two other components and wire them as needed. This will demonstrate the composite nature of the page. For demonstration, the example has added the Closed and Pending Leads views and wired them as shown below. Also my Document's form is written to do a Publish of CompanyName property in the PostOpen event.
Now you are ready to try it out.
Open the CA and navigate to the first page. Double-Click any document to open the document within the Placeholder component in a new page along with other Components.
1. Documents belonging to a particular form always open in the same page bringing uniformity in the CA
2. Different target pages can be created for Documents using different forms
3. Document is still within the context of the Composite Application
The feature Open Notes Document in CA Page can be used to open Documents associated with a particular keyword to be opened in a particular page. For example, this allows us to open all Documents that are related to Issue Tracker to be opened in a page containing the Issue Tracker database and all documents pertaining to company "MyCompany" to be opened in a page comprising MyCompany's teamroom along with other components etc.
The below snapshot shows a mail Inbox with different mails:
Double-click on any document related to MyCompany and you can open it in a page along with the MyCompany Teamroom as shown below:
The examples uses @ Formula here to allow documents based on a single Form ( here Memo) to be opened in different pages based on a subject analysis.
- Create a copy of the Memo form and name it as Issue Tracker ( Alias: IssueTracker). You may write intelligent code behind Form's PostOpen to publish any available fields.
- In the Inbox folder write a formula in the FormFormula field. This will allow the calculation of a form name dynamically.
- An @Contains method is used to check for the keyword "MyCompany" in the Subject field of the Memo. I return the value same as the Alias of the newly created Form "MyCompany" if SPR is found.
- Create a new Page in CAE with the the page alias set to the form Name as returned by the FormFormula i.e. MyCompany
You now have a working example. Double-click on any incoming mail with the name MyCompany on it and see the document open in a new page along with the MyCompany Teamroom.