Successfully reported this slideshow.
Your SlideShare is downloading. ×

BLUG 2012 Version Control for Notes Developers

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Git for IBM Notes Designer
Git for IBM Notes Designer
Loading in …3
×

Check these out next

1 of 28 Ad
Advertisement

More Related Content

Slideshows for you (20)

Similar to BLUG 2012 Version Control for Notes Developers (20)

Advertisement

Recently uploaded (20)

BLUG 2012 Version Control for Notes Developers

  1. 1. Version Control for Notes developers Martin Jinoch
  2. 2. #shameless-plug blog: http://jinoch.cz twitter: @mjinoch email: martin@jinoch.cz
  3. 3. Agenda What is version control and why you should use it, ... Development work-flow with Git and git-flow How to use Git in Designer Other tools you can integrate into your development process
  4. 4. “Classic” way ;-)
  5. 5. “Classic” way no easy way to get back to previous state unless we are keeping → backup versions of design elements → or backup copies of the whole template we don't know what the last change was → we should maintain a separate change- log
  6. 6. There must be a better way Version control systems → client/server CVS, SVN (Subversion), ... → distributed Git, Bazaar, Mercurial, ... Which one to use? Any. But please, DO use them. (And don't use CVS) http://gitvsmercurial.com
  7. 7. Basic operations commit → save current state to VCS diff → show the differences between commits (versions) revert → undo (any) commit. branch → make a new “copy” of the whole app merge → apply changes from one branch to another branch
  8. 8. Branching model http://nvie.com/posts/a-successful-git-branching-model/ git-flow by Vincent Driesen (http://nvie.com) covers not only development process - like creating new features but also release management and support - promoting new features to production app, fixing bugs in production app and in development version at once could be used with other VCS as well!
  9. 9. pretty simple, huh!? let's see a demo
  10. 10. git-flow to Notes mapping master = NTF file on production server develop = NTF file on test server feature/* = NTF file on local machine or local server team settings: rights to push to master and/or develop should be restricted to role (“gatekeeper”). In general individual developers work on feature branches and send pull requests to “gatekeeper”
  11. 11. Support for Version control in Designer in 8.5.3 it is built-in to Designer connects NTF with so called on-disk project syncs changes to on-disk project and back → version control systems need real files to act on not virtual file system → and some design elements have to be converted to DXL
  12. 12. Configuring DDE for version control Designer runs on top of Eclipse 3.4 (2008) install VCS plugin from OpenNTF.org → EGit for Domino Designer (by Nathan T. Freeman) based on current EGit for Eclipse 3.6 and higher → Subversion UpdateSite for Domino Designer Mercurial - http://cbes.javaforge.com/update and choose 1.6.0 version of MercurialEclipse plugin and 1.4.3 version of Mercurial Binaries
  13. 13. Install EGit to DDE
  14. 14. Install EGit to DDE
  15. 15. Install EGit to DDE and point it to the downloaded zip file
  16. 16. Install EGit to DDE just check and press Next
  17. 17. Install EGit to DDE I guess even as non-lawyers we can accept this
  18. 18. Install EGit to DDE after pressing Finish keep accepting (there is one more dialog asking for permission to install plugin) and then restart Designer
  19. 19. Enable Source Control for NSF
  20. 20. Enable Source Control for NSF
  21. 21. Enable Source Control for NSF
  22. 22. Set up Git for the on-disk project
  23. 23. Set up Git for the on-disk project
  24. 24. Start using Git directly from DDE or use command line in Git Bash (we're developers, right?)
  25. 25. Redmine ● project management tool, bug tracker, ... ● connects to repository to link commits to issues (commit message “fixes #1” automatically closes issue with id 1) and for time tracking (@1h30m) ● will probably be used for projects on OpenNTF.org as well as Git and Mercurial repositories
  26. 26. Questions? ● more about Git http://think-like-a-git.net great book http://progit.org
  27. 27. Resources ● Subversion - http://subversion.apache.org/ ● Git – http://git-scm.com/, Git for Windows - http://code.google.com/p/msysgit/ and follow link “Git for Windows” ● Mercurial – http://mercurial.selenic.com/ ● Bazaar – http://bazaar.canonical.com/ ● EGit for Domino Designer – http://www.openntf.org/internal/home.nsf/project.xsp? action=openDocument&name=EGit%20for%20IBM%20Domino %20Designer ● Subversion UpdateSite for Domino Designer – http://www.openntf.org/internal/home.nsf/project.xsp? action=openDocument&name=Subversion%20UpdateSite%20for %20Domino%20Designer ● branching model - http://nvie.com/posts/a-successful-git-branching-model/ ● git-flow – https://github.com/nvie/gitflow ● Redmine – http://www.redmine.org
  28. 28. Thank you!

×