So how do you organize your code for an application in GIT? All code (multiple NSF’s) in 1 repository or each NSF in it’s own repository? Curious about your experiences and advantages/disadvantages:
Source Control disruption in DDE
In a project me and my colleague faced major complications working towards a GIT repository on TFS. In short: she did not see the changes I had made in her Domino Designer even though her GIT client had transferred everything correctly to the On Disk Project (ODP) on her local drive.
It seemed that the problem was totally focusing on her development setup. For the good order here is how our both environments look like:
- Me: TFS, SourceTree, Domino Designer FP8.
- Colleague: TFS, Visual Studio, Domino Designer FP8.
As a result we are facing major delay in the project because we can’t rely on the setup so we are 50% developer resources short.
So in order to test our bad experiences we sat up a small test with some other colleagues to see if we could reproduce the disruption and allocate where it occurs.
We had no particular test script in mind. We just sat up a new repository on TFS, we cloned it locally with different GIT clients, imported the ODP’s in DDE, created new NSF’s from it and we started to make changes in them.
Luckily for us a new disruption appeared fairly quickly. Changes made by two of my colleagues did not appear in my NSF but they could see each other changes.
It turned out that the changes where in my ODP but DDE was not able to transfer them in the NSF.
Here are some dumps that shows the situation. The use of capitals in the H2 element are not similar.
XPage in DDE:
XPage in ODP Project in DDE:
Same XPage in ODP on local drive:
Removing the imported ODP, removing source control with the NSF, re-importing the ODP in DDE and re-establishing source control for the NSF with the new project caused that I could see the changes in the NSF. However with the next change which a colleague made we were facing the same disruption on my machine.
For us it clear that this is not a work situation we can trust when DDE is not able to make the transition from ODP to NSF.
Have you experienced the same and have you come up with a work-around?
For us it would mean that we can not complete the DevOps chain that is set for development environments…
A new way of working: SCM
A new company, a new pc (mac), a new way of working. Change brings opportunity so I decided to move some of my OpenNTF projects, lab projects and code to GitHub.
So far it works just fine and I feel kinda stupid to stick myself for a long time in the old way of working (application templates, shared drives, post code to this blog). Switching between machines/virtual environments has become much nicer.
As tools I choose for DDE, Swiper, SourceTree and Github. I have not come so far with the command line, although the Try Git tutorial on Code School demonstrates it should not be that difficult.
Next step is probably setup a package manager in combination with a task runner. A bit inspired by Keith Strickland’s presentation at Engage.
Probably I am missing something in my setup but I am happy to read about that in the comments 🙂
Source Control with Domino Designer
In case you want to start using source control in Domino Designer there are several good online resources available that help you getting started (Google is your friend). I have written a summary document so you don’t have to collect the information from several resources yourself.
Here you can download the PDF:
Happy reading =)
PS please let me know in case the document is incomplete.
Looking for a creative brain? Choose me!