SlideShare a Scribd company logo
1 of 15
Download to read offline
Contributing to Koha
      Magnus Enger
       libriotech.no
Please note!
●   http://koha-community.org/
    is the current website for the Koha project.
●   Avoid any and all sites at http://*.koha.org/ -
    they are not updated according to the wishes of
     The Koha Community.
Many ways to contribute
●   Report bugs
●   Verify bugs
●   Fix bugs
●   Create new features/enhancements
●   Test and sign off on patches
●   Write documentation, add to the wiki
●   Translate
●   Answer questions on mail-lists and IRC
●   Etc, etc...
Hacking Koha!
●   Fixing bugs
●   Creating new features/enhancements


Two guiding principles:
    ●   Announce what you will work on
    ●   Release early, release often

http://wiki.koha-community.org/wiki/Enhancement_Request_Guidelines
Bugzilla - bugs.koha-community.org
●   Always start by adding a bug report, both for
    bugs and enhancements




     http://wiki.koha-community.org/wiki/Bug_Reporting_Guidelines
Wiki - wiki.koha-community.org
●   Creating an enhancement?
●   You should probably do an RFC on the wiki
    ●   (Request For Comments)
    ●   Unless it's something really small
    ●   http://wiki.koha-community.org/wiki/Category:RFCs
Start working!
●   Use the Git, Luke!
    ●   Develop on a branch (named after your bug)
    ●   http://wiki.koha-community.org/wiki/Version_Control_Using_Git
●   Publish your WIP (Work In Progress)
    ●   In a public Git repository
    ●   http://wiki.koha-community.org/wiki/Public_Git_Repositories
●   git clone http://git.koha-
    community.org/koha.git kohaclone
●   cd kohaclone
●   git checkout -b mywork origin
●   Work, work, work
    ●   http://wiki.koha-community.org/wiki/Coding_Guidelines
●   git add somefile.pl
●   git commit
    ●   Use the bug number in the first line of the commit
        message
●   git format-patch origin
●   git send-email 0001-filename
    ●   koha-patches@lists.koha-community.org
●   Attach the patch to the bug in Bugzilla
●   Change the Importance of the bug to "Patch
    sent" and Patch Status to "Needs Signoff"
What happens next?
●   Someone must test and sign off on your patch
    and change the status to
    ●   "Does not apply" or
    ●   "Signed Off"
    ●   http://wiki.koha-community.org/wiki/Sign_off_on_patches
●   Then it is pushed to the main Koha Git
    repository, as a separate branch
And after that?
●   If the person in charge of QA is not happy with
    what you have done, Patch Status is changed
    to
    ●  "Failed QA"
●   Otherwise, if the Release Manager too is happy
    with your work, the branch (patch) is merged
    into Koha and Patch Status is set to
    ●   "Patch Pushed"
You're not done yet, though!
●   Update your Koha clone
●   Check that everything works as expected
●   Set the Status of the bug to "RESOLVED
    FIXED"
●   Congratulations!
Things to remember
●   Your patch should apply cleanly to the HEAD of
    master
    ●   Rebase on master and resubmit your patch if
        changes in master makes the patch not apply any
        longer
●   If you have fixed a bug, it should also apply
    cleanly to the HEAD of the maintenance branch
    (currently 3.2.x)
    ●   Submit a separate patch for 3.2.x if you have to
Furthermore, I think MARC must be destroyed.

             marc-must-die.info
Happy hacking!
   Magnus Enger
magnus@enger.priv.no
    libriotech.no

More Related Content

What's hot

VersionEye for PHP User Group Berlin
VersionEye for PHP User Group BerlinVersionEye for PHP User Group Berlin
VersionEye for PHP User Group BerlinRobert Reiz
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Borek Bernard
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierChristoph Matthies
 
Continuous Deployment of Architectural Change
Continuous Deployment of Architectural ChangeContinuous Deployment of Architectural Change
Continuous Deployment of Architectural ChangeMatt Graham
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow WorkshopSyed Imam
 
GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab, Inc
 
Continuous delivery journey at LesFurets.com
Continuous delivery journey at LesFurets.comContinuous delivery journey at LesFurets.com
Continuous delivery journey at LesFurets.comRaphaël Brugier
 
The gitflow way
The gitflow wayThe gitflow way
The gitflow wayRuijun Li
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams Atlassian
 
