Crikey, this is a bit technical, isn’t it? Well no, actually it’s not, but I’m not going to pretend that I know this stuff to anywhere near the depth of fellow Lotus guys Steve Castledine or Bob Balfe. If you want deep technical stuff on Notes composite applications, I suggest you visit their blogs or hunt down their articles on DeveloperWorks. This is really just to show how to take a simple standard Notes application and give it a bit of the composite treatment. Please note that I’m using Notes 8.5.1 so you’ll have to wait a month or so to get the full effect (although the functionality now be achieved now with 8.5).
Step #1 is to create a Notes 8 widget that associates a post code (or zip code) with Google Maps. If you don’t know how to do that, forget the rest of this and go and read Dilbert.
Step #2 is to create a simple Notes database to supply the data. I’ve used a mix of customer and product details – in my sample application some schools are the customers and they’ve bought telescopes. The two important things are the post code (or zip code) in the customer details and the product they bought expressed as a product code. All you really need is two forms, two views (customers and products) and some data.
Step #3 – create a blank composite application in Notes. We’ll come back to it later.
Step #4 – open your Notes database (the one with the forms and views) in Domino Designer and create a new set of wiring properties. You’ll then need to add two new properties which match the field names in the customer form for post code and product code – it’s best to give the same name to ‘Name’ and ‘Title’ and ensure the option for ‘Automatically generate an action for this property’ is selected.
Step #5 – go to the design of the view which will list the customers. This view should include the post code and the product code. For each of these columns pull up the properties box, go to the last tab (the propeller hat) and look to the bottom. Under ‘Composite Settings’ the property value should be set to the property you just created for the wiring in step #4. Save the view and close it.
Step #6 – open the blank composite application and select Actions, Edit Application. The application opens in the composite application editor. Notes 8.5.1 provides some new containers – from the Component Library palette look for Containers, grab a Notes View Container and drag it into the big empty space.
Step #7 – you need to configure this container to display the customer view from your Notes database. On the left you’ll see your new Notes View Container in the application hierarchy (there isn’t anything else on the page at the moment). Right click and edit the component properties. Go to Component Settings – you can change the name and description, and then hit the Browse button to find your Notes customer view. Select ‘view’ as the kind of object, choose the source application, and then select the view. After pressing OK, select ‘Java’ for the rendering. Click okay, and you should see your view.
Step #8 – repeat step #7 but this time pull in the product view. It doesn’t matter where you place the second view, and you can move it later.
Step #9 – change the palette to ‘My Palette’ and drag the Google Maps widget onto the page. Again, positioning isn’t critical but bear in mind that this frame will demand a bit of space.
Step #10 – now you’re ready for wiring. Click on the wiring icon (the yellow plug) at the top of the customer view. The available properties will list ‘postcode’ or whatever you named that property in the wiring properties in step #4 – select that. Then select Google Maps as the target component and leave the available action as the one which it suggests (which by default is ‘q’ – that’s what the Google Maps search uses as it’s parameter). Click Add Wire and then OK.
Even now in the previewing within the composite application editor you will see that clicking on different records in the customer view plots the location on the Google Map.
Step #11 – now to wire the customer view to the product view. Again click on the wiring icon at the top of the customer view. Select the other property that you created in step #4, the one for the product code. Select the product view container as the target, and select ‘Search in View’ as the target action. Add the wire and click OK. Now you’ll see that selecting a record in the customer view causes one product record to appear in the other view. Size the preview pane to get a full preview of the product information.
You can also go back into the composite application editor to define an application icon and make sure everything is named correctly for display. Click on the image here to see a screenshot of the finished application… well, until I find some other things I can add to it.
Addendum – I spoke with the aforementioned Mr Balfe and he said that I probably had some unnecessary steps in this process because the new view container takes away the requirement to define the wiring properties in Domino Designer. So it shouldn’t be necessary to go through steps 4 and 5, and there’s something else that can be done in the configuration of the view container. As soon as I work out the right way, I’ll post an update.