|
Line 0
Link Here
|
| 0 |
- |
1 |
=encoding utf8 |
|
|
2 |
|
| 3 |
=head1 Koha::Contributing |
| 4 |
|
| 5 |
The Koha Guide to the contributing to the worlds greatest open source library management system |
| 6 |
|
| 7 |
=head1 Basics |
| 8 |
|
| 9 |
=head2 Learning Perl |
| 10 |
|
| 11 |
If you are new to Perl, we recommend L<Learn Perl in 2 hours 30 minutes|https://qntm.org/perl_en> for a quick |
| 12 |
introduction, or the L<Modern Perl book|https://pragprog.com/book/swperl/modern-perl-fourth-edition>, freely available |
| 13 |
in many formats. Both are excellent introductions to the language. For more books and documentation, check out |
| 14 |
L<learn.perl.org|https://learn.perl.org/>. |
| 15 |
|
| 16 |
=head2 Learning Web Technologies |
| 17 |
|
| 18 |
All web development starts with HTML, CSS and JavaScript, to learn the basics we recommend the L<Mozilla Developer |
| 19 |
Network|https://developer.mozilla.org/en-US/docs/Web>. And if you want to know more about how browsers and web servers |
| 20 |
actually communicate, there's also a very nice introduction to |
| 21 |
L<HTTP|https://developer.mozilla.org/en-US/docs/Web/HTTP>. |
| 22 |
|
| 23 |
=head1 DON'T PANIC! |
| 24 |
|
| 25 |
The L<Koha Community|https://koha-community.org> are a friendly group and always welcoming to new contributors. |
| 26 |
|
| 27 |
=head1 CONVENTIONS |
| 28 |
|
| 29 |
=head2 Modern Perl |
| 30 |
|
| 31 |
L<Koha> uses L<Modern::Perl> exclusively, and therefore all documentation assumes that L<strict>, L<warnings>, L<utf8> |
| 32 |
and Perl 5.16 L<features|feature> are enabled, even if examples don't specifically mention it. |
| 33 |
|
| 34 |
use Modern::Perl; |
| 35 |
|
| 36 |
=head2 Coding guidelines |
| 37 |
|
| 38 |
The L<Koha community|https://koha-community.org> has a set of agreed L<coding guidlines|https://wiki.koha-community.org/wiki/Coding_Guidelines> |
| 39 |
that should be adhered to when submitting code to the project. |
| 40 |
|
| 41 |
=head1 MODULES |
| 42 |
|
| 43 |
This is the class hierarchy of the L<Koha> ILS. |
| 44 |
|
| 45 |
=over 2 |
| 46 |
|
| 47 |
=item * Koha |
| 48 |
|
| 49 |
The Koha namespace contains object oriented koha code that adheres to our guidelines. All new modules should be submitted here. |
| 50 |
|
| 51 |
=item * C4 |
| 52 |
|
| 53 |
The C4 namespace contains our legacy modules, they are a mix of coding styles and a lot of the code here predates out current coding guidelines. |
| 54 |
|
| 55 |
Modifications should be made spareingly here. |
| 56 |
|
| 57 |
=item * L<Koha::Object> |
| 58 |
|
| 59 |
=item * L<Koha::Objects> |
| 60 |
|
| 61 |
=back |
| 62 |
|
| 63 |
=head1 MORE |
| 64 |
|
| 65 |
A lot more documentation and examples by many different authors can be found in the L<Koha |
| 66 |
wiki|https://wiki.koha-community.org>. |
| 67 |
|
| 68 |
=head1 SUPPORT |
| 69 |
|
| 70 |
If you have any questions the documentation might not yet answer, don't hesitate to ask on |
| 71 |
L<Matrix|https://app.element.io/#/room/#koha-community:matrix.org>. |
| 72 |
|
| 73 |
=cut |