Openshift: Deployments for the rest of us
Openshift: Deployments for the rest of usOpenshift: Deployments for the rest of us
Openshift: Deployments for the rest of usAnurag Patel
 
WordPress Development: Tracking Your Code With Version Control
WordPress Development: Tracking Your Code With Version ControlWordPress Development: Tracking Your Code With Version Control
WordPress Development: Tracking Your Code With Version ControlSterling Hamilton
 
GitLab Commit 2020: Ubiquitous quality through continuous testing pipelines
GitLab Commit 2020: Ubiquitous quality through continuous testing pipelinesGitLab Commit 2020: Ubiquitous quality through continuous testing pipelines
GitLab Commit 2020: Ubiquitous quality through continuous testing pipelinesJoseph Lust
 

What's hot (20)

Git workflows
Git workflowsGit workflows
Git workflows
 
My Git workflow
My Git workflowMy Git workflow
My Git workflow
 
git-flow R3Labs
git-flow R3Labsgit-flow R3Labs
git-flow R3Labs
 
VersionEye for PHP User Group Berlin
VersionEye for PHP User Group BerlinVersionEye for PHP User Group Berlin
VersionEye for PHP User Group Berlin
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)
 
Git
GitGit
Git
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easier
 
Git flow
Git flowGit flow
Git flow
 
Continuous Deployment of Architectural Change
Continuous Deployment of Architectural ChangeContinuous Deployment of Architectural Change
Continuous Deployment of Architectural Change
 
Github
GithubGithub
Github
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow Workshop
 
GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast
 
Continuous delivery journey at LesFurets.com
Continuous delivery journey at LesFurets.comContinuous delivery journey at LesFurets.com
Continuous delivery journey at LesFurets.com
 
The gitflow way
The gitflow wayThe gitflow way
The gitflow way
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Openshift: Deployments for the rest of us
Openshift: Deployments for the rest of usOpenshift: Deployments for the rest of us
Openshift: Deployments for the rest of us
 
WordPress Development: Tracking Your Code With Version Control
WordPress Development: Tracking Your Code With Version ControlWordPress Development: Tracking Your Code With Version Control
WordPress Development: Tracking Your Code With Version Control
 
GitLab Commit 2020: Ubiquitous quality through continuous testing pipelines
GitLab Commit 2020: Ubiquitous quality through continuous testing pipelinesGitLab Commit 2020: Ubiquitous quality through continuous testing pipelines
GitLab Commit 2020: Ubiquitous quality through continuous testing pipelines
 
Plugin for CakePHP2.0
Plugin for CakePHP2.0Plugin for CakePHP2.0
Plugin for CakePHP2.0
 

Viewers also liked

Kort presentasjon av Koha i Norge
Kort presentasjon av Koha i NorgeKort presentasjon av Koha i Norge
Kort presentasjon av Koha i NorgeLibriotech
 
Glitre og Öppna bibliotek
Glitre og Öppna bibliotekGlitre og Öppna bibliotek
Glitre og Öppna bibliotekLibriotech
 
Koha @ emtacl10
Koha @ emtacl10Koha @ emtacl10
Koha @ emtacl10Libriotech
 
Hva er Koha? - Versjon 2
Hva er Koha? - Versjon 2Hva er Koha? - Versjon 2
Hva er Koha? - Versjon 2Libriotech
 
Snik-semantifisering av bibliotekkatalogen
Snik-semantifisering av bibliotekkatalogenSnik-semantifisering av bibliotekkatalogen
Snik-semantifisering av bibliotekkatalogenLibriotech
 
F/LOSS in Norwegian libraries
F/LOSS in Norwegian librariesF/LOSS in Norwegian libraries
F/LOSS in Norwegian librariesLibriotech
 
Hva er fri programvare? (2011)
Hva er fri programvare? (2011)Hva er fri programvare? (2011)
Hva er fri programvare? (2011)Libriotech
 

Viewers also liked (9)

Koha
KohaKoha
Koha
 
Kort presentasjon av Koha i Norge
Kort presentasjon av Koha i NorgeKort presentasjon av Koha i Norge
Kort presentasjon av Koha i Norge
 
Glitre og Öppna bibliotek
Glitre og Öppna bibliotekGlitre og Öppna bibliotek
Glitre og Öppna bibliotek
 
Koha @ emtacl10
Koha @ emtacl10Koha @ emtacl10
Koha @ emtacl10
 
Må MARC dø?
Må MARC dø?Må MARC dø?
Må MARC dø?
 
