Far simpler, and ultimately less expensive than employing the workarounds discussed previously, is to purchase a third-party tool called Teamstudio Analyzer, which is a part of the Teamstudio for Notes suite. As one Lotusphere attendee put it many years ago over a discussion at breakfast , "Don't leave home without it!"
The granularity that is not present in results databases produced by Design Synopsis is present in the Analyzer databases created by Teamstudio Analyzer. Each design element is stored in its own document, and all the objects are stored in what Teamstudio calls a hierarchy. You can store multiple database analyses in the same Teamstudio Analyzer database, and each will occupy its own hierarchy. You can also update the analysis of a database that is already stored in the results database. The tool is simple to install, set up, and run.
To install Analyzer, copy Install.nsf from the Teamstudio CD that you'll receive or the Zip file that you download when you purchase Analyzer. Place the file in your Notes data directory. If you've copied it from a CD, make sure that the Read Only attribute is turned off, and open the Teamstudio for Notes database in the Notes client. After you read the copyright document and click the Next button, the Teamstudio Design System Installation document appears. If you receive an Execution Security Alert, click Start Trusting the Signer to Execute This Action. Check Teamstudio Analyzer, and leave the remaining settings as they are (unless you are installing other products in the suite). Click the Install button. You must restart Domino Designer to complete installation. See Figure 25.11.
Figure 25.11. Installing Teamstudio Analyzer is very simple.
When Domino Designer is restarted, you will notice a new button or buttons (depending on what you've installed) in the toolbar. See Figure 25.12.
Figure 25.12. The Teamstudio Analyzer button is loaded automatically by the installation process.
Running Teamstudio Analyzer couldn't be simpler. To start Analyzer, select a database and click the Teamstudio Analyzer button. The Teamstudio Analyzer dialog window has three tabs. On the Teamstudio Analyzer tab (see Figure 25.13), you select the server and the Analyzer database, and you optionally perform an incremental update. On the Audit tab (see Figure 25.14), you select a filter database (Teamstudio Analyzer ships with one named deanfltr.nsf) and select a specific filter. Next, you name the audit output database for the filter results. The Design Notes tab lets you choose the specific design notes to process through Analyzer. The default is Everything (see Figure 25.15). When you have made your selections, return to the Teamstudio Analyzer tab and click OK. The subsequent window enables you to name the output database. The default title is Analysis of Database Title. Figure 25.16 shows the output database with the hierarchy expanded.
Figure 25.13. The Analyzer dialog box enables you to pick the server and filename for the output database.
Figure 25.14. The Audit tab lets you choose a filter from the filter sets available in the audit database.
Figure 25.15. The design notes include design objects specific to each database.
Figure 25.16. The output database with the hierarchy expanded includes the categories for the design objects.
You can accept the default Analyzer database name, Analysis.nsf, or specify a different name. Even though you can store the analysis of multiple databases in the same Analyzer database, you might have multiple families of databases requiring analysis. If so, consider a naming standard for Analyzer databases so that you can quickly identify each group .
Working with the Output Database
Figure 25.16 shows the granularity of the output database quite clearly. In contrast to the Design Synopsis that produces a single document for an entire database, you can see how Teamstudio Analyzer has produced a document for each design element. This has some significant advantages and some very practical applications, including the following:
In many ways, this is just the tip of the iceberg for this rich design tool. As you work with it yourself, you will find many more ways to take advantage of the wealth of information stored in the database.
To illustrate how useful this level of granularity can be, consider the following real-life scenario. A very complex, large-scale Domino application had literally dozens of forms and thousands of fields. When deployed to a remote workstation, the application crashed. The offending code could have literally been in any one of the many forms and any one of the fields or actions. It would have taken hours or perhaps even days to locate this problem. Using Analyzer, the problem was quickly located in less than 15 minutes by searching a full-text index. In less than an hour , the problem was fixed. Because of the level of detail, and because Analyzer stores each design element in its own document, specific design elements could be located easily when searching the database. This alone was ample return on the investment in Analyzer.
Using the Views and Forms in the Output Database
As indicated in the previous section, many views are available. The view tree is exposed in Figure 25.16. You will quickly note that each design object appears in the main hierarchy and appears in its own view. Each object type has its own form as well. Figure 25.17 shows a document for the Journal Entry form. You can see that a wealth of information is available that is easy to read. One particularly nice feature is the list of field names in the middle of the document (not visible in the figure).
Figure 25.17. The Form Design document uses collapsible sections to organize information.
Using the Audit Output Database
The Filter database that ships with Analyzer has several different filters available. You can choose from UI Standards, Web Standards, R4. x /R5. x Compatibility, and several others. The audit output database can be used for many things, including enforcing design standards. For example, your development standards might say that all forms must have an alias (mine does). You can easily check for adherence to this standard by looking in the Filter Results database for the entry Form Does Not Have an Alias. Clicking the twistie shows which forms do not have an alias. See Figure 25.18.
Figure 25.18. The results of the audit appear in the Audit Output database.
Two principal areas of customization are available to you in Analyzer. You can customize Audit by adding and modifying filters and classes of filters. You can also modify the design of the analysis database.
Customizing the Filter Database
You can create classes of filters and add your own filters and severity levels. To create a new class of filters, open the filter database DEAN Filter (deanfltr.nsf) and then open the Filter Classes view. Click the Create Class button and enter the appropriate information. You can then add your own filters for the new class. Of course, you can add filters to existing classes, and you can alter the severity and other attributes of filters. Figure 25.19 shows the class and filter hierarchy, and Figure 25.20 shows a filter document.
Figure 25.19. The Generic Filters class is open to the ACL Info filters.
Figure 25.20. This filter looks for an excessive number of fields ”more than 200 ”on a form.
Customizing the Analysis Database
If you want to add new views, forms, agents , and other design objects to the Analyzer, Teamstudio recommends that you create a new template based on ivesdean.ntf. There are specific instructions for customizing the template in Teamstudio help. You must specify a new template name and enter DEANTemplate in the Database Categories field on the Design tab of the Database properties box for the new template. Following these recommendations ensures that Analyzer will recognize this as a template that you can use when analyzing a database.
A Final Word About Teamstudio Analyzer
Hopefully, this brief look at Analyzer has demonstrated why you shouldn't "leave home without it." You have seen how detailed the analysis output database is and how you can work with the audit output database to quickly locate design elements that might need remediation .
Other tools come in the Teamstudio suite as well:
900 Cummings Center, Suite 326T
Beverly, MA 01915
Corporate Office North and Latin America
Teamstudio Europe Ltd.
Huntingdon, PE28 2LU
Phone: +44 1487 772200
Fax: +44 1487 772211
Teamstudio Japan K.K.
West Tower 11F, Yokohama Business Park
134 Godo-cho, Hodogaya-ku
Yokohama Kanagawa 240-0005
Phone: +81 (0) 45 339 1560
Fax: +81 (0) 45 339 1561
You can also locate Teamstudio on the Web at www.teamstudio.com.
Part I. Introduction to Release 6
Whats New in Release 6?
The Release 6 Object Store
The Integrated Development Environment
Part II. Foundations of Application Design
Advanced Form Design
Using Shared Resources in Domino Applications
Using the Page Designer
Adding Framesets to Domino Applications
Automating Your Application with Agents
Part III. Programming Domino Applications
Using the Formula Language
Real-World Examples Using the Formula Language
Writing LotusScript for Domino Applications
Real-World LotusScript Examples
Writing Java for Domino Applications
Real-World Java Examples
Enhancing Domino Applications for the Web
Part IV. Advanced Design Topics
Accessing Data with XML
Accessing Data with DECS and DCRs
Security and Domino Applications
Creating Workflow Applications
Analyzing Domino Applications
Part V. Appendices
Appendix A. HTML Reference
Appendix B. Domino URL Reference