Dynamics User Group - Archived Forums

The forums in this section of DUG are no longer accepting new post, but you can still get lots of value from the old posts here.
Please visit the active forums to comment/post new questions (choose which product you are interested in):


Version Control - Configuration Management process

Hi

I am currently reviewing our Version control processes and am looking for the best way to compare code from a test to a live database.

We currently have a procedure for this but it could do with some updating.

Anyone who has been through this recently?

I would appreciate any help.

BR
Pete
  • Hi,
    I am not sure which MBS product you are dealing with?
    You can try this product for Axapta, they only have the beta version
    http://www.axdata.dk/www_dk/PDF_formater/VSSIntegration_v4.pdf
    Regards,
  • Thank you for the response

    we are using Navision - and with the LS Retail add-ons

    Do you know if anything exists for this?
  • Hi Peter,

    You can do version control in Navision in noumerous ways.

    Maybe you can post your current procedure to clarify how you work with this.

    We use version nos for our add-on's but we don't do versioning for our customers.

    Version no's I put in manualy but I use a report for the putting the time field on 12:00:00

    But I know there is a tool that increments the version no. manualy and checks for conficts and stuff like that.
  • Thanks Mark

    Our current version control is very simple.

    We have created a Navision form that will time stamp the compared versions - this is however a crude way to do this.

    If anyone has any idea where I can get hold of this tool I would be grateful.

    Cake
  • I know there is a facility available in the Developer toolkit -- but have never used it.

    Any thoughts?

    [?]
  • Sorry, I have no experience with this part of the Toolkit.

    The tool I am refering to is QPM, contact jan.boes@qurius.nl

    This tool checks what objects are modified. When you want to make a release these objects get a new Version no. automaticaly.

    You can also assign tasks to developers and do an overlap check between tasks when you make a new release.
  • Hi Pete,

    Versioning is a topic always revisited, I think there have been posts before discussing this topic so try a search on this website (tip: its always my first point of entry onto this site!)[8D]

    For versioning, use a short code in the version list column in the object designer. Navision has it's own proper version control like NAVW13.70 for major releases and NAVW13.70.01 for patches etc. However, the version list only accepts up to 80 characters (I think), and so having such a long version number for controlling your releases is not really practical. Try a 3 digit numbering system like "DEV-101" then further releases you can add your next version to the end of it so you may end with something that looks like this:

    "NAVW13.70.01,DEV-101-106-109"

    It is also good practice to mark and coding within the object with the same version number e.g. "rec.insert; //100" or block comments e.g "//100 - begin ...... //100 - end".

    By having this type of versioning it is easy to identify, search & filter on your development.

    When it comes time to upgrading or comparing live databases object to development objects you can spot the differences easily.
    Normally you would export the objects as text and use 3rd party utilities to do the comparing. Navision Developers toolkit allows you to do this as well and has an auto-merge feature, but I would not recommend that as it takes control away from the developer (and I have experienced problems with the merge when there is a lot of code!). Personally I think taking the time to manually compare each object that has modifications best practice!

    Various developers may have there own methods, but personally I find the above most easily maintained.

    Hope this helps Cake
  • Hi Pete,

    Versioning is a topic always revisited, I think there have been posts before discussing this topic so try a search on this website (tip: its always my first point of entry onto this site!)[8D]

    For versioning, use a short code in the version list column in the object designer. Navision has it's own proper version control like NAVW13.70 for major releases and NAVW13.70.01 for patches etc. However, the version list only accepts up to 80 characters (I think), and so having such a long version number for controlling your releases is not really practical. Try a 3 digit numbering system like "DEV-101" then further releases you can add your next version to the end of it so you may end with something that looks like this:

    "NAVW13.70.01,DEV-101-106-109"

    It is also good practice to mark and coding within the object with the same version number e.g. "rec.insert; //100" or block comments e.g "//100 - begin ...... //100 - end".

    By having this type of versioning it is easy to identify, search & filter on your development.

    When it comes time to upgrading or comparing live databases object to development objects you can spot the differences easily.
    Normally you would export the objects as text and use 3rd party utilities to do the comparing. Navision Developers toolkit allows you to do this as well and has an auto-merge feature, but I would not recommend that as it takes control away from the developer (and I have experienced problems with the merge when there is a lot of code!). Personally I think taking the time to manually compare each object that has modifications best practice!

    Various developers may have there own methods, but personally I find the above most easily maintained.

    Hope this helps Cake
  • Thanks Nic

    That was was I was looking for, much appreciated.

    As one of the best retail Navision developers currently in the UK , i value your opinion.

    We are implementing such a system here and I will provide feedback when in use.

    Once again thanks for the post.

    Regards
    PeteBig Smile
Related