A blog about Lotus Notes and Domino. About news, features and thoughts concerning the web. About Java, Second Life and Google and about anything that's cool enough to spend a few minutes on.
October 23, 2007
Prevent pasting documents into a view
Short tip today! If you want to prevent documents from being pasted into a view, click on section 'Querypaste' for the view and type Continue=False in the sub routine.
Thanks for reminding me that I really want a QueryPaste event at the db level. While you can do all sorts of manipulates with the querypaste event (not just blocking it), it is a royal PITA to have to add the code to every view.
The big problem that concerns me is when you put some sort of unique "key" field on a form (e.g. DocID = @Unique), and build a bunch of code around it. Then some clever user figures out they can "duplicate and customize" an existing document using copy/paste whenever they need a new one similar to an existing one. Of course, then your app breaks because the uniqueness of the DocID field is gone. Oh, and if you're using @DocumentUniqueID instead, and the field is computed when composed, the copy will now have a different UNID than the one stored in the field.
If you really need to, you can work around these problems by using the QueryPaste event in every view, but it would just be SO much easier and more foolproof to do so at the db level.
Thanks for reminding me that I really want a QueryPaste event at the db level. While you can do all sorts of manipulates with the querypaste event (not just blocking it), it is a royal PITA to have to add the code to every view.
ReplyDeleteThe big problem that concerns me is when you put some sort of unique "key" field on a form (e.g. DocID = @Unique), and build a bunch of code around it. Then some clever user figures out they can "duplicate and customize" an existing document using copy/paste whenever they need a new one similar to an existing one. Of course, then your app breaks because the uniqueness of the DocID field is gone. Oh, and if you're using @DocumentUniqueID instead, and the field is computed when composed, the copy will now have a different UNID than the one stored in the field.
If you really need to, you can work around these problems by using the QueryPaste event in every view, but it would just be SO much easier and more foolproof to do so at the db level.
Hi Kevin,
ReplyDeleteCouldn't agree more to you!
While I haven't tested it, there is an event-type (on event) for agents that is somewhat along the lines of "When documents are being pasted".
ReplyDeleteHave you tested the limitations of those kinds of agents?
No I haven't. But that definately sounds like a possibility to perhaps control the pasting of documents for an entire database. Good thinking!
ReplyDelete