Difference between revisions of "Repository work flow structure"

From OpenEMR Project Wiki
 
(78 intermediate revisions by the same user not shown)
Line 3: Line 3:


==Overview==
==Overview==
Our main official repository is kept on sourceforge via git. We migrated from cvs to git on 10/30/2010, which is described on the  [[Git_Migration|git migration wiki page]]. Our sourceforge repository also has seven official mirrors, which are described below. The proper way for individual developers to set up their personal git repository is described on the [[Git_for_dummies|git for OpenEMR tutorial wiki page]]. To avoid breaking the main sourceforge git repository, we are using the following git repository structure, work flow and development structure:
Our main official repository is kept on github. We migrated from cvs to git on 10/30/2010, which is described on the  [[Git_Migration|git migration wiki page]]. We then migrated the repository from sourceforge to GitHub on 8/31/2016. Our GitHub repository also has several official mirrors, which are described below. The proper way for individual developers to set up their personal git repository is described on the [[Git_for_dummies|git for OpenEMR tutorial wiki page]]. To avoid breaking the main GitHub git repository, we are using the following git repository structure, work flow and development structure:


==Official git Main Repository==
==Official git Main Repository==
===GitHub===
:* repository link: git://github.com/openemr/openemr.git
:* web page link: http://github.com/openemr/openemr
==Official git Repository Mirrors==
===Sourceforge===
===Sourceforge===
:* repository link: git://git.code.sf.net/p/openemr/code
:* repository link: git://git.code.sf.net/p/openemr/code
:* web page link: http://sourceforge.net/projects/openemr/
:* web page link: http://sourceforge.net/projects/openemr/
 
:* mirrors from GitHub repository every 30 minutes via an external script
==Official git Repository Mirrors==
===github===
:* repository link: git://github.com/openemr/openemr.git
:* web page link: http://github.com/openemr/openemr
:* mirrors from Sourceforge repository every 30 minutes via an external script
===bitbucket===
===bitbucket===
:* repository link: <nowiki>https://bitbucket.org/openemr/openemr.git</nowiki>
:* repository link: <nowiki>https://bitbucket.org/openemr/openemr.git</nowiki>
:* web page link: http://bitbucket.org/openemr/openemr/
:* web page link: http://bitbucket.org/openemr/openemr/
:* mirrors from Sourceforge repository every 30 minutes via an external script
:* mirrors from GitHub repository every 30 minutes via an external script
===assembla===
===assembla===
:* repository link: git://git.assembla.com/openemr.git
:* repository link: git://git.assembla.com/openemr.git
:* web page link: http://www.assembla.com/spaces/openemr/
:* web page link: http://www.assembla.com/spaces/openemr/
:* mirrors from Sourceforge repository every 30 minutes via an external script
:* mirrors from GitHub repository every 30 minutes via an external script
===codeplex===
===codeplex===
:* repository link: <nowiki>https://git01.codeplex.com/openemr</nowiki>
:* repository link: <nowiki>https://git01.codeplex.com/openemr</nowiki>
:* web page link: http://openemr.codeplex.com/
:* web page link: http://openemr.codeplex.com/
:* mirrors from Sourceforge repository every 30 minutes via an external script
:* mirrors from GitHub repository every 30 minutes via an external script
===repo.or.cz===
===repo.or.cz===
:* repository link: git://repo.or.cz/openemr.git
:* repository link: git://repo.or.cz/openemr.git
:* web page link: http://repo.or.cz/w/openemr.git
:* web page link: http://repo.or.cz/w/openemr.git
:* Supposed to mirror from the Sourceforge repository every 60 minutes automatically by the repo.or.cz site.
:* Supposed to mirror from the GitHub repository every 60 minutes automatically by the repo.or.cz site.


==Experimental Repository Mirrors==
==Experimental Repository Mirrors==
Line 37: Line 36:
:* repository link: http://code.launchpad.net/openemr
:* repository link: http://code.launchpad.net/openemr
:* web page link: http://code.launchpad.net/openemr
:* web page link: http://code.launchpad.net/openemr
:* Supposed to mirror from the Sourceforge repository every 4-6 hours automatically by the launchpad.net site.
:* Supposed to mirror from the GitHub repository every 4-6 hours automatically by the launchpad.net site.
:* Note is has been broken since 2013.
:* Note is has been broken since 2013.


