NavRepository Manual

Describes in details the functionality of NavRepository, the everyday tasks that could be performed, and how to do them in an optimal way



Table of Contents

Introduction to NavRepository

The Main Screen

Connection to Navision Database

Connection to a New Navision Database

Checking the Current Database Properties

Finding-Out the Local Repository Path

Objects, Statuses and Actions

Changing the Synchronization Action

Commit the Modifications

Revert the Current Changes

Ignoring Objects or Object Types

Synchronization and Viewing Options

Exchanging the Local Repository

Ways of Exchange

Import or Export of the Local Repository

Integration with SVN or CVS

History of the Local Changes

The Log of Object Changes

Revert to a History Object or Batch

Handle Multiple Projects

NavRepository Settings

Manuals and Feedback



Introduction to NavRepository

NavRepository is a powerful simple-to-use repository tool for MS Dynamics NAV. NavRepository eases the development and maintenance of Navision objects by providing a local repository for NAV objects, this way allowing integration of Navision with external version control systems, such as SVN or CVS. NavRepository makes the daily work of NAV developers and advanced users easier.

NavRepository creates a local repository for the Navision objects (forms, reports, pages, etc.). This way the unintentional modifications of synchronized objects could be easily reverted. The local repository, created by NavRepository is designed in a way, to be easily accessible by the version control systems, such as SVN or CVS.

The user interaction is concentrated in two main actions – to commit the object modifications or revert the modified objects back to their previous states. Commit-actions for each modified object are suggested automatically. The user can keep the action as suggested or change it to another suitable action.

The Main Screen

On the left side of the main screen is displayed a tree of available Navision object types. On the right side of the screen is displayed the list of objects, subject to synchronization. This list could vary depending on view- and synchronization options, but generally it shows the objects belonging to the currently selected object type or all objects, if the database node is selected (the topmost node in the tree).

Connection to Navision Database

Connection to a New Navision Database

To establish a connection to a new Navision database, select the menu Navision / Connect to New NAV Database. Establishing connection to a new Navision database is done in the same way, as described in the installation manual.

Currently NavRepository supports only Navision databases based on MS SQL Server (the Database Type). Enter or select the server name, and then specify the connection or authentication options. Enter the database login information – the user name and the password to be used while connecting to the database, in case you’re not using the windows authentication.

Next, enter or select the Navision database name. You can use the button on the right of the Database field in order to select the database from a list instead of typing its name. Finally select the company you work with. When the company is not selected, the objects of all companies are subject to synchronization. Company selection is useful when there are tables specific to a company.

Pay attention to the synchronization options:

Finally press the button OK. If the entered database information is correct, the connection to the database will succeed, and the list of Navision objects will show up.

Checking the Current Database Properties

To check or change the current Navision database properties, select the menu Navision / Database Connection Properties. The dialog Connect to Database (shown above) will show up displaying the current connection and synchronization settings.

If you are just checking the settings press the button Cancel to exit without changing the settings or reconnecting to the database. If you need to change the database connection settings, press the button OK. A new connection to the database will be established, and the list of Navision objects, subject to synchronization, will be refreshed.

Finding-Out the Local Repository Path

In order to integrate the local repository of Navision database objects with a SVN or CVS repository, you would need to know the exact location of the local repository. NavRepository creates the local repositories in a way to be easily accessible by SVN or CVS clients. More information about integration of the local NAV repository with a SVN repository can be found in the manual Integration of the Local Repository with SVN repository.

To find out the local repository path, select the main menu Navision / Show Database Repository Folder. The Repository Folder dialog will show up. It displays the exact folder path to the local repository of current Navision database. You can copy the repository path to the clipboard or open the folder in Windows Explorer.

Objects, Statuses and Actions

The objects that need to be synchronized with the local repository are displayed on the right side of the main screen. The list of objects depends on the selected object type on the left side of the screen, but the information displayed for each object in the list is always the same.

If you position the mouse pointer over an object in the list, you will get a tool-tip displaying more detailed information about the object. The tooltip contains information about the Navision object itself, its synchronization status, and other synchronization information.

To view the full details about the synchronization status of an object, right click on the object and select Object Details from the context menu. The Object Details dialog will show up displaying the changes (if any) among the database, repository and local versions of the object.

