January 17, 2011

Versioning forms and comparing sourcecode

Comparing sourcecodes of different versions of the same FMB is very important while developing an application or during maintenance.

If you want to store all versions of your FMB's, then they are two ways:

Manual versioning

Each version of all files is stored under its name plus the versionnumber. E.g. emp_27.fmb, emp_28.fmb, ... In this case "emp" + "_27" + ".fmb".

Parallel to each version you store the textversion of the FMB, emp_27.txt, emp_28.txt and so on. You get the textversion in forms through Edit-Administration-"Object list report".

For viewing the changes between two versions you can use tools like Beyond Compare, my favorite compare tool.

Using Subversion, Git or another VCS

Using a version control software is the other approach. But here we have the problem, that storing the binary file in tools like Subversion didn't solve our origin problem, finding sourcecode differences between two versions. Storing the textversion of the binary FMB plus the forms FMB is here the best practice for the check-in.

If we now want to see the changes between two version, we can easily use the builtin features of the versioning tool:

just use it


Peter Raganitsch said...

Another neat idea is just storing the .fmb in your version control system and use "FormsApi Master" to show the difference.

When you write a small shell-script around you can use it in combination with your favorite CVS/SVN-Tool (e.g. tortoise).

FormsApi Master costs money but once you used it (it's very powerful, diff is just one example) you can't imagine ever to live without it again ;-)

Gerd Volberg said...

That's true. FormsAPI Master is the best tool for such requirements. No other tool has this price-performance.

poelger said...

There is also a tool in Caffo Utilities(a free product) that does a forms FMB Diff. And not only differences in PL/SQL code, but it also shows differences between objects in two forms.

This is the link to Caffo Utilities: http://www.rhea.be/Website/products.htm?id=2

JCossio said...

Tried downloading the Caffo FMB Diff for Forms 6 and the connection drops at the middle of the download. Thanks anyways.

Admirador said...

Any source code sample using C# and Caffo ?

Gerd Volberg said...

@Admirador: No