meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
contribute [2023/02/01 13:34] – created - external edit 127.0.0.1contribute [2025/06/07 16:03] (current) – [Policies & Guidelines] c/e wrongecho
Line 1: Line 1:
-====== Contribute Code ======+====== Contributing to ITFlow ======
  
 +If you are able to make a contribution that would make ITFlow better for everyone, please do!
  
-If you are able to make a contribution that would make ITFlow better for everyone, please fork the repository and create pull request.+You can contribute to ITFlow in few ways:
  
-For large changes/new features, please discuss the issue with other contributors first.+  * Contribute code 
 +  * Update documentation by selecting the pencil icon on the right-side of a page 
 +  * Report bugs 
 +  * Suggest feature enhancements 
 +  * Star the project on GitHub 
 +  * Tell others of your success using ITFlow (please don't spam)
  
-  - Fork the Project 
-  - Create your Feature Branch (''git checkout -b feature'') 
-  - Commit your Changes (''git commit -m 'Add some''') 
-  - Push to the Branch (''git push origin feature'') 
-  - Open a Pull Request 
  
-ITFlow, along with all contributions, is [[https://github.com/itflow-org/itflow/blob/master/LICENSE|licensed under the GNU GPL]].+===== Policies & Guidelines =====
  
 +Before contributing to ITFlow you should be aware of these documents:
  
-----+  * [[https://github.com/itflow-org/itflow/blob/master/LICENSE|GNU GPL License]] 
 +  * [[https://github.com/itflow-org/itflow/blob/master/CODE_OF_CONDUCT.md|Code of conduct]] 
 +  * [[https://github.com/itflow-org/itflow/security|Security policy]] 
 +  * [[code_standards|Code Standards]] 
 +  * [[doc_standards|Documentation standards]] 
 +  * [[ai_llm_policy|Use of AI / LLM]]
  
 +===== Contribute Code =====
  
-===== I'm not a developer but want to try and contribute code =====+To contribute code to ITFlow, you will need to fork the repository and create a pull request.
  
 +Before doing so, please ensure to discuss the issue/idea with other contributors on the Forum first - this saves everyone time and ensures your contribution is aligned with our goals.
  
-As mentioned on the about page, the main contributors of ITFlow are more Sysadmins than developers. If you've got an idea of something you'd like to change in ITFlow, give it a try! This could be anything and doesn't have to be huge to be helpful to the project fixing typosadjusting icons, etc.+The code for ITFlow is split into two branches: 
 +  - **master** - The main codebase for all installsupdated ~monthly (demo: demo.itflow.org) 
 +  - **develop** The active development branchall PRs should be merged here (demo: develop.dev.itflow.org)
  
-First, review the [[wiki:code_standards|code standards]] pageThis will give you an idea of how we name variables and what files do what.+==== Steps to raise a pull request (PR) ==== 
 +  - Fork the Project on GitHub 
 +  - Clone the develop branch(''git clone //-//-branch develop https://github.com/itflow-org/itflow.git''and follow the setup guide 
 +  - Set your ''$repo_branch'' in ''config.php'' to 'develop' 
 +  - Create your branch (''git checkout -b my-branch''
 +  - Commit your Changes (''git add something.txt && git commit -m 'Add some'''
 +  - Push to your branch (''git push origin my-branch''
 +  - Open a Pull Request, ensuring to adjust the base from master to develop 
 +  - {{:pr_-_select-mh.png?direct&550|}}
  
-If you need some help with using Git/GitHub, [[https://www.dataschool.io/how-to-contribute-on-github/|this article]] is a great resource. 
  
-Once you've got a working [[wiki:installation|installation]], switch to a new branch (''git checkout -b mybranch'').+=====Maintainer Steps for monthly releases=====
  
-Locate the page that holds the functionality you'd like to amend and start making changes. It's usually helpful to break down your desired goal into small chunks you can incrementally add.+Around once a month, we will merge develop into master for a new releaseThe steps are:
  
-//If you're doing lots of work with forms (generally submitting to post.php), you might want to look into something like Burp Suite to speed things up.// +  - Ensure testing has been completed as much as possible 
- +  - Update the changelog 
-Once you've got your changes workingadd & commit your files (''git add myfile.php && git commit -m "My change"''), and push them to your GitHub account (''git push origin mybranch'')+  - In developincrement version.php in the YY.M.V format (e.g. 25.1 for the first release in Jan 2025, 25.1.1 for the second release of Jan 2025, and 25.6 for the first release in June 2025) 
- +  - Look over the recent changes and write a short release summary 
-You'll be prompted to raise a pull request where we can discuss your changes and eventually merge them into ITFlow!+  - Raise a PR to merge develop into master 
 +  - Test a final time on PR Review & ensure no other issues (Sonar, Linting, etc) 
 +  - Approve the PR & Merge