The Lotus Notes Hide Design Tool

This document describes a Hide Design tool that enhances the
application design protection available in Notes 3.x. 

About the Hide Design tool

The Hide Design tool improves on existing hide design
features by allowing a database designer to more securely
protect the design of a database so that users do not have
access to the design of a Notes application. The tool takes a
source database that you specify and creates a destination
database with all formulas and formula comments hidden from
view. The only formulas that are displayed are Full Text query
macro formulas because these formulas will not execute if they
are hidden.

Users of hidden databases do not need to install a new version
of Notes client software. The Hide Design tool works for any
Notes database residing on a server running Notes version 2.0 or
greater. A user running Notes client server version 2.0 or
greater can access a hidden database. Likewise, the protection
provided by the Hide Design tool does not depend on a new
version of Notes and cannot be subverted by using an old version.

You run the Hide Design tool from a Windows or OS/2 operating
system, but you can hide the design of any database. Hidden
databases are available to clients using any Notes platform and
can be used on a server on any Notes platform.

How the Hide Design tool works

The Hide Design tool is based on the model provided by
programming languages such as C and Visual Basic. Programs that
are linked and compiled into object code with C or Visual Basic
are nearly impossible to decompile back to source code. The Hide
Design tool duplicates the compile and link model, resulting
in an end-user application with the design work securely locked
away.

You can either create an output database that is a copy of the
original database, or create  an output database that is a
replica of your database. If you create a replica copy, you can
modify the design of forms in the source application and
replicate those changes to the output database. This feature
allows you continue to modify the application and replicate the
changed forms to the installed databases.

Remember to keep the original database backed up and securely
stored, because if the original database gets lost or corrupted,
you will not be able to recover the design features from a
hidden copy of the database. There is no way to "unhide" design
features for a hidden database.

Be aware that users can use any one of a number of third party
tools to gain access to high-level database design elements such
as forms, and views. However, column and view selection formulas
will be hidden. On forms, users will be able to see field names,
but will be unable to see the field formulas that control the
application design.

Installing the Hide Design tool

The installation procedure is a simple file copy and does not
involve an installation program. To install the Hide Design
tool, copy the file lnhide.exe to a directory on your hard disk
or on a server.

Using the Hide Design tool

1. Make sure your source database is backed up and that the backup
copy is securely stored.

2. Make sure that notes.ini is in your operating system Path
statement.

3. Go to an OS/2 or a Windows system prompt and enter the command:

  lnhide sourceDB destDB

where sourceDB is the name of the original database and destDB
is a unique name you assign for the output file. If the source
database is in your notes data directory, the database name is
sufficient, for example calltrak.nsf. If not, specify the full
path and filename, for example, c:\apps\calltrak.nsf.

By default, Notes creates a non-replica copy of the source
database. If you want to create a replica copy instead, for
example if you expect to make changes to the application design
and would like to replicate the changes to the installed
databases, use the option -r after the lnhide command. For example:

lnhide -r calltrak.nsf calls.nsf 

Adding a hidden database to the desktop

To add a hidden database to your desktop, follow the standard
procedure for adding a Notes database icon.

1. Choose File - Open Database to see a list of available databases.

2. Select the name of the hidden database, (for example, calls.nsf)
and click Open.

Notes adds the icon to your desktop and opens the database. 

Updating replica copies of a source database

If you created replica copies of a source database (using the -r
option to the lnhide command) you can modify the source database,
then select Tools - Replicate to initiate replication to the
deployed copies of the database. Notes replicates the changes to
the application but continues to keep all design information
hidden. Once you replicate changes to one deployed database, the
server-to-server replication schedule passes those changes along
to other replica copies of the database in a distributed
environment.

Updating copies of a source database

If you used the lnhide command to make copies of a source database
and you then modify the source database, we recommend you deploy
a new, uniquely-named destination database rather than overwrite
the existing one.

Remove the icon for the existing destination database from your
Notes workspace by selecting the icon and pressing the Del key.

Enter the lnhide command as described above, using the modified
source database and a new unique name for the destination
database. 

Follow the steps above for adding the hidden database to your
workspace.

Instruct users to remove the outdated hidden database from their
workspace and add the new database.

Delete the old, outdated database from the server.