How to become a BlueSpice hacker

Revision as of 11:55, 2 February 2024 by Margit Link-Rodrigue (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

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 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

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

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

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

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

Translations are needed all the time. Please contact the community of 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 (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

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://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).

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



To submit feedback about this documentation, visit our community forum.