Maureen Leland and Ishfak Bhagat have contributed a new tool project to OpenNTF - Source Control Enablement for Designer.

This plugin can be installed into Domino Designer so that sources and design elements from a NSF/NTF can be managed via source control providers like SVN.

Download the plugin from here.

See here for the documentation and here a screenshot of the association of a NSF project with an on disk project:

A picture named M2

Here is Ishfak's description:

Eclipse plugins for the popular source control providers (CVS, SVN, RTC) do not yet support virtual projects i.e. they only work with project that are saved on disk. Hence, user needs to use a project on disk that mirrors the virtual NSF project to perform source control operations. Designer's source control enablement feature, in its current form, currently supports the following functionality:

1. It provides a way to easily create a mapping between virtual NSF project and a project on disk via menu "Create association with on-disk project".

2. While creating the association, user needs to select the direction of the initial sync which can be either, "Export from NSF to on-disk project" or "Import into NSF from on-disk project".

3. When initial direction is set as "Export from NSF to on-disk project", an initial sync will export all the contents from virtual NSF project to the on-disk project in a suitable format, which user can commit to source control repository.

4. When initial direction is set as "Import into NSF from on-disk project", the initial sync will update the NSF project with the content from disk based project.

5. There are 2 different ways to represent the design elements on disk depending on the type of the design element.
- XPages, Custom controls, Style sheets, Files, Themes, Composite Applications, Wiring properties, JS/SSJS/LS script libraries are represented as a set of 2 files on disk, the content file and the metadata file. Content file has the actual file content as seen in the editor and the metadata file contains the DXL minus the content to represent rest of the attributes of the design element.
- Rest of the design elements, Form, View, Pages, Java script libraries, Agents, Shared Actions, etc are represented as a file containing the DXL of the design element.
- A preference is provided to use "Binary" format for DXL for the exported content.

6. There is also a preference to enable implicit export of design elements after they are modified inside NSF by user. If this preference is selected any edits to the NSF project (e.g. create/update/delete of a form, XPages, etc) are reflected to the on-disk project implicitly, which user can then commit to the source control repository.

7. There is also a preference provided for allowing implicit import of design files from disk into NSF when they are modified in the disk project. This also needs Auto-build to be ON. After setting this preference, if user updates the disk project with the contents from the repository,the changes would get auto-imported inside NSF.

8. There is an explicit menu provided , "Synchronize NSF with on-disk project", to trigger the sync manually.

9. In the current form, this feature doesn't yet address the UI integration with Designer perspective.

comments powered byDisqus