Features
Here are some major features of NavRepository:
- Provides local repository for Navision objects
- Allows NAV integration with external version control systems, such as SVN or CVS
- Provides various options for object synchronization
- Reduces the the user interaction to only two main actions
- Provides possibility to change the objects' synchronization actions
- Keeps history of the local changes
- Tracks modifications in object definitions
- Provides log of changes and possibility to revert to history versions
- Provides a service to create a web model of the database
Local Repository for Navision Objects
NavRepository creates a local repository for the Navision objects (forms, reports, pages, etc.). This way unintentional modifications of the synchronized objects could be easily reverted. On the other hand, after the modifications of the database objects are tested and approved, these changes could be saved into the local repository. The repository objects could be then exported and sent to the other interested users, developers or consultants or committed to a dedicated version control system.
Integration with External Version Control Systems
The local repository, created by NavRepository is designed in a way to be easily accessible by version control systems, such as SVN or CVS. This way the modifications of the local objects could be instantly propagated to multiple development locations or to multiple end-users.
Options for Synchronization of the Objects
NavRepository provides various options for synchronization of the Navision objects. You can synchronize only the database objects with Modified flag turned on or both modified and unmodified objects. You can choose whether to synchronize the table-data objects or not. You can opt whether to synchronize the textual object definitions (the object's source code) or just the BLOB references.
Simplicity of Use - Only Two Main Actions
The user interaction in NavRepository is the simplest possible. Tracking of objects' modifications is done automatically after the start-up or manually by pressing the Refresh-button. The needed synchronization actions for each object are suggested automatically. The practical user interaction is reduced to only two main actions - commit the modifications or revert the changes.
Changing the Object's Synchronization Action
Synchronization actions for each object are suggested automatically. Anyway, the user has the final word. He can commit the modification (i.e. execute the synchronization action as suggested), revert the modification, or change the synchronization action to another available action for this type of modification. This is especially useful when there is a conflict (i.e. both the database and repository copies of the object are modified). NavRepository does its best to suggest the correct synchronization action, but we encourage the users to check always the suggested actions and change them, if they seam incorrect.
History of the Local Changes
NavRepository keeps history logs of the local changes and shows the latest changes on the main screen. The history of batch actions shows the user actions (commits or reverts), and the batch of objects affected by that action, including the object's status before that and the action executed. It is possible to revert an object ot the whole batch of objects to that history version.
View Modifications of Object Definitions
NavRepository v. 2.0 opts to synchronize the object definitions, instead of only the BLOB references. The synchronization of object definitions and keeping the history versions of all synchronized objects makes it possible to provide information about the changes in the object definition, both compared to the previous version and to the most actual (database) version of the object.

View the log of object's changes
The synchronization of object definitions and keeping the history versions of all synchronized objects makes it possible to provide the full history of object's changes - the object's log. The object could be reverted to its history version alone or altogether with the entire batch of objects (all objects synchronized with that action).

Web Model of the Database
NavRepository provides interface to a service, used to create a web model of the database. The model currently includes the tables and codeunits. The code behind the table triggers as well as the functions contained within the tables and codeunits are listed in the model and are syntax colorized . This makes the tracking of complex table logic, relations or possible issues easier. The web model of the database could be easily uploaded to a web server and made available to all interested users, developers or consultants.
More information about the web-model service you can find here
Sample web model of the NAV Demo Database you can find here
