There is no source code control system built into Domino Designer in Eclipse (DDE). However, beginning with version 8.5.3, you can integrate DDE with third party source control products for Eclipse developers.
All the design elements that make up a Domino application are physically stored in a single NTF or NSF file. Eclipse projects, however, traditionally use distinct files stored on the file system in one or more subdirectories. DDE bridged this gap by converting a single NTF or NSF file into a virtual file system so the different design elements can properly show. Third party source control products rely on physical files instead of virtual files. DDE 8.5.3 introduces a way to export a virtual file system into physical files and then automatically synchronize between the two, allowing Eclipse source control products to work on the physical files.
Exporting an Application
To export an application, perform these steps:
- Open the application in DDE 8.5.3, then go to File -> Team Development -> Set Up Source Control for this Application. (This menu option is also available when right-clicking on a database in DDE 8.5.3). The following dialog box appears:
Note: if the menu option is not there on your 8.5.3 install, make sure the database is open in Domino Designer. You might also need to switch to a different Perspective to make sure the menu option appears.
This first screen of the wizard is an introduction and can be skipped in future setups by checking the box at the bottom of the dialog box. Click Next.
- You are prompted to enter a project name. Although this name can be anything you want, it makes the most sense to use something similar to the file name of your application. For example, if your template name is “sample.ntf”, then a project name of “sampleodp” (where “odp” stands for “on disk project”) might be appropriate. The project name will be the base subdirectory name of your project. It can be stored in the default location or in another location on disk.
- After clicking Finish, the project is exported to disk. If you selected the option to open the navigator view after the export completed, DDE opens the Navigator view. In the Navigator view, there is the original NTF or NSF (indicated by a Domino icon) and the exported files (indicated by a folder icon).
The exported files are distinct files physically on disk (you can view these files in Windows Explorer). By default, from this point forward, any changes to the NTF/NSF in DDE are also written to the files on disk, and any changes to the files on disk are brought into DDE.
Domino Designer preferences
Domino Designer preferences control the features of Source Control. These preferences can be found under the Domino Designer -> Source Control
Use binary DXL for source control operations
If you have previously worked with text-based Domino XML (DXL) in the past, you might know that there is not currently 100% fidelity between the Domino design element and the text DXL representation of the design element. Source Control uses a binary DXL representation to achieve fidelity between the NTF/NSF and the files on disk. However, this also means that some design elements are not very “readable” on disk. If you have to be able to read through the files on disk and are satisfied that your application can fully use text-based DXL, you can disable this setting. Most developers need this setting enabled all the time.
Enable automatic export of the design elements (from NSF to disk) on modification
With this setting enabled, any change made in the NTF and NSF is automatically synchronized to disk. If this setting is disabled, changes made in the NTF or NSF in DDE are not written to the file system representation (they are only written to the NTF or NSF).
Enable automatic import of the design elements (from disk to NSF) on modification
Similarly, this setting controls whether changes to the file system representation are automatically synchronized with the NTF or NSF in DDE. If the project is not being automatically synchronized, it can be manually synchronized at any point. Go to File ->Team Development -> Sync with On-Disk Project
and the synchronization will be manually preformed.
Show Helper panel in Set Up wizard
This setting determines whether the first screen of the wizard appears or not. If you decided to skip the first page of the wizard and want to bring it back, enable this setting in preferences.
Third party source control
DDE's implementation of source control was designed so that it does not rely on a source control plug-in for Eclipse from a specific company. Any source control plug-in for Eclipse should work. If you are unfamiliar with source control products in Eclipse, there is a DeveloperWorks article describing how to use Subversion (SVN) with Eclipse
Note that any source control product you use with DDE 8.5.3 must be compatible with Eclipse version 3.4.2, which is a back-level version of Eclipse. This means that sometimes you must download a back-level version of the third party product. You should check the system requirements before purchasing any source control product.
An NTF or NSF that has been previously exported through Source Control can have the connection removed. Go to File-> Team Development -> Remove Source Control Association
. After confirming the action, the association is removed. This will not
remove the files from disk, but only remove the association between the NTF or NSF and the files on disk.
Here is additional information concerning the Source Control feature in DDE 8.5.3:
Multiple file system files
If you are viewing the files on the file system, you will notice that some design elements (such as Forms) have one file on the file system and other design elements (such as XPages) have two files on the file system. For an XPage design element, one file is the XML source of the XPage, and the other file is the properties of the XPage (for example, flags such as “do not allow design refresh/replace to modify”). Some design elements require two files on the file system, and others can be contained in one file.
Changes not synchronized
There are certain changes that are not considered significant enough to result in a synchronize to or from the file system. For example, simply opening a design element and pressing CTRL+S without making any changes might not result in the file system representation being updated, even though the time stamp on the design element in the NTF or NSF has been updated. This is expected behavior in DDE 8.5.3. Changes that are significant should result in the files being synchronized. Similarly, if an insignificant change is made to the files on disk, that change might not be synchronized back into the NTF or NSF.