(1) First, Lotus Notes does not provide a record (document) to lock as a document type database. Therefore, as a group-oriented document, if not take action, the editing and saving of the document will occur, which is obvious. Lotus provides replication technology and version control technology, but due to the complexity of the application, our requirements are still unable to meet our requirements. So many people want to implement this control with methods of programming. Here, we mainly discuss the method of programming, regarding copying and version control.
(2) One of the solutions: 2 locks are divided into two types, one is a document lock, one is self-locking. There are two ways of each other. But the usual way is a document lock. First, the document lock: The so-called document lock is to establish an accessory document on the target document, and lock the target document using the attached document. The specific description is as follows: The ancillary document is usually established with a target document. Set up a status domain in an affiliate document that identifies user properties that have edit permissions (save permissions) on the target document. When the target document is edited and saved, the current state is written to the status domain of the affiliated document, thereby adding a lock to the document. If other users try to save, first detect the attached document, determine the status domain, if the storage condition is not conforming to, cancel saves. This avoids conflict. It is worth noting that the locking document must be unlocked at the end of the operation, that is, the status domain of the reset the affiliated document. Second, self-locking: The so-called self-locking is set up in the document. This document modifies the value of this status field when this document is saved, and the document is currently owned by the user information that the document currently has edit saved. When the user opens the document, first determine the value of the status domain. If someone is editing, the editing state is not entered, thereby avoiding conflicts. This method also needs to be unlocked. Third, the comparison of two methods: principle is consistent. But we know that when the target document is locked, if unexpected, if there is an accident, such as power off, crash, etc., the document is closed, and the document is turned off. When it is open again, it has become a dead document and cannot be modified (unless the administrator) is made. With the second method, it will definitely encounter such problems. But if it is the first method, properly set permissions, prepare unlocking programs, allowing users to complete unlock, do not have troublesome.
(3) Solution 2: Version Control The so-called version control is that when many people are approximately a document, they save their documents as the response to target documents. That is to realize multi-person approval with different versions. First, select the form attribute as version control when designing a form. Second, programming flexible version control. See Discussion on Version Control.
Control of the version of the document
(1) What is version control? Many people indicate doubts on the options [file] - [Save as new version] in the menu, which is the same as the command @Command ([FilesAveneWVersion]). So what do you mean? Let's first understand the version control. Notes provides a wonderful two-way replication mechanism. Unavoidable occurrences in copying when copying, multiple people editing the same database or its replica on the same server or different servers. So how do you deal with these different people's modifications? Of course, in the server, they have the same position, remove any one is not suitable, so their information is saved separately, so different versions of the same document.
(2) The following part is taken from Notes Help Database. Add a $ versionOpt domain to the form allows the user to create a new version of the editing document. Using this special domain is much flexible than version of the version of the form, because the latter will affect every document created using the form. 1. Create a domain named "$ versionOpt" and define it as a calculated text domain or editable keyword domain, do not select "Allow Multi-Value" or "Value" options not in the list "option. The domain of "display time calculations" and "Create Calculation" cannot be used under this condition. 2. For a keyword domain, select "Enter keywords (one per line)" and write each project, use keywords and synonyms. For example, automatically saved as a reply document | 2.3. Click the Design pane, click Formula, and write the formula. 4. For the calculation domain, add formulas, add default value formulas for editable domains. The calculated text domain can contain the following values in the calculated $ versionOpt domain: Value Track Type 0 Non-Version Tracking 1 When the user selects "File" "Save As New Version" to save the document, the new version changes to the reply document 2 When saving, the new version is automatically changed to the reply document 3 When the user selects "File" "Save As New Version" to save the document, the old version changed to the reply document 4 Save the old version automatic to reply document 5 When users choose "File" "Save As New Version" When saving a document, the new version becomes a parallel (same level) Document 6 Save the new version automatically becomes a side (single) document editable keyword domain in editable In the keyword domain, you must make the option more easily by the user, please use the necessary value as a keyword synonym, and add a keyword name with strong readability in front of the synonym, use the vertical line (|) interval keyword and synonym . For example: Non-Version Tracking | 0 Creating a Reply Document when using File "Save As New Version" | 1 Automatic Creating Reply Document | 2 Upgrade to Main Documents when using "File" "Save As New Version" | Upgrade to Main Document | 4 Create a new main document when using File "Save As New Version" | 5 Automatically create new main document | 6