Difference between revisions of "How to become a BlueSpice hacker"
m (typo again) (Tag: 2017 source edit) |
This article is written to help novice developers learn the skills needed to contribute to BlueSpice development.
Why should you contribute?
When you are actively involved in a project you get the opportunity to shape its future. Changes are caused by actions. You will certainly receive a big "thank you" and you will be publicly credited related to your work. Even more, you are helping a lot of users who will thank you quietly or loudly.
Contents
Join in[edit | edit source]
Like in every other project there are lots of possibilities to participate. Here a few examples of what you could do in the BlueSpice project.
Improving the code quality[edit | edit source]
- Doc blocs: Write with us documenting blocs in the source code. This helps us to complete the code and check for discrepancies. More about the MediaWiki DocBlocks at wikimedia.
- Coding conventions: Help to enforce coding conventions. We use the Coding Conventions of MediaWiki.
- Security: has high priority. Please help to improve it. Therefore you should have a look at Security for developers.
Bugfixes[edit | edit source]
Look for minor and major bugs. And if you already programmed the solution, well, all the better!
Here you can find some help on debugging in MediaWiki
Code Review[edit | edit source]
Help us to review code contributions. Therefore you have to be familiar with gerrit. Find more information at "setting up a development environment" und "committing changes".
Small addition[edit | edit source]
A lot of the existing extensions want to be developed and provide opportunities to extend the functionality. What we have in mind:
Dashboard Widgets, Statics, Sidebar, Widgets, etc.
Own extensions[edit | edit source]
Of course you can develop your own BlueSpice extensions. Please follow the MediaWiki workflow. You will find a good tutorial on MediaWiki pages like this one MediaWiki developing extensions MediaWiki. These notes should also be consulted for developing BlueSpice. Please create a separate repository in gerrit that is named like this:
mediawiki/skins/BlueSpiceYourExtension
Translations[edit | edit source]
Translations are needed all the time. Please contact the community of translatewiki.net.
This is how it works[edit | edit source]
Commit changes[edit | edit source]
There are two possibilities to supply patches.
1. Mail to Hallo Welt!
Send an e-mail with your patch in (git format-patch) to support@hallowelt.bizcom. We will commit the change for you in git where it has to go through a standardized process.
2. Actively participating via Git
We follow the procedure that is also common in the MediaWiki developer community:
- Get a developer account for MediaWiki
- Install git-review
- check out the BlueSpice code
- Commit your changes
- Changes are verified in gerrit
- When everything is ok, your changes will be accepted
On MediaWiki.org you will find a short and a extended tutorial.
The BlueSpice code can be found in these repositories:
mediawiki/extensions/BlueSpiceFoundation.git mediawiki/extensions/BlueSpiceExtensions.git mediawiki/skins/BlueSpiceSkin.git
and this is how you check out:
git clone ssh://@gerritUSERNAME@gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceFoundation.git
In the repositories of BlueSpice it is necessary to have the "+2" or "Merge" permission before you can commit code to the product by yourself. Please ask Markus Glaser if you feel you need this kind of access (glaser@hallowelt.biz).
If you want to write own extensions for BlueSpice please ask for an own repository here. Please follow the naming convention.
mediawiki/extensions/BlueSpiceMyWidget.git
See also[edit | edit source]
This article is written to help novice developers learn the skills needed to contribute to BlueSpice development. '''Why should you contribute?'''<br /> When you are actively involved in a project you get the opportunity to shape its future. Changes are caused by actions. You will certainly receive a big "thank you" and you will be publicly credited related to your work. Even more, you are helping a lot of users who will thank you quietly or loudly. ==Join in== Like in every other project there are lots of possibilities to participate. Here a few examples of what you could do in the BlueSpice project. ===Improving the code quality=== * *Doc blocs: Write with us documenting blocs in the source code. This helps us to complete the code and check for discrepancies. More about the [http://meta.wikimedia.org/wiki/PhpDoc MediaWiki DocBlocks] at wikimedia. * Coding conventions: Help to enforce coding conventions. We use the [http://www.mediawiki.org/wiki/Manual:Coding_conventions Coding Conventions of MediaWiki]. * Security: has high priority. Please help to improve it. Therefore you should have a look at [http://www.mediawiki.org/wiki/Security_for_developers Security for developers]. ===Bugfixes=== Look for minor and major bugs. And if you already programmed the solution, well, all the better!<br /> Here you can find some help on [http://www.mediawiki.org/wiki/Manual:How_to_debug debugging in MediaWiki] ===Code Review=== Help us to review code contributions. Therefore you have to be familiar with gerrit. Find more information at "setting up a development environment" und "committing changes". * [http://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/extensions/BlueSpiceExtensions,n,z BlueSpice Extensions] * [http://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/extensions/BlueSpiceFoundation,n,z BlueSpice Fundation] * [http://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/skins/BlueSpiceSkins,n,z BlueSpice Skin] ===Small addition=== A lot of the existing extensions want to be developed and provide opportunities to extend the functionality. What we have in mind:<br /> Dashboard Widgets, Statics, Sidebar, Widgets, etc. ===Own extensions=== Of course you can develop your own BlueSpice extensions. Please follow the MediaWiki workflow. You will find a good tutorial on MediaWiki pages like this one [http://www.mediawiki.org/wiki/Manual:Developing_extensions MediaWiki developing extensions MediaWiki]. These notes should also be consulted for developing BlueSpice. Please create a separate repository in gerrit that is named like this: <pre>mediawiki/skins/BlueSpiceYourExtension</pre> ===Translations=== Translations are needed all the time. Please contact the community of [https://translatewiki.net translatewiki.net]. ==This is how it works== ===Commit changes=== There are two possibilities to supply patches. '''1. Mail to Hallo Welt'''! Send an e-mail with your patch in ([https://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html git format-patch]) to support@hallowelt.bizcom. We will commit the change for you in git where it has to go through a standardized process. '''2. Actively participating via Git''' We follow the procedure that is also common in the MediaWiki developer community: * Get a developer account for MediaWiki * Install git-review * check out the BlueSpice code * Commit your changes * Changes are verified in gerrit * When everything is ok, your changes will be accepted On MediaWiki.org you will find a [http://www.mediawiki.org/wiki/Gerrit/Getting_started short] and a [http://www.mediawiki.org/wiki/Gerrit/Tutorial extended] tutorial. The BlueSpice code can be found in these repositories: mediawiki/extensions/BlueSpiceFoundation.git mediawiki/extensions/BlueSpiceExtensions.git mediawiki/skins/BlueSpiceSkin.git and this is how you check out: git clone ssh://@gerritUSERNAME@gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceFoundation.git In the repositories of BlueSpice it is necessary to have the "+2" or "Merge" permission before you can commit code to the product by yourself. Please ask Markus Glaser if you feel you need this kind of access (glaser@hallowelt.biz). If you want to write own extensions for BlueSpice please ask for an own repository [https://www.mediawiki.org/wiki/Gerrit/New_repositories#Step_3:_Request_space_for_your_extension here]. Please follow the naming convention. mediawiki/extensions/BlueSpiceMyWidget.git ==See also== * *https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker [[en:{{FULLPAGENAME}}]] [[de:Wie Werde Ich ein BlueSpice Hacker]]
(2 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
===Improving the code quality=== | ===Improving the code quality=== | ||
− | * Doc blocs: Write with us documenting blocs in the source code. This helps us to complete the code and check for discrepancies. More about the [http://meta.wikimedia.org/wiki/PhpDoc MediaWiki DocBlocks] at wikimedia. | + | |
− | * Coding conventions: Help to enforce coding conventions. We use the [http://www.mediawiki.org/wiki/Manual:Coding_conventions Coding Conventions of MediaWiki]. | + | *Doc blocs: Write with us documenting blocs in the source code. This helps us to complete the code and check for discrepancies. More about the [http://meta.wikimedia.org/wiki/PhpDoc MediaWiki DocBlocks] at wikimedia. |
− | * Security: has high priority. Please help to improve it. Therefore you should have a look at [http://www.mediawiki.org/wiki/Security_for_developers Security for developers]. | + | *Coding conventions: Help to enforce coding conventions. We use the [http://www.mediawiki.org/wiki/Manual:Coding_conventions Coding Conventions of MediaWiki]. |
+ | *Security: has high priority. Please help to improve it. Therefore you should have a look at [http://www.mediawiki.org/wiki/Security_for_developers Security for developers]. | ||
===Bugfixes=== | ===Bugfixes=== | ||
Line 19: | Line 20: | ||
Help us to review code contributions. Therefore you have to be familiar with gerrit. Find more information at "setting up a development environment" und "committing changes". | Help us to review code contributions. Therefore you have to be familiar with gerrit. Find more information at "setting up a development environment" und "committing changes". | ||
− | * [http://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/extensions/BlueSpiceExtensions,n,z BlueSpice Extensions] | + | *[http://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/extensions/BlueSpiceExtensions,n,z BlueSpice Extensions] |
− | * [http://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/extensions/BlueSpiceFoundation,n,z BlueSpice Fundation] | + | *[http://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/extensions/BlueSpiceFoundation,n,z BlueSpice Fundation] |
− | * [http://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/skins/BlueSpiceSkins,n,z BlueSpice Skin] | + | *[http://gerrit.wikimedia.org/r/#/q/status:open+project:mediawiki/skins/BlueSpiceSkins,n,z BlueSpice Skin] |
===Small addition=== | ===Small addition=== | ||
Line 42: | Line 43: | ||
'''1. Mail to Hallo Welt'''! | '''1. Mail to Hallo Welt'''! | ||
− | Send an e-mail with your patch in ([https://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html git format-patch]) to support@hallowelt. | + | Send an e-mail with your patch in ([https://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html git format-patch]) to support@hallowelt.com. We will commit the change for you in git where it has to go through a standardized process. |
'''2. Actively participating via Git''' | '''2. Actively participating via Git''' | ||
Line 48: | Line 49: | ||
We follow the procedure that is also common in the MediaWiki developer community: | We follow the procedure that is also common in the MediaWiki developer community: | ||
− | * Get a developer account for MediaWiki | + | *Get a developer account for MediaWiki |
− | * Install git-review | + | *Install git-review |
− | * check out the BlueSpice code | + | *check out the BlueSpice code |
− | * Commit your changes | + | *Commit your changes |
− | * Changes are verified in gerrit | + | *Changes are verified in gerrit |
− | * When everything is ok, your changes will be accepted | + | *When everything is ok, your changes will be accepted |
On MediaWiki.org you will find a [http://www.mediawiki.org/wiki/Gerrit/Getting_started short] and a [http://www.mediawiki.org/wiki/Gerrit/Tutorial extended] tutorial. | On MediaWiki.org you will find a [http://www.mediawiki.org/wiki/Gerrit/Getting_started short] and a [http://www.mediawiki.org/wiki/Gerrit/Tutorial extended] tutorial. | ||
Line 65: | Line 66: | ||
and this is how you check out: | and this is how you check out: | ||
− | git clone ssh://@gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceFoundation.git | + | git clone ssh://USERNAME@gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceFoundation.git |
In the repositories of BlueSpice it is necessary to have the "+2" or "Merge" permission before you can commit code to the product by yourself. Please ask Markus Glaser if you feel you need this kind of access (glaser@hallowelt.biz). | In the repositories of BlueSpice it is necessary to have the "+2" or "Merge" permission before you can commit code to the product by yourself. Please ask Markus Glaser if you feel you need this kind of access (glaser@hallowelt.biz). | ||
Line 74: | Line 75: | ||
==See also== | ==See also== | ||
− | * https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker | + | |
− | [[en:{{FULLPAGENAME}}]][[de:Wie Werde Ich ein BlueSpice Hacker]] | + | *https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker |
+ | |||
+ | [[en:{{FULLPAGENAME}}]] | ||
+ | [[de:Wie Werde Ich ein BlueSpice Hacker]] |