==Developer roles and work flow==
==Developer roles and work flow==
===Administrators===
:* These folks have access to all the project tools and codebase repositories.
===Integration Developers===
===Integration Developers===
:* These are the only developers with commit access to the sourceforge repository.
:* These are the only developers with commit access to the GitHub repository.
:* They have demonstrated common sense and proficiency in git and OpenEMR development.
:* They have demonstrated common sense and proficiency in git and OpenEMR development.
:* They are responsible for committing their own code.
:* They are responsible for committing their own code.
:* They are willing to commit the code of the "Privileged Developers" (when requested).
:* They are willing to commit the code of the "Privileged Developers" (when requested).
:* Standardized methods to commit to the sourceforge repository have been documented in the 'Advanced Usage' section of the  [[Git_for_dummies|git for OpenEMR tutorial wiki page]] . Rather than pull in the entire remote branch of somebody else's code, recommend pulling in each commit via the 'cherry-pick' command (this is specifically documented on the [[Git_for_dummies#Committing_other_user.27s_code_to_the_official_git_repository_on_Sourceforge_.28quick_and_safe_method.29_.28For_Integration_Developers.29|git for OpenEMR tutorial wiki page]]).
:* Standardized methods to commit to the GitHub repository have been documented in the 'Advanced Usage' section of the  [[Git_for_dummies|git for OpenEMR tutorial wiki page]] . Rather than pull in the entire remote branch of somebody else's code, recommend pulling in each commit via the 'cherry-pick' command (this is specifically documented on the [[Git_for_dummies#Committing_other_user.27s_code_to_the_official_git_repository_on_GitHub_.28quick_and_safe_method.29_.28For_Integration_Developers.29|git for OpenEMR tutorial wiki page]]).


