In this post I’d like to zoom in on one of the pillars of version control: reversibility. What does it exactly mean and do we really need this functionality for Microsoft Dynamics NAV.
I think we are all familiair with reversibility and use it may times each day. Most windows applications are provided with the undo option (Ctrl+Z). This feature has become quite natural. You would almost forget that Microsoft Dynamics NAV does not have this feature. As a Dynamics NAV professional we got used to the antics of the Object Designer. We even find it natural that you declare all your variables and functions in tables rather than declaring them in code…
Think about this: each object has only one one version and there is no roll back mechanism. So if you want to do some prototyping you have to create a database and do the work there. If you want to keep this prototype, you can choose to keep the database or to create a fob or text file and store it on the file system. It easily happens that you end up with some databases or object files which you don’t dare to delte because you don’t know exactly what they contain. And what if you develop new customization and you realize you are on the wrong track and you want to roll back the changes? I think it is obvious we all need reversibility somehow.
Microsoft Visual Studio has been provided with Undo Pending Changes which allows you to rollback the changes made in your local development environment.
If you check-out an item it becomes a writable file in your local workspace. Undo Pending Changes will restore the original version from the server and make the file read only again.
Wouldn’t it be great if we could do the same for Microsoft Dynamics NAV items? You will no longer need to roam around with fobs or do a deep search of your mailbox. Instead of that you just make your prototypes or customizations in your local environment and if you make a mistake, no worries, you can always restore the original version. Think about the time this will save and how much this will increase your productivity.
In a next post we will show you how this feature can be enabled for Microsoft Dynamics NAV. But first we want to make sure the concept is clear. Remember: first the process, then the tools.