SlideShare a Scribd company logo
Feature Based Development for Web Apps with Bazaar A Sydney PHP Group presentation 1 st  May 2008 James Ellis customr.net
WHY ?
A feature is... A common set of changes that combine to produce the required result
Version Control Evolution File clobber (no control) – e.g transferring files with FTP Enter the Tree (Concurrent Version Systems) Improving CVS with Subversion (SVN) Distributed  – (centralise if you wish)
File Clobber with FTP Destructive Revision Control Does not scale beyond one developer (Supported in Bazaar via a plugin) Manual Merges – who is doing the washing up?
Tree Versioning - centralised (-) Supports only one model of work (-) Branches and merges should be easier (+/-) Connection to remote server required (+) Much better QA (-) The freeze (please don't commit!) “ Subversion has been the most pointless project ever started... Subversion used to say, 'CVS done right.' With that slogan there is nowhere you can go. There is no way to do CVS right.”   Linus Torvalds via /.
Tree Versioning – distributed Common tasks are implicit rather than explicit No file clobber – allows multiple branch dev. Similar tools – Bazaar, Git Implicit supports for standard protocols (http, ftp, sftp etc etc) that we already use every day. Does everything centralised does (and better) Allows scaling Up and Out
Everything is a branch Developers work in their own local branches Checkouts  do exist – these are “bound” branches Developers provide  patches  to release managers Patches are merged into other branches QA step prior to publishing web app updates
Choose a development model No model is bad in Bazaar Easy to change between models without changing tools Centralised  – SVN style single developer Centralised  – SVN style multi developer  Distributed  – Allow committing to a “main” branch. Distributed  using Gatekeeper – providing features for inclusion
Providing features Mantra : Treat your web app like an application, not a bunch of files Promotes experimentation without conflict Introduces the “Gatekeeper” role(s) Allows intra developer sharing (http/sftp/mdns) You can go on holiday AND have version control!!!
Simple Bazaar Implementation Install Linux, Unix, Windows, Mac packages Branch in five seconds Dev : Take a branch, work, commit and provide a patch QA : Preview, merge and update Release : provide release archive (zip, tar etc) which can be packaged (rpm, deb, etc)
Examples Create a branch Create a repo Pull a branch and keep it up to date Work on a feature then Commit Patch/Push Merge and optionally resolve conflicts Checkout and Update (or Export)
Integration with web dev tools Editor plugins (eclipse) Or just use the command line Bzr GUI's (GTK, Qt, Tortoise) Apache – virtual hosts are your friend Avahi (aka Rendezvous) sharing on a local net Bzr Plugins (upload)
Further reading & support bazaar-vcs.org Bazaar documentation Bazaar in Five Minutes (excellent) Bazaar Mailing Listings Commercial Support provided by Canonical Experiment Remember the Five Steps

More Related Content

What's hot (20)

PPTX
OpenNTF Webinar May 2021 - Jesse
Jesse Gallagher
 
PDF
Automated Testing in DevOps
Haufe-Lexware GmbH & Co KG
 
PPTX
Using REST with VSTS and TFS
Jeff Bramwell
 
PPTX
Performance testing with VSTs on- and off-premises
Jeff Bramwell
 
PPTX
Building Extensions in VSTS and TFS
Jeff Bramwell
 
PPTX
Git, YouTrack and TeamCity - DDDSydney 2011
thinkddd
 
PPTX
Jenkins
MohanRaviRohitth
 
PDF
Continuous Delivery with TeamCity
Volodymyr Melymuka
 
PPTX
Continuos integration patterns
Vikas Gupta
 
PDF
PHP Deployment With SVN
Lorna Mitchell
 
PPTX
Building a Continuous Delivery Pipeline With Visual Studio
Kasun Kodagoda
 
PDF
Tfs 2015 Upgrade Tips and Tricks
InCycleSoftware
 
PPTX
JavaScript Build System Battle Royale | PrDC 2017
David Wesst
 
PPTX
Ember js installation and create sample project, EmberJS Version check
manojbkalla
 
PPTX
Continous integration with jenkins
vodQA
 
PPT
Enter the Team City
Kashif Ali Siddiqui
 
PDF
Simple Continous Integration
Ricky Martaputra
 
PDF
Hacking Jenkins
Miro Cupak
 
PPTX
CollabSphere 2020 - NSF ODP Tooling
Jesse Gallagher
 
PDF
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Edureka!
 
OpenNTF Webinar May 2021 - Jesse
Jesse Gallagher
 
Automated Testing in DevOps
Haufe-Lexware GmbH & Co KG
 
Using REST with VSTS and TFS
Jeff Bramwell
 
Performance testing with VSTs on- and off-premises
Jeff Bramwell
 
Building Extensions in VSTS and TFS
Jeff Bramwell
 
Git, YouTrack and TeamCity - DDDSydney 2011
thinkddd
 
Continuous Delivery with TeamCity
Volodymyr Melymuka
 
Continuos integration patterns
Vikas Gupta
 
PHP Deployment With SVN
Lorna Mitchell
 
Building a Continuous Delivery Pipeline With Visual Studio
Kasun Kodagoda
 
Tfs 2015 Upgrade Tips and Tricks
InCycleSoftware
 
JavaScript Build System Battle Royale | PrDC 2017
David Wesst
 
Ember js installation and create sample project, EmberJS Version check
manojbkalla
 
Continous integration with jenkins
vodQA
 
Enter the Team City
Kashif Ali Siddiqui
 
Simple Continous Integration
Ricky Martaputra
 
Hacking Jenkins
Miro Cupak
 
CollabSphere 2020 - NSF ODP Tooling
Jesse Gallagher
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Edureka!
 

Similar to Feature Based Web Development with Bazaar (20)

PDF
Version Control for Mere Mortals
Emma Jane Hogbin Westby
 
PDF
Bazaar for Mere Mortals
Emma Jane Hogbin Westby
 
PDF
Introduction to Bazaar
Tim Penhey
 
PDF
Version Control for mere and freelance mortals
Emma Jane Hogbin Westby
 
PDF
Bazaar VCS Lightning Talk
Stuart Colville
 
PDF
De-centralised Version Control with Bazaar
Stuart Colville
 
KEY
Bazaar: DVCS for Human Beings!
guest19ba2c9
 
PDF
The Source Control Landscape
Lorna Mitchell
 
ODP
Subversion in a distributed world
Lorna Mitchell
 
ODP
Resources For Floss Projects
Jon Spriggs
 
PPTX
Subversion and bug tracking
Amira Elsayed Ismail
 
PDF
Versioning for Developers
Michelangelo van Dam
 
PDF
Migrating from Subversion to Git and GitHub
Matthew McCullough
 
PDF
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Massimo Menichinelli
 
PPTX
[Mas 500] Software Development Strategies
rahulbot
 
PDF
Code for Startup MVP (Ruby on Rails) Session 1
Henry S
 
PDF
Digital Fabrication Studio v.0.2: Information
Massimo Menichinelli
 
PPT
SVN Usage & Best Practices
Ashraf Fouad
 
PPT
sMash at May NYPHP UG
Project Zero
 
PPSX
Olympya web-tools 2011
Paulo Mattos
 
Version Control for Mere Mortals
Emma Jane Hogbin Westby
 
Bazaar for Mere Mortals
Emma Jane Hogbin Westby
 
Introduction to Bazaar
Tim Penhey
 
Version Control for mere and freelance mortals
Emma Jane Hogbin Westby
 
Bazaar VCS Lightning Talk
Stuart Colville
 
De-centralised Version Control with Bazaar
Stuart Colville
 
Bazaar: DVCS for Human Beings!
guest19ba2c9
 
The Source Control Landscape
Lorna Mitchell
 
Subversion in a distributed world
Lorna Mitchell
 
Resources For Floss Projects
Jon Spriggs
 
Subversion and bug tracking
Amira Elsayed Ismail
 
Versioning for Developers
Michelangelo van Dam
 
Migrating from Subversion to Git and GitHub
Matthew McCullough
 
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Massimo Menichinelli
 
[Mas 500] Software Development Strategies
rahulbot
 
Code for Startup MVP (Ruby on Rails) Session 1
Henry S
 
Digital Fabrication Studio v.0.2: Information
Massimo Menichinelli
 
SVN Usage & Best Practices
Ashraf Fouad
 
sMash at May NYPHP UG
Project Zero
 
Olympya web-tools 2011
Paulo Mattos
 
Ad

Recently uploaded (20)

PDF
Azumah Resources reaffirms commitment to Ghana amid dispute with Engineers & ...
Kweku Zurek
 
PDF
NewBase 07 July 2025 Energy News issue - 1800 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
PDF
What is the Use of Six Flowers Oil Perfume?
Babalaj Eventures
 
PPTX
epi editorial commitee meeting presentation
MIPLM
 
PDF
Royalzig Unveils India’s First World-Class Luxury Furniture Experience Center...
Royalzig Luxury Furniture
 
PDF
Thane Stenner - An Industry Expert
Thane Stenner
 
PDF
Leadership Advisory & Branding powered by MECE, SCQA & 3P framework.pdf
Vipin Srivastava
 
PPTX
2025 July - ABM for B2B in Hubspot - Demand Gen HUG.pptx
mjenkins13
 
PPTX
IP Leaks Can Derail Years Of Innovation In Seconds
Home
 
PDF
From Legacy to Velocity: how we rebuilt everything in 8 months.
Product-Tech Team
 
PDF
Van Aroma IFEAT - Clove Oils - Socio Economic Report .pdf
VanAroma
 
PDF
Top Farewell Gifts for Seniors Under.pdf
ThreadVibe Living
 
PDF
kcb-group-plc-2024-integrated-report-and-financial-statements (3).pdf
DanielNdegwa10
 
PPTX
Why-Your-BPO-Startup-Must-Track-Attrition-from-Day-One.pptx.pptx
Orage technologies
 
PPTX
Drive Operational Excellence with Proven Continuous Improvement Strategies
Group50 Consulting
 
PDF
LEWIONICS SCO Company Profile UAE JULY 2025
Natalie Lewes
 
PDF
How to Make Your Pre Seed Startup Grant Fundable
ideatoipo
 
PDF
15 Essential Cloud Podcasts Every Tech Professional Should Know in 2025
Amnic
 
PPT
Financial Management - All Slides.ppt.pdf
HeangLaisiv1
 
PDF
Concept Topology in Architectural Build Addendum.pdf
Brij Consulting, LLC
 
Azumah Resources reaffirms commitment to Ghana amid dispute with Engineers & ...
Kweku Zurek
 
NewBase 07 July 2025 Energy News issue - 1800 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
What is the Use of Six Flowers Oil Perfume?
Babalaj Eventures
 
epi editorial commitee meeting presentation
MIPLM
 
Royalzig Unveils India’s First World-Class Luxury Furniture Experience Center...
Royalzig Luxury Furniture
 
Thane Stenner - An Industry Expert
Thane Stenner
 
Leadership Advisory & Branding powered by MECE, SCQA & 3P framework.pdf
Vipin Srivastava
 
2025 July - ABM for B2B in Hubspot - Demand Gen HUG.pptx
mjenkins13
 
IP Leaks Can Derail Years Of Innovation In Seconds
Home
 
From Legacy to Velocity: how we rebuilt everything in 8 months.
Product-Tech Team
 
Van Aroma IFEAT - Clove Oils - Socio Economic Report .pdf
VanAroma
 
Top Farewell Gifts for Seniors Under.pdf
ThreadVibe Living
 
kcb-group-plc-2024-integrated-report-and-financial-statements (3).pdf
DanielNdegwa10
 
Why-Your-BPO-Startup-Must-Track-Attrition-from-Day-One.pptx.pptx
Orage technologies
 
Drive Operational Excellence with Proven Continuous Improvement Strategies
Group50 Consulting
 
LEWIONICS SCO Company Profile UAE JULY 2025
Natalie Lewes
 
How to Make Your Pre Seed Startup Grant Fundable
ideatoipo
 
15 Essential Cloud Podcasts Every Tech Professional Should Know in 2025
Amnic
 
Financial Management - All Slides.ppt.pdf
HeangLaisiv1
 
Concept Topology in Architectural Build Addendum.pdf
Brij Consulting, LLC
 
Ad

Feature Based Web Development with Bazaar

  • 1. Feature Based Development for Web Apps with Bazaar A Sydney PHP Group presentation 1 st May 2008 James Ellis customr.net
  • 3. A feature is... A common set of changes that combine to produce the required result
  • 4. Version Control Evolution File clobber (no control) – e.g transferring files with FTP Enter the Tree (Concurrent Version Systems) Improving CVS with Subversion (SVN) Distributed – (centralise if you wish)
  • 5. File Clobber with FTP Destructive Revision Control Does not scale beyond one developer (Supported in Bazaar via a plugin) Manual Merges – who is doing the washing up?
  • 6. Tree Versioning - centralised (-) Supports only one model of work (-) Branches and merges should be easier (+/-) Connection to remote server required (+) Much better QA (-) The freeze (please don't commit!) “ Subversion has been the most pointless project ever started... Subversion used to say, 'CVS done right.' With that slogan there is nowhere you can go. There is no way to do CVS right.” Linus Torvalds via /.
  • 7. Tree Versioning – distributed Common tasks are implicit rather than explicit No file clobber – allows multiple branch dev. Similar tools – Bazaar, Git Implicit supports for standard protocols (http, ftp, sftp etc etc) that we already use every day. Does everything centralised does (and better) Allows scaling Up and Out
  • 8. Everything is a branch Developers work in their own local branches Checkouts do exist – these are “bound” branches Developers provide patches to release managers Patches are merged into other branches QA step prior to publishing web app updates
  • 9. Choose a development model No model is bad in Bazaar Easy to change between models without changing tools Centralised – SVN style single developer Centralised – SVN style multi developer Distributed – Allow committing to a “main” branch. Distributed using Gatekeeper – providing features for inclusion
  • 10. Providing features Mantra : Treat your web app like an application, not a bunch of files Promotes experimentation without conflict Introduces the “Gatekeeper” role(s) Allows intra developer sharing (http/sftp/mdns) You can go on holiday AND have version control!!!
  • 11. Simple Bazaar Implementation Install Linux, Unix, Windows, Mac packages Branch in five seconds Dev : Take a branch, work, commit and provide a patch QA : Preview, merge and update Release : provide release archive (zip, tar etc) which can be packaged (rpm, deb, etc)
  • 12. Examples Create a branch Create a repo Pull a branch and keep it up to date Work on a feature then Commit Patch/Push Merge and optionally resolve conflicts Checkout and Update (or Export)
  • 13. Integration with web dev tools Editor plugins (eclipse) Or just use the command line Bzr GUI's (GTK, Qt, Tortoise) Apache – virtual hosts are your friend Avahi (aka Rendezvous) sharing on a local net Bzr Plugins (upload)
  • 14. Further reading & support bazaar-vcs.org Bazaar documentation Bazaar in Five Minutes (excellent) Bazaar Mailing Listings Commercial Support provided by Canonical Experiment Remember the Five Steps

Editor's Notes

  • #2: Specifically going to focus on version control which is the glue that holds a web app together. * Who uses FTP to update sites ? * Hands up who uses version control * Who uses CVS ? * Who uses Subversion ? * Who uses Bazaar or Git ? For FTP users, this may tread some new territory but it's worth making the hike. For CVS and Subversion users, you will notice some similarities but there are also some major differences in the workflow. Mayl take time to wrap your head around these.