Confusion was my first reaction when I opened Domino. I had expected an Eclipse style environment containing lots of files with code. (Like I said, first time using Domino Designer so expectations were a bit off). Once I started to look around a template application and saw how the forms, views and code sections worked together everything started to make a bit more sense.
Forms contain the fields for data entry, views display data from forms, and code is used to create buttons and actions. Simple enough when you start working with it.
Creating a test application
Having seen a template application it was time to build my own and see what problems I would run into. And there were plenty of them.
Creating forms is nice and easy, buttons for quickly adding fields, hotspots, tables, etc. Organising the form, however, it not as simple. Drag and drop does not work on fields, you select where you want to place them and that's where they go. Tables quickly became my friend to set layouts and organise fields. Inserting a Section to group fields together is a good way to start the layout of a form, Create -> Section -> Standard. Settings for the sections are pretty self explanatory, look through the properties pane and select what you need.
Views were easy enough to set, add a "SELECT FORM = "FORMNAME"" to grab all records or adding clauses, "& FIELDNAME = "VARIABLE"", to limit the records that are returned.
The Code section is useful for creating simple shared actions, which can be embedded in views and forms, or agents that can be more complex and called by buttons in forms or shared actions. My personal preference is to create a shared action, that uses “@COMMAND([TOOLSRUNMACRO];"AGENTNAME")" and create a LotusScript agent. This allows far more functionality and testing. Of course there are plenty of occasions that this is just over kill and a simple formula can be used instead.
The test application
I wanted to build an application to test out different functions and create a template for referencing when building further applications.
The idea is very simple, a two form application based on a call centre storing data about customers and related calls.
The base of the application is one form for customers, containing fields for name, email and telephone number, and one form for calls containing received by name, received date, follow up date and details.
Basic views were added for customers and calls.
Shared actions were added to create a new document, save documents and close.
There is a template that I am happy to share with anyone who is interesting in having a version to play with.