Team development - version control - how?

DeSpDeSp Member Posts: 105
We need to use some tool for team development and version control management as it is not easy to manage large multi-developer project in Navision.
Does anyone know a tool like CVS or VSS somehow suited for Navision?
Or maybe someone wants to share with us methodology of team development in Navision, some useful hints, tricks e.t.c - just how you do it.

All answers will be very much appreciated.
Thanks in advance.
Nil desperandum
«1

Comments

  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    There is a tool for this developed by qurius. Contact jan.boes@qurius.nl

    I know MS-NL uses VSS.
  • WaldoWaldo Member Posts: 3,412
    Sourcecontrol is very difficult in navision. The only way to do this, is to export/import text files in navision, en save these in CVS of VSS... .

    Or is there a way to do this automatically? Some time ago, I asked this on this forum, but it seemed not possible... ](*,)

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • Timo_LässerTimo_Lässer Member Posts: 481
    Something like this: Object Manager as an "Open Source" Project

    (I never worked with this.)
    Timo Lässer
    Microsoft Dynamics NAV Developer since 1997
    MSDynamics.de - German Microsoft Dynamics Community - member of [clip]
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    Something like this: Object Manager as an "Open Source" Project

    (I never worked with this.)

    This sounds like a similar tool as the qurius thing, but that tool is certified by Navision. Don't know if they sell it though. To big a tool for us. :|
  • alecavaalecava Member Posts: 15
    There is a Technical White Paper dated October 2005 where you can read that a reccomanded solution if you want to use a source control system is: export all the objects in text format, separate them in single files, finally import all the files in a source control program like VSS, CVS and so on.
    Even if this method is terrible to manage I'd like to tried it, but everyone suggested me not to use the text export because it is no reliable.

    Applying modern development methodology (Source control, build control, unit testing, regression testing and so on) is not easy in Navison due to its very very antiquate approch to the software development. It seems to be a 20 years old system.

    I'm really surprise that Microsoft has adopted this bad product. You can't use JOIN, there is no declarative referential integrity, the database is almost not normalized, there are few UI components and they are antiquate, IDE is terrible, you can spend hours looking for a declaration of a variable etc. ect. I can continue for hours.
  • WaldoWaldo Member Posts: 3,412
    OK, another one starting this discussion.

    Please search this forum, and you'll find other opinions on the IDE/Functionality/... .

    Please stay with the topic and try to find solutions.

    <back to the topic>

    the "object manager" is indeed quite the same as Qurius' tool ... . I took a look at it some time ago, and I find really suitable to use in (big) team development. I can only recommend it. When you're developing in (let's say) a two or three person team, I think this tool is a bit too much ... .

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • jesamjesam Member Posts: 100
    OK, another one starting this discussion.
    Makes you wonder doesn't it ?

    Anyhow, what I would like to know is how Navision/MS does the development of the code in the standard CodeUnits. They must have a lot of people working together on Navision so they must use sourcecontrol and versionmanagment in one way or another. Do they have a tool that they don't want to release ?
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    Nope. (If I remember correctly).

    Navision NL uses VSS.

    We had some discussion about this a couple of years ago at a meeting with Navision NL where the Qurius tool was demonstrated.

    But version control is more about communication ,making rules and team management rather than picking a tool.

    I've worked with teams with up to a dozen programmers on different locations, and without rules and communitation, any tool is worhless.

    PS. I'm happy now working alone on my add-ons. :mrgreen:
  • WaldoWaldo Member Posts: 3,412
    Makes you wonder doesn't it ?

    I knew (especially) you would reply on this one (cfr. http://www.mibuso.com/forum/viewtopic.php?t=2707) :wink: . Well, I have my own opinion about Navision and C/SIDE. Be creative, and you'll see there are very few limitations. I guess I'm not that spoiled... .
    Anyhow, what I would like to know is how Navision/MS does the development of the code in the standard CodeUnits. They must have a lot of people working together on Navision so they must use sourcecontrol and versionmanagment in one way or another. Do they have a tool that they don't want to release ?

    Very good question. This is something I'll try to find out at M$ .

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    Remember this is Navision, don't fight it, its just different, doing it the Navision way will make life much easier for you

    @Waldo: I'm happy you liked the tool =D>
  • jesamjesam Member Posts: 100
    But version control is more about communication ,making rules and team management rather than picking a tool.

    I've worked with teams with up to a dozen programmers on different locations, and without rules and communitation, any tool is worhless.
    That is true, and anything VSS can do could also be done manually, but as we are all human we all make mistakes. A versioncontrol system (like VSS) does some important things :
    1. It makes it easy to distribute code across a team so that every member has the latest source by providing a Get Latets Version function. Off course for that nobody should be allowed to check in code that does not compile, the tool does not prevent that.
    2. It confonts a developer with the fact that someone else is working on the same piece of code, either by refusing to let the same piece of code be checked out simultanuously or by displaying a mergewindow when the code is check in again.
    3. If you've totally messed up the code and want to start over, it let's you go back to a previous version very easy.
    4. If you have the feeling that you are changing the same code for the umpteenth time, you can see all the prvious versions of the same code so you know what has been changed through time.

    I'm the only developer on my .Net project and even then I still use VSS for reasons 3 and 4.
    And I would never ever want to do another project again without some form of sourcecontrol.
    Alas, if exporting all the objects to text is the only way to have sourcecontrol in Navision, I cannot sell that to the other members of the team because it really is too much trouble to go through.
  • tragtrag Member Posts: 23
    Hi,

    We are in the same situation here. A version control tool would speed up development time and could stabilize team work (I think everyone here knows how boring it is, when someone else overwrites your changes).

    To solve this problem, i worked on a prototype, which is able to export the objects as text and then use a tool for versioning, text compare, merge, .... But I don't have the time for this tool. Therefore I'll probably release the short code to export objects from navision as text and import them also as text. Maybe there are some volunteers to get a working tool out of this base prototype. My dream was to have an IDE with autocompletition (would be possible with this, export objects, read the textfile and talk with the native or sql databaseserver to get options, fieldnames, ... in realtime - or simply parse all objects and keep them in a cache), but this is too much ;)

    Regards,
    trag
  • alecavaalecava Member Posts: 15
    Sorry Waldo you are right. This is not the thread for these arguments. But every morning I start developing Navision makes me angry.
    Be creative, and you'll see there are very few limitations
    You have to be creative developing your solutions not using the development framework. The development framework must help you to be productive.
  • DeSpDeSp Member Posts: 105
    There is a Technical White Paper dated October 2005 where you can read that a reccomanded solution if you want to use a source control system is: export all the objects in text format, separate them in single files, finally import all the files in a source control program like VSS, CVS and so on.
    Does anyone know where can I find this white paper?
    Nil desperandum
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    This tool looks very similar to the QPM tool. I'd like to know how they solved importing and exporting objects, as wel as compiling from your own Object designer window.

    Anybody has used this tool?
  • Miklos_HollenderMiklos_Hollender Member Posts: 1,598
    Checking out objects exported/imported in text with SVN or CSV could work.

    However, I think Navision development is so simple and productive that you could break all projects into one-man tasks.
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    I've done multisite navision development projects with more than 10 developers.

    You realy want a devmgt tool when you do that.

    (Thas is why I've built QPM :wink: )
  • celenia_vlucelenia_vlu Member Posts: 2
    Hello,
    The decision, that already exists is Version Control for NAV from Celenia Software a/s. The idea was taken from the VSS and implemented for NAV.
    You can download the demo version of the product from the site www.celenia.com There you can find the image of the XP SP2 with NAV and Version Control to download and use with Virtual Machine.
    All your question you can post here or send on my e-mail: vlu@celenia.com
    I'll be glad to help you with your problems, if it will be in my abilities.
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    I will have a look at it.

    Version control is a very interesting subject so I am very curious on how you've solved some issues.

    UPDATE

    I cannot find the download site: can you post a direct link to it?
  • celenia_vlucelenia_vlu Member Posts: 2
    Dear Mark,
    You shoul use the following link http://www.celenia.com/partners, to become a registered user and use the link on the closed part of the site to download the Version Control.
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
  • Miklos_HollenderMiklos_Hollender Member Posts: 1,598
    Jesam,

    the reason I don't agree with you is that what's called Navision development, is not really development, not really programming. Based on my experience, 70% of it is keying in new fields, and setting properties visually. For a functionality similar to Items, the table, the list and card forms, even choosing a card from a list, filtering etc. can be done without actual programming. In my experience, programming is usually done in small snippets, like filling the Something Name automatically when Something No. was chosen.

    As for real programming, it's either simple or you should do it outside Navision. 95% of C/AL programming - so 95% of the 30% - is looping through some record set, doing some blatantly simple thing with it such as summing them up, and throwing the result into some other table.

    This does not need VSS. It's not real programming, it's only a kind of algorithmical configuration. I realized when I was talking with an SAP consultant. He said SAP is so flexible, that you can even configure those G/L Account categories that you can see hardcoded in Navision in the General Posting Setup. I replied that I can probably add a new category and it's handling in the posting codeunits by development faster in Navision he configures all that stuff in SAP unless he is using fixed industrial templates. So Navision development roughly equals SAP configuration. It's not real programming in the classical sense. If you don't believe it, then read the famous Computer Science classic: The Structure And Interpretation of Computer Programs and figure out how much of it could you do in C/AL. Not much. But it's not a problem, and the reason it's not a problem is that what we do in C/AL is the algorithmical configuration of business logic, instead of real programming. Because that's what the business needs. And for configuration, a VSS is unnecessary I think. We are not programmers, we are business analysts who just happen to write business rules in C/AL code. 80 years earlier, we could write those rules exactly the same way, only in English, and implementing them on pen and paper. The logic would still be the same.

    As for REAL developments, you should keep them outside C/AL and put into a custom .NET OCX control, or something like that, because for real developments one needs a real language.
  • Luc_VanDyckLuc_VanDyck Member, Moderator, Administrator Posts: 3,633
    There IS a video available for download: http://ftp.celenia.com/dokumenter/cvcdemo.exe
    No support using PM or e-mail - Please use this forum. BC TechDays 2024: 13 & 14 June 2024, Antwerp (Belgium)
  • Luc_VanDyckLuc_VanDyck Member, Moderator, Administrator Posts: 3,633
    Yes there is. The link is on this page: http://www.celenia.com/page962.aspx?rec ... ails1=show
    No support using PM or e-mail - Please use this forum. BC TechDays 2024: 13 & 14 June 2024, Antwerp (Belgium)
  • forki23forki23 Member Posts: 8
    Hi.

    I've made a small screencast about our version control. It is compatible with VSS, Subversion and Team Foundation Server.

    http://www.navision-blog.de/images/SCMSHelper/SCMSHelper.html

    It is completly integrated in Dynamics NAV.

    Regards,
    Steffen
  • David_SingletonDavid_Singleton Member Posts: 5,479
    Remember this is Navision, don't fight it, its just different, doing it the Navision way will make life much easier for you

    Hey Mark thanks for quoting me :D Here is the quote in context :

    Glad to see people are reading that post.
    David Singleton
  • WaldoWaldo Member Posts: 3,412
    forki23 wrote:
    Hi.

    I've made a small screencast about our version control. It is compatible with VSS, Subversion and Team Foundation Server.

    http://www.navision-blog.de/images/SCMSHelper/SCMSHelper.html

    It is completly integrated in Dynamics NAV.

    Regards,
    Steffen

    I like the screencast. Any way I can lay my hands on the product to evaluate?

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • David_SingletonDavid_Singleton Member Posts: 5,479
    Waldo wrote:
    forki23 wrote:
    Hi.

    I've made a small screencast about our version control. It is compatible with VSS, Subversion and Team Foundation Server.

    http://www.navision-blog.de/images/SCMSHelper/SCMSHelper.html

    It is completly integrated in Dynamics NAV.

    Regards,
    Steffen

    I like the screencast. Any way I can lay my hands on the product to evaluate?

    Hmm completely off topic, but what software are you using to create the screen recording? is the zoom a part of that, or is that a seperate program.
    David Singleton
Sign In or Register to comment.