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
0
Comments
I know MS-NL uses 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
(I never worked with this.)
Microsoft Dynamics NAV Developer since 1997
MSDynamics.de - German Microsoft Dynamics Community - member of [clip]
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.
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.
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
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 ?
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.
https://www.partnerguide.com/cspg/cspg. ... enDocument
I knew (especially) you would reply on this one (cfr. http://www.mibuso.com/forum/viewtopic.php?t=2707)
Very good question. This is something I'll try to find out at M$ .
Eric Wauters
MVP - Microsoft Dynamics NAV
My blog
@Waldo: I'm happy you liked the tool =D>
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.
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
Dmitry
Anybody has used this tool?
However, I think Navision development is so simple and productive that you could break all projects into one-man tasks.
You realy want a devmgt tool when you do that.
(Thas is why I've built QPM
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.
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?
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.
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.
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
Hey Mark thanks for quoting me
Glad to see people are reading that post.
I like the screencast. Any way I can lay my hands on the product to evaluate?
Eric Wauters
MVP - Microsoft Dynamics NAV
My blog
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.