Hiding the design of a database

About this task

To prevent users from making any design change to a database, hide the database design. Hiding the design disables all design operations and hides all formulas and scripts.

CAUTION: Users who have Designer or Manager access to the database can replace the database design, thereby changing it.To fully protect database design, remove Designer and Manager access from users who can change the database design.

This feature is useful for hiding the design of databases that are based on a template you own. When design changes are required, you redesign the template, whose design is not hidden, and then refresh the design of the linked databases. To maintain maximum design security, do not give the template to anyone except authorized designers, and do not distribute documentation for the formulas and LotusScript® programs.

When you hide a database design, users cannot:

  • View the settings for design elements (View - Design disappears from the View menu)
  • Modify, add, or delete fields, forms, navigators, pages, or subforms
  • Modify or delete existing views
  • View, delete, or modify existing agents or add shared agents
  • View or change formulas, LotusScript® programs, or formulas associated with simple actions
  • Change the Database Open properties
  • Display a synopsis of the design
  • Reveal the design of the database by making a copy or replica of it

To hide the design of a database

About this task

This procedure assumes you're hiding the design of a database that inherits from a template. Thoroughly review, debug, and test the template before proceeding.

Procedure

  1. Create a new database based on the template.
  2. After the database is created, select the new database and choose File - Application - Replace Design.

  3. From the list of templates displayed in the dialog box, choose the template from which the selected database inherits its design.
  4. Check both "Inherit future design changes" and "Hide formulas and LotusScript®."
  5. Click Replace and Yes to confirm.

Building in access to agents before hiding the design

Procedure

If an agent in the application requires user input, such as specifying a database on which to run or changing schedule options, you must select the schedule option "Choose when agent is enabled" (On the Basics tab of the Agents Properties box, select "On Trigger" and then click Schedule). Create a button or form or view action that includes a formula using @Command[AgentEnableDisable] to enable the agent automatically.