SlideShare a Scribd company logo
Version Control for
Notes developers




                Martin Jinoch
#shameless-plug


  blog: http://jinoch.cz
  twitter: @mjinoch
  email: martin@jinoch.cz
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
“Classic” way ;-)
“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
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
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
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!
pretty simple, huh!?



let's see a demo
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”
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
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
Install EGit to DDE
Install EGit to DDE
Install EGit to DDE



               and point it to the
               downloaded zip
               file
Install EGit to DDE



               just check and
               press Next
Install EGit to DDE


               I guess even as non-lawyers
               we can accept this
Install EGit to DDE


               after pressing Finish
               keep accepting
               (there is one more
               dialog asking for
               permission to install
               plugin) and then
               restart Designer
Enable Source Control for NSF
Enable Source Control for NSF
Enable Source Control for NSF
Set up Git for the on-disk project
Set up Git for the on-disk project
Start using Git directly from DDE




  or use command line in Git Bash
  (we're developers, right?)
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
Questions?




●   more about Git
    http://think-like-a-git.net
    great book http://progit.org
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
Thank you!

More Related Content

PDF
Git for IBM Notes Designer
ODP
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
ODP
Evolution of Version Control In Open Source
PDF
Software Versioning with Bitbucket and Eclipse
PPTX
An introduction to Git and GitFlow
PDF
From SVN to Git
PDF
What is version control software and why do you need it?
PDF
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Git for IBM Notes Designer
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Evolution of Version Control In Open Source
Software Versioning with Bitbucket and Eclipse
An introduction to Git and GitFlow
From SVN to Git
What is version control software and why do you need it?
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum

What's hot (20)

PPTX
Version controll.pptx
PDF
Training: Day Two - Eclipse, Git, Maven
PPTX
Using Git and BitBucket
PDF
Mini git tutorial
PPTX
Version control system and Git
PPSX
Git the fast version control system
PDF
Version control and GIT Primer
PPTX
Lets git to it
PPTX
Git extension-training
PPTX
Introduction to git administration
PPT
Version Control System
ODP
Introduction to Version Control
PDF
Using GIT for Everyone
PPSX
Hackaton for health 2015 - Sharing the Code we Make
PPTX
git-and-bitbucket
PDF
Version control system
PDF
Hg for bioinformatics, second part
ZIP
Beginner's Guide to Version Control with Git
PDF
Gitt and Git-flow
Version controll.pptx
Training: Day Two - Eclipse, Git, Maven
Using Git and BitBucket
Mini git tutorial
Version control system and Git
Git the fast version control system
Version control and GIT Primer
Lets git to it
Git extension-training
Introduction to git administration
Version Control System
Introduction to Version Control
Using GIT for Everyone
Hackaton for health 2015 - Sharing the Code we Make
git-and-bitbucket
Version control system
Hg for bioinformatics, second part
Beginner's Guide to Version Control with Git
Gitt and Git-flow
Ad

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

PPTX
Introduction to git and Github
PPTX
Git Basics
PPTX
Git essential training & sharing self
PPTX
Git Training
PPTX
git github PPT_GDSCIIITK.pptx
PPTX
Mini-training: Let’s Git It!
PDF
Git_tutorial.pdf
PPTX
Git & GitLab
PPTX
Git session 1
PPT
GIT By Sivakrishna
PPTX
Git usage (Basics and workflow)
PDF
GIT_Overview.
PDF
Git Mastery
PDF
Beginner Workshop for Student Developers - Tratech-presentation.pdf
PDF
Introducing Git and git flow
PDF
Git Tutorial A Comprehensive Guide for Beginners.pdf
PPTX
1-Intro to VC & GIT PDF.pptx
PPTX
3DC Intro to Git Workshop
PPTX
Mastering Git: Version Control for Developers
PPTX
Introduction to GitHub, Open Source and Tech Article
Introduction to git and Github
Git Basics
Git essential training & sharing self
Git Training
git github PPT_GDSCIIITK.pptx
Mini-training: Let’s Git It!
Git_tutorial.pdf
Git & GitLab
Git session 1
GIT By Sivakrishna
Git usage (Basics and workflow)
GIT_Overview.
Git Mastery
Beginner Workshop for Student Developers - Tratech-presentation.pdf
Introducing Git and git flow
Git Tutorial A Comprehensive Guide for Beginners.pdf
1-Intro to VC & GIT PDF.pptx
3DC Intro to Git Workshop
Mastering Git: Version Control for Developers
Introduction to GitHub, Open Source and Tech Article
Ad

Recently uploaded (20)

PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Modernizing your data center with Dell and AMD
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Electronic commerce courselecture one. Pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Review of recent advances in non-invasive hemoglobin estimation
Network Security Unit 5.pdf for BCA BBA.
Modernizing your data center with Dell and AMD
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Electronic commerce courselecture one. Pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation_ Review paper, used for researhc scholars
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm

BLUG 2012 Version Control for Notes Developers

  • 1. Version Control for Notes developers Martin Jinoch
  • 2. #shameless-plug blog: http://jinoch.cz twitter: @mjinoch email: martin@jinoch.cz
  • 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
  • 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. 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. 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. 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!
  • 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. 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. 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
  • 15. Install EGit to DDE and point it to the downloaded zip file
  • 16. Install EGit to DDE just check and press Next
  • 17. Install EGit to DDE I guess even as non-lawyers we can accept this
  • 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
  • 22. Set up Git for the on-disk project
  • 23. Set up Git for the on-disk project
  • 24. Start using Git directly from DDE or use command line in Git Bash (we're developers, right?)
  • 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. Questions? ● more about Git http://think-like-a-git.net great book http://progit.org
  • 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