For each object pay special attention to its synchronization status in the list –shown in the column Status, and to the suggested synchronization action – shown on the column Action. This action will be executed when you commit the batch of modifications. All modified objects are shown in color (depending on their synchronization status) and are displayed on the top of objects’ list.

Changing the Synchronization Action

NavRepository uses a special logic to determine the synchronization status and the corresponding synchronization action for each object. Nevertheless, you can always change each suggested action if it seems incorrect to you.

To change the suggested action, right click on the object in the list and select Change Action from the context menu. Then select the new synchronization action from its submenu. The list of allowed actions depends on the synchronization status of the object.

It is also possible to change the synchronization actions of multiple objects at once. The objects need to have the same synchronization status. Select the objects in the list, right click on any of them and select Change Action from the context menu.

Commit the Modifications

The easiest way to commit all pending modifications of Navision objects is to press the commit button on the NavRepository toolbar or to right-click on the database in the tree and select Commit actions from the context menu. This will execute the displayed synchronization action for each modified object.

To commit the pending changes of all objects belonging to a specific type, right click on the corresponding object type in the tree and select Commit actions from the context menu. This will execute the displayed synchronization action for each object belonging to the selected type.

To commit the pending changes only for a list of specific objects, select the objects in the list on the right side of the screen right click on any of them and select Commit actions from the context menu. This will execute the displayed synchronization action for each one of the selected objects.

Revert the Current Changes

NavRepository makes it easy to revert the unintentional modifications of Navision objects. To revert the modifications of an object or a list of objects to their last committed state, select the objects on the right side of the screen, right click on any of them and select Revert current changes from the context menu. Confirm the revert and then the objects will be replaced with their last committed history versions - both into the database and into the local repository.

To revert current modifications of all modified database objects, press the revert button on the NavRepository toolbar or right click on the database node in the tree and select Revert current changes from the context menu. To revert current modifications of all modified objects belonging to a specific type, right click the object type in the tree and select Revert current changes from the context menu.

Ignoring Objects or Object Types

You can ignore specific Navision objects or object types during the synchronization process. The ignored objects will be excluded from the list of objects displayed on the right side of the screen and won’t be synchronized any further. The ignored object types will be excluded from the tree of object types displayed on the left side of the screen and won’t be synchronized any further.

To ignore an object or a list of objects during the synchronization process, select the objects on the right side of the screen, right click on any one of them and select Ignore object(s) from the context menu. Confirm that you are sure and the list of selected objects will be added to the ignore-list.

To ignore all objects belonging to a specific type, right click the object type in the tree and select Ignore folder from the context menu. Confirm that you are sure about this, and the objects belonging to the selected type will be added to the ignore-list.

If you like to view or manage the list of ignored objects or object types, select the menu View / Ignored Objects on the NavRepository main screen. The dialog Ignored Objects will show up displaying the list of all currently ignored objects or object types.

To restore a list of objects or object types back to synchronization, select these objects or object types in the ignore-list, right click on any of them and select Remove from the list from the context menu. Confirm that you are sure and then press the button OK. The list of selected objects or object types will be restored back to the list of objects and object types, subject to further synchronizations.

Synchronization and Viewing Options

NavRepository provides various options for synchronization and viewing of objects. To view or change the options select the menu View on the NavRepository main screen:

The synchronization options are:

The viewing options are:

Exchanging the Local Repository

Ways of Exchange

NavRepository supports two ways to exchange the local Navision repository with the other interested users or developers.

  1. Manual exchangeNavRepository provides functionality to export or import the local repository to archive (zip) files. This way one user could export the full local repository and send it to the other interested users. Those users could then import the repository and then use NavRepository to apply the object modifications to their corresponding Navision databases.

  2. Automated exchangeNavRepository allows integration of the local repository with external version control systems, such as SVN or CVS. This way one user could commit his local repository changes to the dedicated SVN or CVS server. The other users could then update their local repositories from the SVN or CVS server and use NavRepository to apply the object modifications to their corresponding Navision databases.

Import or Export of the Local Repository

To export the local repository, select the menu Navision / Export Repository on the NavRepository main screen. The Save As dialog will show up. Check the suggested name of the archive zip-file and press the button Save. All Navision objects from the local repository objects will be exported to the archive zip-file along with the other needed data and files.

To import the local repository from a preciously exported archive zip-file, select the menu Navision / Import Repository on the NavRepository main screen. The Open File dialog will show up. Select the archive zip-file that needs to be imported and press the button Open. All Navision objects from the selected archive will be imported into the local repository.