===Privileged Developers===
===Privileged Developers===
:* These are developers that have demonstrated common sense and proficiency in OpenEMR development.
:* These are developers that have demonstrated common sense and proficiency in OpenEMR development.
:* They do not have commit access to the sourceforge repository.
:* They do not have commit access to the GitHub repository.
:* Their code will be directly committed to the sourceforge repository upon request to an "Integration Developer" in the Developer forum. (will be committed within 24 hours). To clarify, this is for code that is ready to be committed; ie. do not request commits of code that might need further review.
:* Their code will be directly committed to the GitHub repository upon request to an "Integration Developer" in the Developer forum. (will be committed within 48 hours). To clarify, this is for code that is ready to be committed; ie. do not request commits of code that might need further review.
::* To take advantage of this "fast-track" commit, you need to submit code via a public git branch. ([[Git_for_dummies#Submit_your_code_for_commit_.28For_Privileged_Developers.29|instructions on how to do this can be found on this wiki page]]). If this is done correctly, then it only takes an "Integration Developer" several minutes to commit your code to the sourceforge repository.
::* To take advantage of this "fast-track" commit, you need to submit code via a public git branch. ([[Git_for_dummies#Submit_your_code_for_commit_.28For_Privileged_Developers.29|instructions on how to do this can be found on this wiki page]]). If this is done correctly, then it only takes an "Integration Developer" several minutes to commit your code to the GitHub repository.
 
===Standard Developers===
===Standard Developers===
:* Standard developers whom have or are in process of submitting code.
:* Standard developers whom have or are in process of submitting code.
:* They do not have commit access to the sourceforge repository.
:* They do not have commit access to the GitHub repository.
:* Their code needs to be reviewed before committing to the sourceforge repository.
:* Their code needs to be reviewed before committing to the GitHub repository.
::* Best way to do this is to submit code via a public git branch. ([[Git_for_dummies#Submit_your_code_for_review|instructions on how to do this can be found on this wiki page]]). If this is done correctly, then it only takes an "Integration Developers" several minutes to commit your code to the sourceforge repository if deemed acceptable by the community review.
::* Best way to do this is to submit code via a public git branch. ([[Git_for_dummies#Submit_your_code_for_review|instructions on how to do this can be found on this wiki page]]). If this is done correctly, then it only takes an "Integration Developers" several minutes to commit your code to the GitHub repository if deemed acceptable by the community review.


==Developers==
==Developers==
:(Only sourceforge account name, company association, and link to their public repository are shown.)
:(Only github(or sourceforge) account name, company association, and link to their public repository are shown.)
:(Ideally, each developer should have their own sourceforge account along with a public repository.)
:(Ideally, each developer should have their own public repository.)
:(Names are alphabetically ordered)
:(Names are alphabetically ordered)
===Administrators===
:<del>Andres Paglayan</del>(2005-2009)
:<del>James Perry</del>(2005-2009)
:<del>Walt Pennington</del>(2005-2009)
:<del>Matthew Vita</del>(2017 - 2020)
:[https://github.com/sunsetsystems Rod Roark] (2005 - current)
:[https://github.com/bradymiller Brady Miller] (2009 - current)
:[https://github.com/robertdown Robert Down] (2017 - current)
:[https://github.com/sjpadgett Jerry Padgett] (2019 - current)
:[https://github.com/stephenwaite Stephen Waite] (2020 - current)
:[https://github.com/adunsulag Stephen Nielson] (2022 - current)
:[https://github.com/jesdynf Asher Densmore-Lynn] (2024 - current)


===Integration Developers===
===Integration Developers===
:[http://sourceforge.net/users/bradymiller Brady Miller] ([http://github.com/bradymiller/openemr repository])
:[https://github.com/bradymiller Brady Miller] ([https://github.com/bradymiller/openemr repository])
:[http://sourceforge.net/users/yehster Kevin Yeh] (Kevin at IntegralEMR) ([http://github.com/yehster/openemr repository])
:[https://github.com/sjpadgett Jerry Padgett] ([https://github.com/sjpadgett/openemr repository])
:[http://sourceforge.net/users/sunsetsystems Rod Roark] (Rod at [[OpenEMR Professional Support#Sunset_Systems|Sunset Systems]]) ([http://github.com/sunsetsystems/openemr repository])
:[https://github.com/robertdown Robert Down] ([https://github.com/robertdown/openemr repository])
:[http://sourceforge.net/users/tmccormi Tony McCormick] (Tony at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/tmccormi/openemr repository])
:[https://github.com/sunsetsystems Rod Roark] (Rod at [[OpenEMR Professional Support#Sunset_Systems|Sunset Systems]]) ([https://github.com/sunsetsystems/openemr repository])
:[https://github.com/adunsulag Stephen Nielson] ([https://github.com/adunsulag/openemr repository])
:[https://github.com/stephenwaite Stephen Waite] ([https://github.com/stephenwaite/openemr repository])
:[https://github.com/jesdynf Asher Densmore-Lynn]


===Privileged Developers===
===Privileged Developers===
Line 77: Line 96:
:[http://sourceforge.net/users/arnabnaha Arnab Naha] ([http://github.com/arnabnaha/openemr repository])
:[http://sourceforge.net/users/arnabnaha Arnab Naha] ([http://github.com/arnabnaha/openemr repository])
:[http://sourceforge.net/users/capminds CapMinds] ([http://github.com/capmindstech/openemr repository1])([http://github.com/NainaSupp/openemr repository2]) (Naina and Dinesh at [[OpenEMR_Professional_Support#CapMinds_Technologies_Corp.|CapMinds Technologies]])
:[http://sourceforge.net/users/capminds CapMinds] ([http://github.com/capmindstech/openemr repository1])([http://github.com/NainaSupp/openemr repository2]) (Naina and Dinesh at [[OpenEMR_Professional_Support#CapMinds_Technologies_Corp.|CapMinds Technologies]])
:[http://sourceforge.net/users/cbezuidenhout cbezuidenhout] (Craig at [[OpenEMR_Professional_Support#TajEmo_Enterprises|TajEmo Enterprises]]) ([http://github.com/tajemo/openemr repository])
:[http://sourceforge.net/users/cfapress cfapress]
:[http://sourceforge.net/users/cfapress cfapress]
:[http://sourceforge.net/users/coleedo coleedo] ([http://github.com/coleedo/openemr repository])
:[http://sourceforge.net/users/coleedo coleedo] ([http://github.com/coleedo/openemr repository])
:[http://sourceforge.net/users/bezzy Craig Bezuidenhout] (Craig at [[OpenEMR_Professional_Support#TajEmo_Enterprises|TajEmo Enterprises]]) ([https://github.com/cbezzy/openemr.git current repository]) ([http://github.com/tajemo/openemr prior repository]) ([http://sourceforge.net/users/cbezuidenhout prior user])
:[http://sourceforge.net/users/drbowen drbowen] ([http://github.com/drbowen/openemr repository])
:[http://sourceforge.net/users/drbowen drbowen] ([http://github.com/drbowen/openemr repository])
:[https://sourceforge.net/u/epsdky/profile/ epsdky] ([http://github.com/epsdky/openemr repository])
:[http://sourceforge.net/users/jansta23 Jan Jajalla] ([http://github.com/jajalla23/openemr repository])
:[http://sourceforge.net/users/jansta23 Jan Jajalla] ([http://github.com/jajalla23/openemr repository])
:[http://sourceforge.net/users/juggernautsei Juggernaut Systems Express] ([http://github.com/juggernautsei/openemr repository]) (Sherwin at [[OpenEMR_Professional_Support#Juggernaut_Systems_Express|Juggernaut Systems Express]])
:[http://sourceforge.net/users/juggernautsei Juggernaut Systems Express] ([http://github.com/juggernautsei/openemr repository]) (Sherwin at [[OpenEMR_Professional_Support#Juggernaut_Systems_Express|Juggernaut Systems Express]])
Line 86: Line 106:
:[http://sourceforge.net/users/jwallace00 jwallace00] (Jeremy at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/jwallace00/openemr repository])
:[http://sourceforge.net/users/jwallace00 jwallace00] (Jeremy at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/jwallace00/openemr repository])
:[http://sourceforge.net/users/kchapple kchapple] (Ken at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/kchapple/openemr repository])
:[http://sourceforge.net/users/kchapple kchapple] (Ken at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/kchapple/openemr repository])
:[http://sourceforge.net/users/yehster Kevin Yeh] (Kevin at IntegralEMR) ([http://github.com/yehster/openemr repository])
:[http://sourceforge.net/users/kevmccor kevmccor] ([http://github.com/kevmccor/openemr repository])
:[http://sourceforge.net/users/kevmccor kevmccor] ([http://github.com/kevmccor/openemr repository])
:[http://sourceforge.net/users/larrylart larrylart]
:[http://sourceforge.net/users/larrylart larrylart]
:[http://sourceforge.net/users/lcmaas3 lcmaas3] ([http://github.com/lcmaas/openemr repository]) (Luis at EMR Direct)
:[http://sourceforge.net/users/lcmaas3 lcmaas3] ([http://github.com/lcmaas/openemr repository]) (Luis at EMR Direct)
:[http://sourceforge.net/users/markleeds markleeds]
:[http://sourceforge.net/users/markleeds markleeds]
:[https://github.com/MatthewVita Matthew Vita] ([https://github.com/MatthewVita/openemr repository])
:Matrix ([https://sourceforge.net/u/osverdlov/profile/ Oleg Sverdlov], [https://sourceforge.net/u/sharonco/profile/ Sharon Cohen], and [https://sourceforge.net/u/amielel/profile/ Amiel Elboim] at Matrix) ([https://github.com/matrix-israel/openemr.git repository])
:[http://sourceforge.net/users/mcaloon mcaloon] ([http://github.com/mcaloon/openemr repository])
:[http://sourceforge.net/users/mcaloon mcaloon] ([http://github.com/mcaloon/openemr repository])
:[http://sourceforge.net/users/mdsupport mdsupport] ([http://github.com/mdsupport/openemr repository])
:[http://sourceforge.net/users/mdsupport mdsupport] ([http://github.com/mdsupport/openemr repository])
Line 97: Line 120:
:Practice Provider ([https://github.com/Dev2-PracticeProvider Umer] and [https://github.com/Dev-PracticeProvider Dev-PracticeProvider] at Practice Provider) ([https://github.com/practiceprovider/openemr repository])
:Practice Provider ([https://github.com/Dev2-PracticeProvider Umer] and [https://github.com/Dev-PracticeProvider Dev-PracticeProvider] at Practice Provider) ([https://github.com/practiceprovider/openemr repository])
:[http://sourceforge.net/users/rachoac rachoac] (Aron at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/rachoac/openemr repository])
:[http://sourceforge.net/users/rachoac rachoac] (Aron at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/rachoac/openemr repository])
:[http://sourceforge.net/users/robertdown robertdown] ([http://bitbucket.org/rdown/openemr repository])
:[http://sourceforge.net/users/medfetch Ray Magauran] ([http://github.com/ophthal/openemr repository])
:rishabhemr ([http://github.com/rishabhemr/openemr repository])
:[http://sourceforge.net/u/robertovasquez/profile/ Roberto Vasquez] ([http://github.com/robertogagliotta/openemr repository])
:[http://sourceforge.net/u/robertovasquez/profile/ Roberto Vasquez] ([http://github.com/robertogagliotta/openemr repository])
:rreddy70 (Ram at [[OpenEMR_Professional_Support#EnSoftek.2C_Inc|Ensoftek]]) ([http://github.com/rreddy70/openemr repository])
:rreddy70 (Ram at [[OpenEMR_Professional_Support#EnSoftek.2C_Inc|Ensoftek]]) ([http://github.com/rreddy70/openemr repository])
:[http://sourceforge.net/u/samuelelliot/profile/ Sam Likins] ([http://github.com/samlikins/openemr repository])
:[http://sourceforge.net/u/samuelelliot/profile/ Sam Likins] ([http://github.com/samlikins/openemr repository])
:[https://github.com/Wakie87 Scott Wakefield] ([http://github.com/Wakie87/openemr repository])
:[http://sourceforge.net/users/semteacher semteacher] ([http://github.com/semteacher/openemr repository])
:[http://sourceforge.net/users/semteacher semteacher] ([http://github.com/semteacher/openemr repository])
:[http://sourceforge.net/users/stephen-smith stephen-smith] ([http://github.com/stephen-smith/openemr repository])
:[http://sourceforge.net/users/stephen-smith stephen-smith] ([http://github.com/stephen-smith/openemr repository])
Line 106: Line 131:
:[http://sourceforge.net/users/tekknogenius tekknogenius]
:[http://sourceforge.net/users/tekknogenius tekknogenius]
:[http://sourceforge.net/users/teryhill Terry Hill] ([http://github.com/teryhill/openemr repository])
:[http://sourceforge.net/users/teryhill Terry Hill] ([http://github.com/teryhill/openemr repository])
:[http://sourceforge.net/users/tmccormi Tony McCormick] (Tony at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/tmccormi/openemr repository])
:[http://sourceforge.net/users/visolveemr visolveemr] (Ranjith at [[OpenEMR Professional Support#ViSolve|Visolve]]) ([http://github.com/visolve-openemr/openemr repository])
:[http://sourceforge.net/users/visolveemr visolveemr] (Ranjith at [[OpenEMR Professional Support#ViSolve|Visolve]]) ([http://github.com/visolve-openemr/openemr repository])
:[http://sourceforge.net/users/visolve-selvi visolve-selvi] (Selvi at [[OpenEMR Professional Support#ViSolve|Visolve]]) ([http://github.com/visolve-selvi/openemr repository1]) ([http://github.com/devi-visolve/openemr repository2])
:[http://sourceforge.net/users/visolve-selvi visolve-selvi] (Selvi at [[OpenEMR Professional Support#ViSolve|Visolve]]) ([http://github.com/visolve-selvi/openemr repository1]) ([http://github.com/devi-visolve/openemr repository2])
:[http://sourceforge.net/users/wakie87 wakie87] ([http://github.com/Wakie87/openemr repository])
:[http://sourceforge.net/users/whimmel whimmel] ([http://github.com/whimmel/openemr repository])
:[http://sourceforge.net/users/whimmel whimmel] ([http://github.com/whimmel/openemr repository])
:[http://sourceforge.net/users/zhhealthcare zhhealthcare] (Paul, Jacob, Sam, Ajil, Vinish, Eldho and Teny at [[OpenEMR Professional Support#Z.26H_Healthcare_Solutions.2C_LLC.|Z&H Healthcare Solutions]]) ([http://github.com/zhhealthcare/openemr repository])
:[http://sourceforge.net/users/zhhealthcare zhhealthcare] (Paul, Jacob, Sam, Ajil, Vinish, Eldho and Teny at [[OpenEMR Professional Support#Z.26H_Healthcare_Solutions.2C_LLC.|Z&H Healthcare Solutions]]) ([http://github.com/zhhealthcare/openemr repository])
Line 114: Line 139:
===Standard Developers===
===Standard Developers===
:[https://sourceforge.net/u/aaricpittman/profile/ Aaric Pittman] ([http://github.com/aaricpittman/openemr repository])
:[https://sourceforge.net/u/aaricpittman/profile/ Aaric Pittman] ([http://github.com/aaricpittman/openemr repository])
:[https://github.com/AppChecker AppChecker] ([https://github.com/AppChecker/openemr repository])
:[http://sourceforge.net/users/aaversa aaversa] (Aric at [[OpenEMR_Professional_Support#Health_Care_Technologies|Health Care Technologies]])
:[http://sourceforge.net/users/aaversa aaversa] (Aric at [[OpenEMR_Professional_Support#Health_Care_Technologies|Health Care Technologies]])
:[http://sourceforge.net/users/ajperezcrespo ajperezcrespo] ([http://github.com/md-tech/openemr repository]) (Alfonso at [[OpenEMR_Professional_Support#MD-Technologies_Inc.|MD-Technologies]])
:[http://sourceforge.net/users/ajperezcrespo ajperezcrespo] ([http://github.com/md-tech/openemr repository]) (Alfonso at [[OpenEMR_Professional_Support#MD-Technologies_Inc.|MD-Technologies]])
Line 126: Line 152:
:[http://sourceforge.net/users/dlee5400 dlee5400]
:[http://sourceforge.net/users/dlee5400 dlee5400]
:[http://sourceforge.net/users/dwr1975 dwr1975] ([http://github.com/dwr1975/openemr repository])
:[http://sourceforge.net/users/dwr1975 dwr1975] ([http://github.com/dwr1975/openemr repository])
:[https://sourceforge.net/u/epsdky/profile/ epsdky] ([http://github.com/epsdky/openemr repository])
:FikriFadzil ([http://github.com/FikriFadzil/openemr repository])
:FikriFadzil ([http://github.com/FikriFadzil/openemr repository])
:[http://sourceforge.net/users/fndtn357 fndtn357] ([http://github.com/fndtn357/openemr repository])
:[http://sourceforge.net/users/fndtn357 fndtn357] ([http://github.com/fndtn357/openemr repository])
Line 138: Line 163:
:[http://sourceforge.net/users/jnewlin71 James Newlin] ([http://github.com/jnewlin71/openemr repository])
:[http://sourceforge.net/users/jnewlin71 James Newlin] ([http://github.com/jnewlin71/openemr repository])
:[http://sourceforge.net/users/jason0 jason0] (Jason at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/jason0/openemr repository])
:[http://sourceforge.net/users/jason0 jason0] (Jason at [[OpenEMR Professional Support#Medical_Information_Integration.2C_LLC_-_MI2|Medical Information Integration]]) ([http://github.com/jason0/openemr repository])
:[https://sourceforge.net/u/sjpadgett/profile/ Jerry Padgett] ([http://github.com/sjpadgett/openemr repository])
:[http://sourceforge.net/users/jjwjj jjwjj]
:[http://sourceforge.net/users/jjwjj jjwjj]
:[http://sourceforge.net/users/jyo2013 Jyotsna] ([http://github.com/jyotsnan/openemr repository])
:[http://sourceforge.net/users/jyo2013 Jyotsna] ([http://github.com/jyotsnan/openemr repository])
Line 150: Line 174:
:[http://sourceforge.net/users/produnis produnis] ([http://github.com/produnis/openemr repository])
:[http://sourceforge.net/users/produnis produnis] ([http://github.com/produnis/openemr repository])
:[http://sourceforge.net/users/quartarian quartarian] ([http://github.com/quartarian/openemr repository])
:[http://sourceforge.net/users/quartarian quartarian] ([http://github.com/quartarian/openemr repository])
:[http://sourceforge.net/users/medfetch Ray Magauran] ([http://github.com/ophthal/openemr repository])
:[http://sourceforge.net/users/richsiy richsiy] ([http://github.com/richsiy/openemr repository])
:[http://sourceforge.net/users/richsiy richsiy] ([http://github.com/richsiy/openemr repository])
:[http://sourceforge.net/users/ritwikg RitwikG] ([http://github.com/RitwikGupta/openemr repository])
:[http://sourceforge.net/users/ritwikg RitwikG] ([http://github.com/RitwikGupta/openemr repository])
Line 160: Line 183:
:[http://sourceforge.net/users/skaryshev skaryshev] ([http://github.com/skaryshev/openemr repository])
:[http://sourceforge.net/users/skaryshev skaryshev] ([http://github.com/skaryshev/openemr repository])
:[http://sourceforge.net/users/sprdad sprdad] ([http://github.com/sprdad/openemr repository])
:[http://sourceforge.net/users/sprdad sprdad] ([http://github.com/sprdad/openemr repository])
:sukhjeet81 ([https://github.com/sukhjeet81/openemr.git repository])
:[http://sourceforge.net/users/teddziuba teddziuba] ([http://github.com/teddziuba/openemr repository])
:[http://sourceforge.net/users/teddziuba teddziuba] ([http://github.com/teddziuba/openemr repository])
:[http://sourceforge.net/users/tudorpopa Tudor Popa] ([http://github.com/dragon76n/openemr repository])
:[http://sourceforge.net/users/tudorpopa Tudor Popa] ([http://github.com/dragon76n/openemr repository])
Line 165: Line 189:
:[http://sourceforge.net/users/vikrasharma vikrasharma] ([http://github.com/vikrasharma/openemr repository])
:[http://sourceforge.net/users/vikrasharma vikrasharma] ([http://github.com/vikrasharma/openemr repository])
:[http://sourceforge.net/users/weesnerkim weesnerkim] ([http://github.com/weesnerkim/openemr repository])
:[http://sourceforge.net/users/weesnerkim weesnerkim] ([http://github.com/weesnerkim/openemr repository])
:[http://sourceforge.net/users/yisraelk Yisrael] ([http://github.com/yisraelk/openemr repository])
:[http://sourceforge.net/users/yisraelk Yisrael] ([http://github.com/yisraelk/openemr repository])
:[http://sourceforge.net/users/ytiddo ytiddo]
:[http://sourceforge.net/users/ytiddo ytiddo]
:[http://sourceforge.net/users/?user_id=3384972 zaalt] ([http://github.com/drzaal/openemr repository])
:[http://sourceforge.net/users/?user_id=3384972 zaalt] ([http://github.com/drzaal/openemr repository])

Latest revision as of 07:44, 9 January 2024

Workflow.png

Overview

Our main official repository is kept on github. We migrated from cvs to git on 10/30/2010, which is described on the git migration wiki page. We then migrated the repository from sourceforge to GitHub on 8/31/2016. Our GitHub repository also has several official mirrors, which are described below. The proper way for individual developers to set up their personal git repository is described on the git for OpenEMR tutorial wiki page. To avoid breaking the main GitHub git repository, we are using the following git repository structure, work flow and development structure:

Official git Main Repository

GitHub

Official git Repository Mirrors

Sourceforge

bitbucket

assembla

codeplex

  • repository link: https://git01.codeplex.com/openemr
  • web page link: http://openemr.codeplex.com/
  • mirrors from GitHub repository every 30 minutes via an external script

repo.or.cz

Experimental Repository Mirrors

launchpad

This is actually a Bazaar repository, which the Launchpad site automatically converts from git. Due to technical limitations (they plan to fix this), it is only able to mirror the master branch.

Developer roles and work flow

Administrators

  • These folks have access to all the project tools and codebase repositories.

Integration Developers

  • These are the only developers with commit access to the GitHub repository.
  • They have demonstrated common sense and proficiency in git and OpenEMR development.
  • They are responsible for committing their own code.
  • They are willing to commit the code of the "Privileged Developers" (when requested).
  • Standardized methods to commit to the GitHub repository have been documented in the 'Advanced Usage' section of the git for OpenEMR tutorial wiki page . Rather than pull in the entire remote branch of somebody else's code, recommend pulling in each commit via the 'cherry-pick' command (this is specifically documented on the git for OpenEMR tutorial wiki page).

Privileged Developers

  • These are developers that have demonstrated common sense and proficiency in OpenEMR development.
  • They do not have commit access to the GitHub repository.
  • Their code will be directly committed to the GitHub repository upon request to an "Integration Developer" in the Developer forum. (will be committed within 48 hours). To clarify, this is for code that is ready to be committed; ie. do not request commits of code that might need further review.

Standard Developers

  • Standard developers whom have or are in process of submitting code.
  • They do not have commit access to the GitHub repository.
  • Their code needs to be reviewed before committing to the GitHub repository.
  • Best way to do this is to submit code via a public git branch. (instructions on how to do this can be found on this wiki page). If this is done correctly, then it only takes an "Integration Developers" several minutes to commit your code to the GitHub repository if deemed acceptable by the community review.

Developers

(Only github(or sourceforge) account name, company association, and link to their public repository are shown.)
(Ideally, each developer should have their own public repository.)
(Names are alphabetically ordered)

Administrators

Andres Paglayan(2005-2009)
James Perry(2005-2009)
Walt Pennington(2005-2009)
Matthew Vita(2017 - 2020)
Rod Roark (2005 - current)
Brady Miller (2009 - current)
Robert Down (2017 - current)
Jerry Padgett (2019 - current)
Stephen Waite (2020 - current)
Stephen Nielson (2022 - current)
Asher Densmore-Lynn (2024 - current)

Integration Developers

Brady Miller (repository)
Jerry Padgett (repository)
Robert Down (repository)
Rod Roark (Rod at Sunset Systems) (repository)
Stephen Nielson (repository)
Stephen Waite (repository)
Asher Densmore-Lynn

Privileged Developers

acmoore (repository)
andres_paglayan
anilnakkani (repository) (Anil at Ensoftek)
apmuthu (repository)
Arnab Naha (repository)
CapMinds (repository1)(repository2) (Naina and Dinesh at CapMinds Technologies)
cfapress
coleedo (repository)
Craig Bezuidenhout (Craig at TajEmo Enterprises) (current repository) (prior repository) (prior user)
drbowen (repository)
epsdky (repository)
Jan Jajalla (repository)
Juggernaut Systems Express (repository) (Sherwin at Juggernaut Systems Express)
julialongtin (Julia at ZoneOne) (repository)
jwallace00 (Jeremy at Medical Information Integration) (repository)
kchapple (Ken at Medical Information Integration) (repository)
Kevin Yeh (Kevin at IntegralEMR) (repository)
kevmccor (repository)
larrylart
lcmaas3 (repository) (Luis at EMR Direct)
markleeds
Matthew Vita (repository)
Matrix (Oleg Sverdlov, Sharon Cohen, and Amiel Elboim at Matrix) (repository)
mcaloon (repository)
mdsupport (repository)
medmasterpro (repository)
michaelf5 (Michael at Garden State Health Systems) (repository)
mmfsystems (repository)
Practice Provider (Umer and Dev-PracticeProvider at Practice Provider) (repository)
rachoac (Aron at Medical Information Integration) (repository)
Ray Magauran (repository)
rishabhemr (repository)
Roberto Vasquez (repository)
rreddy70 (Ram at Ensoftek) (repository)
Sam Likins (repository)
Scott Wakefield (repository)
semteacher (repository)
stephen-smith (repository)
Stephen Waite (repository)
tekknogenius
Terry Hill (repository)
Tony McCormick (Tony at Medical Information Integration) (repository)
visolveemr (Ranjith at Visolve) (repository)
visolve-selvi (Selvi at Visolve) (repository1) (repository2)
whimmel (repository)
zhhealthcare (Paul, Jacob, Sam, Ajil, Vinish, Eldho and Teny at Z&H Healthcare Solutions) (repository)

Standard Developers

Aaric Pittman (repository)
AppChecker (repository)
aaversa (Aric at Health Care Technologies)
ajperezcrespo (repository) (Alfonso at MD-Technologies)
Art Eaton (repository)
blankev (repository)
bo2999
clucena (repository)
corburn (repository)
cornfeed (repository)
Daniel Pflieger (Daniel at Medical Information Integration) (repository)
derekbrownjr (repository)
dlee5400
dwr1975 (repository)
FikriFadzil (repository)
fndtn357 (repository)
fsgl
garcianc (repository)
geovasilakos
hielkema (repository)
hrivera787
iankarlwallace (repository)
ideaman911
James Newlin (repository)
jason0 (Jason at Medical Information Integration) (repository)
jjwjj
Jyotsna (repository)
kjs3250
Kyle Nave (repository)
lucian0308 (repository)
meditcare
Paul Williams (repository)
penguin8r
pithonsoft (repository)
produnis (repository)
quartarian (repository)
richsiy (repository)
RitwikG (repository)
rmoshiri (repository)
rnagul
Rosion (repository)
rpl121 (repository)
sahilsinha (repository)
skaryshev (repository)
sprdad (repository)
sukhjeet81 (repository)
teddziuba (repository)
Tudor Popa (repository)
tvgm2 (repository)
vikrasharma (repository)
weesnerkim (repository)
Yisrael (repository)
ytiddo
zaalt (repository)
(All other developers not mentioned also fall into this category)