
office
+1 (678) 436-3250
Facebook "Mergetool.com"
Newsletter@mergetool.com
Many years of development experience have been put into the Mergetool®. The tool supports both source code Compare and Merge development with Microsoft Dynamics NAV. Additionally, many other tools have been developed within the framework of the Mergetool®. All the code in the Mergetool® is available for C/SIDE developers to modify. This enables advanced users to build reports and unique features in the same way that they would customize the application for a customer.
Using the Mergetool® requires a fair amount of knowledge about Microsoft Dynamics NAV development. The tool can help developers learn Microsoft Dynamics NAV through, for example, the Compare functionality, which will give you a good knowledge about the source code and the changes you make. But merging and some of the other advanced functions will require more in-depth experience with Microsoft Dynamics NAV development.
Objects in text-format from Dynamics NAV are the source for the Mergetool®. During the import of a new version of the application, the source code is placed in a few tables of the database. The size of this database can be very large, given that a NAV 2009 SP1 version requires around 500 MB of space. During the import, the code context is interpreted; the Mergetool® uses this information to improve the results. A normal text compare/merge program is not able to understand the context in the same way that the Mergetool® uses the structure of the code.

Regular text files (like setup data) can also be imported and used the same way as objects from C/SIDE. This makes it possible to compare and merge these types of files, too.

The Compare function uses multiple lines for identifying equal code. This makes for a much better compare when empty lines exist in the source code. The interpretation of the source code also ensures that similar code from a different context is not making it equal.
After the compare is completed, the log of changes can be viewed directly in the Mergetool® with many functions like Next/Previous Change, changes by object overview and many more. The log can also be exported to a text-file in several different formats.

Objects that are only modified in the Object Properties can also be identified and removed to clean-up changes before a release or further work in the Mergetool®.
The Merge is the key feature of the Mergetool®. By using three versions – Common Base, Customization and New Code – during the merge, many changes can be merged automatically without any user action. In many cases this incorporates 90%-95% of the changes.

When a manual (same code line changed in both Customization and New Code) conflict occur is many function available like, Add Last, Add First, Add New, Manually selecting lines and position. So even when the code cannot be merged automatically in a small percentage of situations, there is very little interaction required. Special functions to deal with PageNames and InPage properties solve another manual issue very fast.

The merge of code is a highly complex process in general. Understanding this process and how the Mergetool® work internally is very beneficial for the user of the tool. Without this knowledge and understanding of how to set up the parameters for the merge, it possible that the result of the merge will not be what is expected. To get familiar with the Merge process, we recommend a demonstration by someone familiar with the tool or attending a class that will teach the Mergetool®.
It can be very time consuming and hard to find unused variables in the code. When many unused variables exist, it is very confusing for another programmer. The Mergetool® can identify most variables that are unused in the code, which makes it more simple to modify these few objects.

Captions are often forgotten during the programming, like in Field Name and Object Name. Text Constants are also hard to program with and can make the error texts and code harder to read initially when programming. With the Mergetool®, the Captions and Text Constants can be generated by automatically.

When creating Text Constants, the user must determine when text should be added as Text Constants and which should be generic code like “A12345” or command lines that are really not different in another language.
In every country, Navision is delivered with multiple languages. In most cases, translation is necessary. A build can be created in the Mergetool®, which allows the use of existing text in the base product or older versions to do an automatic translation. After the automatic translation, it is possible to translate even partial strings automatically (the PageNames property is a good example where this is useful).

When automatic translation is complete, “intelligent” lookups make it easy to finish the remaining texts. Exporting to Excel and having a translation company working with the error messages and similar is a possibility, too. The relational database is not necessarily the right tool for everyone. When a good base terminology is created , it is often possible to use online tools like Google Translate to finish the first draft translation for proofreading.
Getting an overview of the controls, menu items and command buttons on each form during a 2009 RoleTailored transformation is very cumbersome if done manually. There are typically thousands of features in a customer installation or bigger ISV product. With the Mergetool®, an application can find this information by reading the code and then assigning the promotion/essential/additional directly from inside. This process also helps with consistency as the same Menu Item always uses the same icon.

Creating online help directly with an HTML editor is extremely time consuming and requires specialized tools that can cost hundreds of dollars. By reading the source code, however, it is easy to build the entire framework. Afterward, you only need to write the text for Help. The text can easily contain links to other online help both in the base Navision application and the product itself.

Basic HTML editing can be used in the Online Help for headers, bold and italics, but in general the formatting should be done automatically during the building of the Online Help. HTML code for tables and links to images or external pages can also easily be added in the text.
FAQ and other generic description can be added to the Help and Compile together with the Help. Changing header and footer information is also really easy and allows for fast implementation of new features like Feedback, tracking Help usage and other issues.
A basic workflow is also created to assist multiple people working on the Online Help. Workflows for technical and language proof reading are also built into the tool.
To release an ISV product with high quality standard, the control IDs added on base forms, reports and pages must be properly controlled. Depending on what license key a solution is developed with, this can be a problem. A tool inside the Mergetool® allows you to change these control IDs and all relations to them. An editing process makes it very easy to correct the control IDs.