Integration with SVN or CVS

NavRepository allows integration of the local repository with external version control systems, such as SVN or CVS. Information about how to integrate the local NAV repository with SVN can be found in the manual Integration of the Local Repository with SVN repository.

History of the Local Changes

NavRepository keeps history of the local changes and shows the latest changes on the bottom of the main screen – panel History of Batch Actions. The history panel displays the list of synchronization batch actions (the most recent on the top), and the affected objects, including the status and action executed for each object.

You can select for how many days back to get the history of the local changes. To do this, set a new value of Show history for-field on the top right side of the History of Batch Actions panel.

You can also select for how many days to keep history of the local changes. The default setting is ‘unlimited’. To change it, modify the setting on the NavRepository Settings screen.

Keeping the history versions of all synchronized objects makes it possible to provide information about the changes in object definition compared to the previous version or to the most actual (database) version of the object. To view the changes in the object’s definition, right click on an object in a batch action and select View Changes (as to the previous version of the object) or View Changes to the Current Object (as to the current database version of the object) from the context menu. The Object Changes dialog will show up displaying the changes in object definition.

The Log of Object Changes

NavRepository 2 tends to synchronize the object definitions rather than the BLOB references of the objects. This makes it possible to track the changes in object definitions and use the full power of SVN or CVS-repositories. The only drawback of this approach is that the Navision C/SIDE client (the Classic Client in NAV 2009) must remain open with the appropriate database and company - also open until the synchronization actions in NavRepository complete. The reason for this is that NavRepository utilizes the COM-interface to the Navision C/SIDE client to import or export the textual object definitions.

The synchronization of object definitions and keeping the history versions of all synchronized objects makes it possible to provide information about the changes in object definition compared to the previous version or to the most actual (database) version of the object. To view the changes in the object’s definition, right click on the object and select View Current Changes from the context menu. The Object Changes dialog will show up displaying the changes in object definition.

You can also view the full history of object's changes - the object’s log. All versions of the object are available for comparison to the current version. To view the object’s log, right click on the object and select View Object Log from the context menu. The Object Log dialog will show up displaying the full history of object's changes. To view the changes in the object’s definition, right click on an object’s version and select View Changes (as to the previous version of the object) or View Changes to Current Object (as to the current database version of the object) from the context menu.

Revert to a History Object or Batch

The synchronization of object definitions and keeping the history versions of all synchronized objects makes it possible to revert an object to any of its history versions. The object could be reverted alone or altogether with the entire batch of objects (all objects synchronized with that history action).

To revert an object to its history version from the History-panel, right click on the object in the history action and select Revert to Object from the context menu. To revert all objects belonging to the same history action to their history versions, right click on any object within the history action and select Revert to Batch from the context menu.

To revert an object to its history version on the Object Log dialog, right click on the object’s version in the list and select Revert to Object from the context menu. To revert all objects belonging to the same history action (look at the panel Batch Action) to their history versions, right click on the object’s version in the list and select Revert to Batch from the context menu.

Handle Multiple Projects

NavRepository provides the possibility to work with local repositories of multiple Navision databases (projects). The most recent projects are listed on the main menu. You can select another project from the Navision menu in order to switch to the local repository of the corresponding Navision database.

NavRepository has a built-in project manager in order to keep track of the work projects (local repositories of Navision databases). To run the project manager select the menu Navision / Project Manager on the NavRepository main screen. The Project Manager dialog will show up displaying all currently available projects. You can select another project (to switch to it), rearrange the projects in the list or delete those that are no more needed.

NavRepository Settings

To open the Settings dialog, select the menu Options / Settings on the NavRepository main screen.

Here are the general NavRepository settings:

Manuals and Feedback

At any time you can read the latest available user manuals. To view the list of available user manuals select the menu Help / Manuals on the NavRepository main screen.

The Product Manuals dialog will show up displaying the list of currently available manuals along with the dates of last modification. To open a manual, click on the manual’s title, or select a manual in the list and press the button Show.

To send a message to the support department, select the menu Help / Send Feedback on the NavRepository main screen. The Send Feedback dialog will show up. Here you can enter the message to the support department and specify the e-mail address that should be used for the response. You can also send the current log-file along. To send the log file, select the check-box Send Log File. Finally press the button Send and the feedback message will be sent to the support department.