Hva er Koha? - Versjon 2
Hva er Koha? - Versjon 2Hva er Koha? - Versjon 2
Hva er Koha? - Versjon 2
 
Snik-semantifisering av bibliotekkatalogen
Snik-semantifisering av bibliotekkatalogenSnik-semantifisering av bibliotekkatalogen
Snik-semantifisering av bibliotekkatalogen
 
F/LOSS in Norwegian libraries
F/LOSS in Norwegian librariesF/LOSS in Norwegian libraries
F/LOSS in Norwegian libraries
 
Hva er fri programvare? (2011)
Hva er fri programvare? (2011)Hva er fri programvare? (2011)
Hva er fri programvare? (2011)
 

Similar to Contributing to Koha

[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using ShipkitMarcinStachniuk
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgMarcinStachniuk
 
3DC Intro to Git Workshop
3DC Intro to Git Workshop3DC Intro to Git Workshop
3DC Intro to Git WorkshopBeckhamWee
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineElasTest Project
 
Git 101: Force-sensitive to Jedi padawan
Git 101: Force-sensitive to Jedi padawanGit 101: Force-sensitive to Jedi padawan
Git 101: Force-sensitive to Jedi padawanJames Ford
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flowKnoldus Inc.
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with gitJoseluis Laso
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdfTilton2
 
Git and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slideGit and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slideRaghavendraVattikuti1
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow Sebin Benjamin
 
Openstack contribution process
Openstack contribution processOpenstack contribution process
Openstack contribution processSyed Armani
 
OpenStack Contribution Process
OpenStack Contribution ProcessOpenStack Contribution Process
OpenStack Contribution Processopenstackindia
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talkTiago Ameller
 
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...Geshan Manandhar
 
Civilized Git Process
Civilized Git ProcessCivilized Git Process
Civilized Git ProcessTu Hoang
 
You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!Cory Webb
 

Similar to Contributing to Koha (20)

[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.org
 
3DC Intro to Git Workshop
3DC Intro to Git Workshop3DC Intro to Git Workshop
3DC Intro to Git Workshop
 
GDSC Git event 2023.pptx
GDSC Git event 2023.pptxGDSC Git event 2023.pptx
GDSC Git event 2023.pptx
 
Git sourcecontrolpreso
Git sourcecontrolpresoGit sourcecontrolpreso
Git sourcecontrolpreso
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
 
Git 101: Force-sensitive to Jedi padawan
Git 101: Force-sensitive to Jedi padawanGit 101: Force-sensitive to Jedi padawan
Git 101: Force-sensitive to Jedi padawan
 
Gitflow Workflow
Gitflow WorkflowGitflow Workflow
Gitflow Workflow
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flow
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with git
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
Git and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slideGit and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slide
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 
Openstack contribution process
Openstack contribution processOpenstack contribution process
Openstack contribution process
 
OpenStack Contribution Process
OpenStack Contribution ProcessOpenStack Contribution Process
OpenStack Contribution Process
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talk
 
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
 
Switching to Git
Switching to GitSwitching to Git
Switching to Git
 
Civilized Git Process
Civilized Git ProcessCivilized Git Process
Civilized Git Process
 
You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!
 

More from Libriotech

Hva er fri programvare
Hva er fri programvareHva er fri programvare
Hva er fri programvareLibriotech
 
Pode - en kort presentasjon
Pode - en kort presentasjonPode - en kort presentasjon
Pode - en kort presentasjonLibriotech
 
Koha og åpenhet
Koha og åpenhetKoha og åpenhet
Koha og åpenhetLibriotech
 
Hvordan sette opp en OAI-PMH metadata-innhøster
Hvordan sette opp en OAI-PMH metadata-innhøsterHvordan sette opp en OAI-PMH metadata-innhøster
Hvordan sette opp en OAI-PMH metadata-innhøsterLibriotech
 
Bibliotek 2.0?
Bibliotek 2.0?Bibliotek 2.0?
Bibliotek 2.0?Libriotech
 
Google og bibliotekene
Google og bibliotekeneGoogle og bibliotekene
Google og bibliotekeneLibriotech
 
Libraries and social networks
Libraries and social networksLibraries and social networks
Libraries and social networksLibriotech
 
Sosiale nettverk og bibliotek
Sosiale nettverk og bibliotekSosiale nettverk og bibliotek
Sosiale nettverk og bibliotekLibriotech
 

More from Libriotech (9)

Hva er fri programvare
Hva er fri programvareHva er fri programvare
Hva er fri programvare
 
Pode - en kort presentasjon
Pode - en kort presentasjonPode - en kort presentasjon
Pode - en kort presentasjon
 
Koha og åpenhet
Koha og åpenhetKoha og åpenhet
Koha og åpenhet
 
Hva er Koha?
Hva er Koha?Hva er Koha?
Hva er Koha?
 
Hvordan sette opp en OAI-PMH metadata-innhøster
Hvordan sette opp en OAI-PMH metadata-innhøsterHvordan sette opp en OAI-PMH metadata-innhøster
Hvordan sette opp en OAI-PMH metadata-innhøster
 
Bibliotek 2.0?
Bibliotek 2.0?Bibliotek 2.0?
Bibliotek 2.0?
 
Google og bibliotekene
Google og bibliotekeneGoogle og bibliotekene
Google og bibliotekene
 
Libraries and social networks
Libraries and social networksLibraries and social networks
Libraries and social networks
 
Sosiale nettverk og bibliotek
Sosiale nettverk og bibliotekSosiale nettverk og bibliotek
Sosiale nettverk og bibliotek
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Contributing to Koha

  • 1. Contributing to Koha Magnus Enger libriotech.no
  • 2. Please note! ● http://koha-community.org/ is the current website for the Koha project. ● Avoid any and all sites at http://*.koha.org/ - they are not updated according to the wishes of The Koha Community.
  • 3. Many ways to contribute ● Report bugs ● Verify bugs ● Fix bugs ● Create new features/enhancements ● Test and sign off on patches ● Write documentation, add to the wiki ● Translate ● Answer questions on mail-lists and IRC ● Etc, etc...
  • 4. Hacking Koha! ● Fixing bugs ● Creating new features/enhancements Two guiding principles: ● Announce what you will work on ● Release early, release often http://wiki.koha-community.org/wiki/Enhancement_Request_Guidelines
  • 5. Bugzilla - bugs.koha-community.org ● Always start by adding a bug report, both for bugs and enhancements http://wiki.koha-community.org/wiki/Bug_Reporting_Guidelines
  • 6. Wiki - wiki.koha-community.org ● Creating an enhancement? ● You should probably do an RFC on the wiki ● (Request For Comments) ● Unless it's something really small ● http://wiki.koha-community.org/wiki/Category:RFCs
  • 7. Start working! ● Use the Git, Luke! ● Develop on a branch (named after your bug) ● http://wiki.koha-community.org/wiki/Version_Control_Using_Git ● Publish your WIP (Work In Progress) ● In a public Git repository ● http://wiki.koha-community.org/wiki/Public_Git_Repositories
  • 8. git clone http://git.koha- community.org/koha.git kohaclone ● cd kohaclone ● git checkout -b mywork origin ● Work, work, work ● http://wiki.koha-community.org/wiki/Coding_Guidelines
  • 9. git add somefile.pl ● git commit ● Use the bug number in the first line of the commit message ● git format-patch origin ● git send-email 0001-filename ● koha-patches@lists.koha-community.org ● Attach the patch to the bug in Bugzilla ● Change the Importance of the bug to "Patch sent" and Patch Status to "Needs Signoff"
  • 10. What happens next? ● Someone must test and sign off on your patch and change the status to ● "Does not apply" or ● "Signed Off" ● http://wiki.koha-community.org/wiki/Sign_off_on_patches ● Then it is pushed to the main Koha Git repository, as a separate branch
  • 11. And after that? ● If the person in charge of QA is not happy with what you have done, Patch Status is changed to ● "Failed QA" ● Otherwise, if the Release Manager too is happy with your work, the branch (patch) is merged into Koha and Patch Status is set to ● "Patch Pushed"
  • 12. You're not done yet, though! ● Update your Koha clone ● Check that everything works as expected ● Set the Status of the bug to "RESOLVED FIXED" ● Congratulations!
  • 13. Things to remember ● Your patch should apply cleanly to the HEAD of master ● Rebase on master and resubmit your patch if changes in master makes the patch not apply any longer ● If you have fixed a bug, it should also apply cleanly to the HEAD of the maintenance branch (currently 3.2.x) ● Submit a separate patch for 3.2.x if you have to
  • 14. Furthermore, I think MARC must be destroyed. marc-must-die.info
  • 15. Happy hacking! Magnus Enger magnus@enger.priv.no libriotech.no