Documents are locked randomly in Lotus Notes database - lotus-notes

I have a legacy Lotus Notes application that starts to randomly lock a document even though no one is opening the document. So when someone tries to edit a document, Notes will say that 'the document is locked by user1/Domain' but when I check with user1, the person does not have that document open and the admin or the user1 has to manually right click the document and select 'Unlock document'.
What would some suggestions to try to find out the cause of this problem?

If users aren't manually locking the documents, then there must be some code that is doing it on their behalf. Look through the code for places where the NotesDocument.Lock() method is being used or the formula #DocLock
I would use the Design Synopsis feature to generate a report of all the forms, script libraries, and agents, and then do a text search for those methods/formulas. That may help narrow down where the lock is occurring.
Or, if you wish to turn off document locking completely:
Choose File - Application - Properties and click the Basics tab.
Deselect "Allow document locking."

Related

Prevent handling Ctrl+C\V in Lotus Notes database or view

We have a view which gives users an ability to work with documents where we made our own logic for copying documents. It is accessed with a special button on the view. But the standard behavior of copy paste key shortcuts is still there and some users are using it instead and this is breaking some of our logic.
Is there any way to prevent users to copy \ paste documents within Lotus database or at least a certain view?
Yes. If the user don't have author/editor/depositor access they can't paste documents into the database.
You also have the QueryPaste event in the view, you can use that to prevent documents from being pasted in.
In Notes 8.0.2 you also got a new database property (under the advanced tab) called "disable export of view data". You can use that one as well.
There is also a 'disable copy' system field you can apply to any document. If the document contains a field called $KeepPrivate with a value of "1" then document copying is prevented in the client UI. It prevents copying to the clipboard and printing out. It doesn't prevent screen-print of course. It doesn't prevent pasting in either (see paste agents to control that). Readers cannot paste in a document or edit existing data too. You can set/clear $KeepPrivate as needed and $Readers too if necessary.

Get recently read document in Lotus Notes Database

I am developing a database on Lotus Designer 8.5 environment with LotusScript and LotusFormula.
Is there any possibilities on get a list of recently opened documents (for example last five) in a Lotus Notes database ? My purpose is to provide an embedded view showing the recent documents opened by current user on the current database, which will act like some kind of history view.
Please advise
Use a folder categorized by username. Add the current document in PostOpen event to folder with document.PutInFolder(folderName) and remove the oldest document from folder with document.RemoveFromFolder(folderName)
This way you don't need to edit the documents and can show the last visited documents for a user in an embedded view.
As an alternative you can use user specific folders with option "Shared, private on first use".
I have that functionality in one of my databases.
I just added some code in the QueryOpen event of the form to store the UNID of the document in a profile document linked to the specific user. The values are stored in a multi value field, and my code removes the oldest entry when the number of entries I want to store is exceeded.
The user can actually set that number themselves in teh applications settings, 5 is default but they can make it more or less.
I built a class for this, makes it very easy to modify later, and to implement it in different forms, for different document types.
I then built a method to expose the last documents to the user, using a dropdown box as you can see below. Since you only wwant/need the five (or perhas ten) last documents, no need to use a view.

Lotus Notes embedded view not working for one user

I have an embedded view in a main form (same database) with a single category of a client code that is custom generated. The view displays all other documents that have that main document's client code in a hidden field.
This works perfectly, except for one user where the embedded view is blank, and the message "category not found" is displayed. This happens for all documents viewed. Anyone else that opens the exact same main documents can see the correct list in the embedded view. The documents are definitely there.
I've pressed F9 a few times, and the "category not found" keeps coming up. I've also shutdown Notes and deleted the cache file, and restarted. There have been no changes to the database for a long time, and this started for this one user a few days ago.
I have no idea whats causing this.
Check readers/authors fields in documents that should be displayed in your embedded view. May be that user just can't see them.
Before I get too stressed, I generally try this:
Remove the database from the user's workspace
Compact the workspace (2nd tab of workspace properties)
Close Notes
Delete cache.ndk
Restart Notes
If that doesn't work, I'd check that the user can see the documents in another way (i.e. if you send a doclink to the user, can the user open it (alternatively, try opening the embedded view directly through View - Goto. Don't forget to use CTRL-SHIFT at the same time if the view is hidden)? If not, the user may have lost a role, or dropped out of a group that provides access.
¿The view is "shared" and not "shared, private at first view"? In that case, you have to delete de "private version" of the view for that user
¿The embedded view is calculated, and show one view for a group of users and a second view for another group? Maybe you're searching the problem in the wrong view
¿The single category is based on a formula or on a calculated field? In that case, the formula calculates a different value for that user

How to create Lotus form to both enter data and display the same information (Lotus Designer)

Very new to Lotus designer.
I am trying to create a simple form with a field which is updated from time with additional information. I want the admin user to be able to update this information on the same form interface as the user viewing the information.
It appears I do not really understand how to get the form to display information entered into it previously.
I did Ctrl+shift view of the database and saw all the previous entries but I can not seem to get the form to display these information as well as allow me to append to them.
Kindly help.
Thanks.
Have a look at the online Domino Designer help - for instance the sections on designing forms:
http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.designer.domino.main.doc/H_ABOUT__FORMS.html
A form is used to create a new document or to edit an existing document. Since you say that you can see the previous entries, you must be creating a new document for each entry.
If you want to see and modify the contents of an existing document, you have to navigate to the document and open it for edit.
If you want the user to see a list of all the previous documents while he is creating a new one, you can add an embedded view to the form and use that to display data from the previous documents.
If you want all the information to be in a single document, then you need to stop creating new documents and just select the exiting document, open it for edit, make your changes, and re-save the document.

Disable Word/Sharepoint Integration

I have a requirement to disable the integration between Sharepoint and Word in a project that I am working on. This requirement comes from the request that the user is able to edit the properties of the document but not edit the document itself. The request has also been made to disable the Shared Workspace toolbar that appears when a document is open. The solution must exist on the server as some of the users are external. The users have also requested that they are able to use the Outlook/Sharepoint Integration. Does anyone have any thoughts on how this can be accomplished?
I'm guessing they want to change some document properties, apply those as new field values and print - but not change the original.
Here are some ideas, not sure how useful they could be.
1) apply a password for editing the Word document - It may still allow changing properties & printing.
2) strip out doc the properties and put them in a sharepoint list, with the document itself as an attachement - the document then remains as read-only, but the properties are held separately
3) If your documents are in a list, Allow changes on the list, but demand changes be approved, so users only get to see their own changes, no-one else sees the changes they made. Changes will sit there pending approval. Periodically you can go and reject any changes.

Resources