Skip to content

A compare tool dedicated to nav object text files and its pitfalls

July 3, 2012

Since i wrote about it yesterday on luc van vugts blog, i think it’s now time to tell about a project i’ve been working on for quite some time.

The project is about a tool that enables you to bypass some of the pitfalls of nav text object comparing, when done in a regular text-comapre tool like wimerge, beyondcompare and so on.

The basic concept of the tool is to take the files, parse them, generate objects out of the different parts and threat them in the context they have. This enables to do context sensitive comparing of  these objects. An typical example for this would be 2 version of an object, for example table 27 (Item), one of them from a W1 Database and one of a localized Database. Now you want to merge some code done in either of the versions to the other one. But you are forced to go through all the captions shown as differnces, which slows down your merging process.

There are many such cases where a traditional text-compare won’t give you a good view on what is actually different on those objects. And here comes the contextual compare in the game.

With the tool i’am working on you will be able to do things like:
– Ignore missing captions
– Route Different captions (eg. Set a rule that ENG = ENU)
– Identify Parts that are contextual the same (like 2 Variables with the same name) but are in different places inside the text-file, those will be thrated as equal not different
– Set different strategies to find the coresponding part in the other object (Find by ID, by Name, by SourceExpr, etc…)
– Various ignore filters
– Save merging (no id conflicts, new id’s will be crated)
– modified files will always be consistens, nomore missing ‘{‘ brackets because of manual file editing
– and many more

There are also plans to include handy features like some sort of a object analyzer (Where used, etc), a easy object renumbering, batch code insertion, etc.

But the main advantage is that the different parts of the objects are threated and compared as such, and not just a  flat textfile. You should be able to decrease your comparing effort a lot when dealing with structure changes or captions and lots of other things.

A special feature but maby very handy one is the form designer as you can see it in picture 2. this will enable you to efectivly merge forms with direct preview of what you will get. This no longer forces you to check your fields in the nav designer to ensure they will be shown correctly. The desginer enables you to drag and drop controls, resize them, etc.

But because i think a picture tells more then 1000 words, have a look at this example:

If you have andy questions about the tool, or you think you have a nice feature in mind that should be implemented, please feel free to contact me, or post a comment!


From → Dynamics NAV

  1. Marco, keep it going! 😉

  2. Hi, are you still developing the tool or is the Sourcecode accessible somewhere? I would like to try it, because I have to merge nearly weekly at the moment 😦

    Thanks in advance

    • Yes the tool is in the final development phase and will be released soon. Stay tuned!

  3. Giuseppe Maino permalink

    Has this tool been realised now? What its name.
    I would like to try it. Where can I download it?
    Thank you

    • Hello Giuseppe
      I’m afraid I must disappoint you. Due to personal circumstances during the past half year combined with tight deadlines on regular projects at work, i was not able to finish it yet…
      I hope to release this soon, but since I decided to rewrite a critical core part (fore more flexibility in future releases) i cannot give you a release date yet.
      If you follow this blog you will be updated as soon as possible!
      Sorry again about the bad news.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s