A standard feature available in Notes since Release 3.0, the Design Synopsis tool is often not mentioned and perhaps equally under-used. As the name suggests, Design Synopsis provides developers with database design information -- and in quickly providing useful, general information, the name "synopsis" is accurate. However, the name fails to capture the rich and detailed level of the information available with this tool. In this article, we'll explore the current features of Design Synopsis, including who needs the tool and how to run it. Then, we'll touch upon enhancements planned for the future.
A database designer interested in maintaining or enhancing the quality of an existing database should become familiar with Design Synopsis. The need (and greatest appreciation) for Design Synopsis evolves with the natural course of the database life cycle.
In the textbook development cycle of a Notes application, time is scheduled for a design analysis phase. This process involves the developer or analyst gleaning the needs of the users. The end result should yield a design specification document detailing forms, views, fields, and shared agents. This document serves as both a development tool and system documentation.
Once a system has been developed, however, textbook rules are usually cast aside for the sake of expediting the ongoing, ever-needed modifications. This need, coupled with the flexible nature of Notes applications, can render even the most well designed Notes database unwieldy. At this point, the original system design documentation has reached antiquity, and if all goes according to Murphy's Laws, the original development team cannot be reached for comment. With users clamoring for change, what is the hapless developer to do?
How about, click the mouse! Assuming the database design is not hidden, Design Synopsis can provide a detailed blueprint of the database today, complete with out-dated and duplicate fields, antiquated agents, and hastily added views and forms. For example, you can use Design Synopsis to see if all traces of a variable name in an agent have been removed, or if a particular field is used in multiple places and might be a possible shared field candidate.
Database designers are not the only ones that can benefit from this tool. Design Synopsis also provides information that can be quite useful to the Notes database administrator. For example, you can obtain general database, replication, and ACL information through Design Synopsis.
Use the following steps to run Design Synopsis.
- After selecting the icon for the desired database, run Design Synopsis by choosing File - Database - Design Synopsis. In Release 4.6, the Design Synopsis dialog looks like this:
Figure 1. Design Synopsis dialog box
- Then, select the information that you want summarized in the Design Synopsis. The Design Synopsis can include database information that is helpful for database managers, and/or design information that is helpful for database designers.
The following Database information options are available:
- Database - Provides basic database information, including the location, database title, creation and modification dates, and so on.
- Space usage - Displays basic administrative information, including the file size, space used, available space, free space and number of documents.
- Replication - Displays database replication settings, such as the replica ID, priority, replication components, and so on.
- Access list - Generates a listing of database access information, including the user and group names in the database's ACL, and associated access and role privileges.
The following Design information options are available:
- Shared field - Displays a listing of all fields defined as "shared" in the database. In addition, Design Synopsis profiles each field's character composition, including the datatype, field type (such as, editable or computed), default value, last modification date, associated formulas, and much, much more.
- Stored query - Displays the names of the full text search queries saved with the database, and their selected options and formulas.
- Agent - Displays a listing of agent names, last modification dates, formulas, run options and more.
- Script library - Retrieves a list of script libraries used in the database, including the last modification date for each library.
- Forms - If selected, the Forms list box (located beneath the Forms checkbox) displays the names of the forms and subforms associated with the database. You can then select the specific forms to be documented by Design Synopsis. (By default, all forms are selected.) The summary displays each form's name and aliases, last modification date, security information, and a listing of the fields associated with the form, including their datatype, field type, default value, last modification date, associated formulas and much more.
- Views - If selected, the Views list box (located beneath the Views checkbox) displays the names of the views and folders associated with the database. You can then select the specific views and folders to be documented by Design Synopsis. The summary displays each view's name, last modification date, selection formula, category information, security information and a listing of columns associated with the view, including their title, formula, width, format and many other settings.
- After selecting your options, click OK.
Design Synopsis automatically gathers the requested information, and a status bar displays the items as they're processed. All gathered information is stored in memory. Upon completion, Design Synopsis automatically displays the summary in a new Notes window. For a peek at what the Design Synopsis summary looks like, see this sample output sidebar.
You can then print the completed report, or save it to a file. To print the report, just choose File - Print. To save it to a file, choose Edit - Select All, and then choose Edit - Copy. You can paste the contents into a Notes document or your favorite spreadsheet.
There are also third-party tools available that can help you manipulate and view the Design Synopsis output.
Tools are, of course, applications. And, as with all applications, updates and changes are merely a version away. Design Synopsis is no exception. Here is a preview of Design Synopsis modifications planned for the future:
- The ability to save output to a specified database.
- Reporting of LotusScript, Java and HTML code, and all Action information.
- Reporting of all design elements, including Navigators and About Documents. You will also be able to select specific design elements, such as specific folders, subforms, and shared fields. (With 4.6, you can only select specific forms and views.)
- Reporting of all programmable design objects, including any design object that contains LotusScript, Java, Notes formulas and/or canned actions (layout regions, links and pop-ups).
- Significant performance enhancements. The improvement will be most noticable when starting Design Synopsis on a database with lots of design objects that resides on a server.
Although you can find most of the information generated by Design Synopsis in other parts of the Notes UI, it might take you hours to track all of it down. Design Synopsis collects this detailed information for you and presents it in one forum. If, for example, a database designer needed to know the design and attributes of a database, selecting all the Design Synopsis options would yield the complete picture -- in significantly less time than it would take to find the same information through the UI! The output provides a reference source for all the problem areas (like duplicate or outdated fields and forms), a place to start for the not-so-hapless-afterall developer.
Copyright 1997 Iris Associates, Inc. All rights reserved.
Sample output sidebar
Domino Designer R5 Technical Overview
NotesPeek: X-ray vision into Notes databases
Mike Brown has been with Iris for almost 4 years. Between Lotus and Iris, he has been with the company 8 years, working on many different areas of Notes. He has spent the last year-and-a-half working on the POP3 and IMAP4 servers -- with a good deal of that time tackling the conversion from Notes to MIME and the MIME storage feature. Outside of work, Mike loves sports and is an avid tennis player. He also loves science fiction (X-Files!!!!).