How to hide the lotusscript code

Dear All,

I have implemented views, forms and Script libraries in an nsf file, using Lotusscript language.

This nsf file contains a Notes application with a lot of functionnalities. It also contains a form that allows to install the application in the bookmark of the user. This installation is in fact a copy of all the forms, views and scripts from the nsf file to the bookmark of the user who is installing (I use Notesnotecollection and NotesDocument.CopyToDatabase)

I have a question : how can I hide the forms, views and scripts in both my nsf file and in the bookmark of the user who is installing my application?

I have played with the “hide lotusscript and formula” option of my database. But the code is only hidden in my nsf file : the code of the copied forms, views and scripts in the bookmark is visible.

Any ideas?

Thanks in advance.

Mikaël Donini.

Subject: how to hide the lotusscript code …

Based on your post, i understand that its a local replica on the users pc/laptop. What do u want hide ? If you dont want these forms on both the locations u can delete them. Please be more specific of what u want to do.

Raj

Subject: RE: how to hide the lotusscript code …

Hi Rajesh,

In fact, my forms are in a database called my_db.nsf. This database is going to be delivered to several Notes users (my customers in fact). When the users will open this database in Notes, they will access the default form which has an “install” button.

Clicking on this “install” button will copy all the forms of my_db.nsf inside the bookmark database of the user.

That is the reason why I want to hide both the code (lotusscript) of my_db.nsf and the code of the forms copied in the bookmark.

I hope you understand my needs. Thanks for your time,

Mikaël.

Subject: RE: how to hide the lotusscript code …

You cannot hide individual forms, views, LotusScript libraries and so on. A database as a whole either has a hidden design, or it has not. bookmark.nsf does not have a hidden design. Neither do I know of a way to force that through LotusScript, nor can I think of an admin in his right mind, who would allow you to do so.

Subject: RE: how to hide the lotusscript code …

It confirms my first thought.It is impossible ;-(

Thanks for your time.

Mikaël.

Subject: RE: how to hide the lotusscript code …

Not at all true – you can easily hide the LotusScript source code without hiding the design of the notes. If you copy the notes from a database with a hidden design OR if you use imported LotusScript (using the %Include directive), the notes and their copies will have the compiled script but not the source code.

Subject: RE: how to hide the lotusscript code …

This was Mikael’s original request:

“I have a question : how can I hide the forms, views and scripts in both my nsf file and in the bookmark of the user who is installing my application?”

Still impossible.

Subject: RE: how to hide the lotusscript code …

My response still stands – the LotusScript code can be hidden, and unless something weird’s going on, that’s where the IP would lie.

Subject: how to hide the lotusscript code …

Hi Mikael. I hope this is what you are looking for.This is from the Designer Gelp topic: Hiding the design of a database

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

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.

  1. Create a new database based on the template.

  2. After the database is created, select the new database and choose File ­ Database ­ 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

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.

Subject: Correction: Designer Help [EOM]

Subject: you know you can EDIT your original post

Subject: EDIT button

I created the post in Notes client, and tried to edit it in web browser. Under these circumstances, the Edit button does not appear. OK?

Subject: RE: how to hide the lotusscript code …

Thank you for your time Jeffery but I have already done that. In fact, my need is more complicated.

In fact, my forms are in a database called my_db.nsf. This database is going to be delivered to several Notes users (my customers in fact). When the users will open this database in Notes, they will access the default form which has an “install” button.

Clicking on this “install” button will copy all the forms of my_db.nsf inside the bookmark database of the user.

That is the reason why I want to hide both the code (lotusscript) of my_db.nsf and the code of the forms copied in the bookmark.

I hope you understand my needs. Thanks for your time,

Mikaël.