Difference between revisions of "How to become a BlueSpice hacker"

m (typo)
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.

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.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://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.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 [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]]
Line 66: 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).

Attachments

Discussions