Bijdragen aan EekBoek: verschil tussen versies
(Aanvulling op unidiff formaat) |
k (Toevoeging release conventions voor ontwikkelaars en testers) |
||
(10 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 1: | Regel 1: | ||
U kunt uw eigen ervaringen delen met de andere gebruikers door handige tips en technieken op [[Algemene informatie|deze wiki]] te plaatsen. | U kunt uw eigen ervaringen delen met de andere gebruikers door handige tips en technieken op [[Algemene informatie|deze wiki]] te plaatsen. | ||
Laat weten wat u van EekBoek vindt, onder het motto “niet tevreden, zeg het ons -- wel tevreden, zeg het anderen”. | Laat weten wat u van EekBoek vindt, onder het motto “niet tevreden, zeg het ons -- wel tevreden, zeg het anderen”. | ||
Regel 13: | Regel 7: | ||
==Aanpassingen en uitbreidingen aan de programma's== | ==Aanpassingen en uitbreidingen aan de programma's== | ||
EekBoek is een open source programma. De EekBoek-licentie is [http://nl.wikipedia.org/wiki/GNU_General_Public_License GPL], wat er in het kort op neer komt dat de broncode volledig vrij is en u er mee kan doen wat u zelf wilt, zolang u niemand anders belemmert om hetzelfde te doen wat u heeft gedaan. | |||
EekBoek | EekBoek wordt ontwikkeld op git, een gedistribueerd version control systeem. U kunt een lokale kopie maken van de repository met het volgende commando: | ||
git clone git://eekboek.git.sourceforge.net/gitroot/eekboek/eekboek | |||
Hiervoor moet git geinstalleerd zijn. Kijk voor meer informatie op [[GitRepository]]. | |||
Gevonden problemen en gewenste uitbreidingen kunt u aanmelden bij de [https://sourceforge.net/tracker/?group_id=154512 trackers] zodat we allemaal weten wat er speelt. Gebruik de [https://sourceforge.net/mailarchive/forum.php?forum_name=eekboek-devel eekboek-devel mailing list] (niet eekboek-users) om deze te bespreken. | Als u zelf aanpassingen heeft gemaakt is het natuurlijk fijn om deze ook weer terug te geven aan de EekBoek community, want dan kunnen anderen er ook van profiteren: | ||
* Gevonden problemen en gewenste uitbreidingen kunt u aanmelden bij de [https://sourceforge.net/tracker/?group_id=154512 trackers], zodat we allemaal weten wat er speelt. | |||
* Gebruikstips en workarounds kunnen het beste worden geplaatst op [[Gebruikstips]]. | |||
* Gebruik de [https://sourceforge.net/mailarchive/forum.php?forum_name=eekboek-devel eekboek-devel mailing list] (niet eekboek-users) om deze te bespreken. | |||
Voor het aanleveren van patches gelieve het volgende in acht te nemen: | Voor het aanleveren van patches gelieve het volgende in acht te nemen: | ||
* 'unidiff' is het geprefereerde formaat, kortweg gezegd: +/- is goed, >/< is slecht; | * 'unidiff' is het geprefereerde formaat, kortweg gezegd: +/- is goed, >/< is slecht; in de shell is dit "diff -c file_old file_new" of "diff -u file_old file_new" | ||
* geef aan op welke versie de patch is gebaseerd | * geef aan op welke versie van EekBoek de patch is gebaseerd | ||
* geef een korte beschrijving van wat de patch doet of welk probleem (tracker nummer) de patch oplost | * geef een korte beschrijving van wat de patch doet of welk probleem (tracker nummer) de patch oplost | ||
Indien mogelijk patches graag vergezellen van een test case. In de t/ directory van de EekBoek source kit zit een aantal tests als voorbeeld en ter inspiratie. | Indien mogelijk patches graag laten vergezellen van een test case. In de t/ directory van de EekBoek source kit zit een aantal tests als voorbeeld en ter inspiratie. | ||
Omdat veel aspecten van een boekhoudkundig proces moeilijk te vangen zijn in simpele test cases | Omdat veel aspecten van een boekhoudkundig proces moeilijk te vangen zijn in simpele test cases, zijn losse tests niet altijd mogelijk. De geïntegreerde functionaliteit wordt getest in de ivp (installatie-verificatie procedure) tests. Deze tests kunnen dan worden uitgebreid om ook de nieuwe functionaliteit mee te nemen. Kijk voor meer informatie op pagina [[Testen]]. | ||
zijn losse tests niet altijd mogelijk. De geïntegreerde functionaliteit wordt getest in de | |||
ivp (installatie-verificatie procedure) tests. Deze tests kunnen dan worden uitgebreid om ook de nieuwe functionaliteit mee te nemen. | |||
==Coding conventions== | ==Coding conventions== | ||
Coding conventions zijn regels die programmeurs hanteren om de code beter leesbaar en beter onderhoudbaar te maken. | Coding conventions zijn regels die programmeurs hanteren om de code beter leesbaar en beter onderhoudbaar te maken. Deze paragraaf behandelt de coding conventions voor Eekboek. | ||
===Variables=== | |||
$data = | |||
{ %$data, | |||
author => 'Johan Vromans (jvromans@squirrel.nl)', | |||
abstract => 'Elementary Bookkeeping (for the Dutch/European market)', | |||
* Variabele namen zijn in lowercase | * Variabele namen zijn in lowercase | ||
Regel 44: | Regel 43: | ||
* De values van de key-value pairs zijn uitgelijnd | * De values van de key-value pairs zijn uitgelijnd | ||
===Functions=== | |||
sub vcopy { | |||
my (%ctrl) = @_; | |||
Voor functies, zoals de bovenstaande vcopy, gelden de volgende conventions: | Voor functies, zoals de bovenstaande vcopy, gelden de volgende conventions: | ||
Regel 51: | Regel 51: | ||
* De indent is 4 spaties | * De indent is 4 spaties | ||
===SQL=== | |||
my $sql = "SELECT * INTO TEMP TAccounts FROM Accounts WHERE acc_id = 0"; | |||
Voor SQL code dienen de reserved words, zoals SELECT, UPDATE, DELETE, FROM, WHERE, GROUP BY, ORDER BY etc, in uppercase te staan. | Voor SQL code dienen de reserved words, zoals SELECT, UPDATE, DELETE, FROM, WHERE, GROUP BY, ORDER BY etc, in uppercase te staan. | ||
==Release conventies== | |||
De release nummering van eekboek is conform het volgende formaat: x.y.z, waarbij: | |||
* x: major releases bestaande uit belangrijke nieuwe of gewijzigde functionaliteit | |||
* y: minor releases bestaande uit nieuwe of gewijzigde functionaliteit, welke niet tot de hoofd functionaliteit behoort; indien het minor release nummer kleiner is dan 10, dan wordt er een voorloopnul gebruikt. | |||
* z: bug release; indien het bug release nummer kleiner is dan 10, dan wordt er een voorloopnul gebruikt. | |||
Voor ontwikkelaars en testers: | |||
* x.even.even = release (b.v. 2.00.04) | |||
* x.oneven = ontwikkelbranch | |||
* x.oneven.even = snapshot (b.v. 2.01.06) | |||
* x.oneven.oneven = ontwikkelversies (b.v. 2.01.07) | |||
Zo is 2.01.06 is een snapshot. Als je die uit git haalt moet je expliciet de tag R02_01_06 meegeven anders krijg je de huidige ontwikkelversie (met tag R02_01_07). | |||
==Vertalingen== | |||
EekBoek is in het nederlands geschreven, dat wil zeggen dat de termen op het scherm nederlandstalig zijn. U kunt EekBoek gebruiken in een taal van uw keuze. Zo is er bijvoorbeeld al een engelstalige versie. Voor het bijdragen aan vertalingen, kijk op de pagina [[Vertalingen]]. | |||
==Testen== | |||
Tijdens de installatie van EekBoek wordt een zogenaamde installatie verificatie procedure (ivp) uitgevoerd. Hoewel deze test technisch van aard is, wordt er ook een aantal functionele zaken getest, zoals het opvoeren van boekingen en het rapporteren van balansen en resultaatrekeningen. In principe wordt voor iedere nieuwe functionaliteit een nieuwe test toegevoegd, zodat de applicatie alle bestaande en nieuwe functionaliteit correct ondersteund. | |||
Voor meer over hoe bij te dragen aan de testen van EekBoek, kijk op de pagina [[Testen]]. |
Huidige versie van 12 sep 2012 om 05:52
U kunt uw eigen ervaringen delen met de andere gebruikers door handige tips en technieken op deze wiki te plaatsen. Laat weten wat u van EekBoek vindt, onder het motto “niet tevreden, zeg het ons -- wel tevreden, zeg het anderen”.
Schema's en administratie-sjablonen
Sinds versie 2 kunnen automatisch administraties worden aangemaakt aan de hand van sjablonen. Een bibliotheekje van sjablonen waarmee startende gebruikers kunnen beginnen zou waardevol zijn. Als u een specifieke administratie heeft opgezet die wellicht ook voor anderen bruikbaar zou zijn, laat dat dan even weten op de mailing list.
Aanpassingen en uitbreidingen aan de programma's
EekBoek is een open source programma. De EekBoek-licentie is GPL, wat er in het kort op neer komt dat de broncode volledig vrij is en u er mee kan doen wat u zelf wilt, zolang u niemand anders belemmert om hetzelfde te doen wat u heeft gedaan.
EekBoek wordt ontwikkeld op git, een gedistribueerd version control systeem. U kunt een lokale kopie maken van de repository met het volgende commando:
git clone git://eekboek.git.sourceforge.net/gitroot/eekboek/eekboek
Hiervoor moet git geinstalleerd zijn. Kijk voor meer informatie op GitRepository.
Als u zelf aanpassingen heeft gemaakt is het natuurlijk fijn om deze ook weer terug te geven aan de EekBoek community, want dan kunnen anderen er ook van profiteren:
- Gevonden problemen en gewenste uitbreidingen kunt u aanmelden bij de trackers, zodat we allemaal weten wat er speelt.
- Gebruikstips en workarounds kunnen het beste worden geplaatst op Gebruikstips.
- Gebruik de eekboek-devel mailing list (niet eekboek-users) om deze te bespreken.
Voor het aanleveren van patches gelieve het volgende in acht te nemen:
- 'unidiff' is het geprefereerde formaat, kortweg gezegd: +/- is goed, >/< is slecht; in de shell is dit "diff -c file_old file_new" of "diff -u file_old file_new"
- geef aan op welke versie van EekBoek de patch is gebaseerd
- geef een korte beschrijving van wat de patch doet of welk probleem (tracker nummer) de patch oplost
Indien mogelijk patches graag laten vergezellen van een test case. In de t/ directory van de EekBoek source kit zit een aantal tests als voorbeeld en ter inspiratie.
Omdat veel aspecten van een boekhoudkundig proces moeilijk te vangen zijn in simpele test cases, zijn losse tests niet altijd mogelijk. De geïntegreerde functionaliteit wordt getest in de ivp (installatie-verificatie procedure) tests. Deze tests kunnen dan worden uitgebreid om ook de nieuwe functionaliteit mee te nemen. Kijk voor meer informatie op pagina Testen.
Coding conventions
Coding conventions zijn regels die programmeurs hanteren om de code beter leesbaar en beter onderhoudbaar te maken. Deze paragraaf behandelt de coding conventions voor Eekboek.
Variables
$data = { %$data, author => 'Johan Vromans (jvromans@squirrel.nl)', abstract => 'Elementary Bookkeeping (for the Dutch/European market)',
- Variabele namen zijn in lowercase
- Opening brace ({) van een variabele staat op de volgende regel
- Indent is twee spaties
- De values van de key-value pairs zijn uitgelijnd
Functions
sub vcopy { my (%ctrl) = @_;
Voor functies, zoals de bovenstaande vcopy, gelden de volgende conventions:
- De opening brace ({) staat op dezelfde regel als de functienaam
- De indent is 4 spaties
SQL
my $sql = "SELECT * INTO TEMP TAccounts FROM Accounts WHERE acc_id = 0";
Voor SQL code dienen de reserved words, zoals SELECT, UPDATE, DELETE, FROM, WHERE, GROUP BY, ORDER BY etc, in uppercase te staan.
Release conventies
De release nummering van eekboek is conform het volgende formaat: x.y.z, waarbij:
- x: major releases bestaande uit belangrijke nieuwe of gewijzigde functionaliteit
- y: minor releases bestaande uit nieuwe of gewijzigde functionaliteit, welke niet tot de hoofd functionaliteit behoort; indien het minor release nummer kleiner is dan 10, dan wordt er een voorloopnul gebruikt.
- z: bug release; indien het bug release nummer kleiner is dan 10, dan wordt er een voorloopnul gebruikt.
Voor ontwikkelaars en testers:
- x.even.even = release (b.v. 2.00.04)
- x.oneven = ontwikkelbranch
- x.oneven.even = snapshot (b.v. 2.01.06)
- x.oneven.oneven = ontwikkelversies (b.v. 2.01.07)
Zo is 2.01.06 is een snapshot. Als je die uit git haalt moet je expliciet de tag R02_01_06 meegeven anders krijg je de huidige ontwikkelversie (met tag R02_01_07).
Vertalingen
EekBoek is in het nederlands geschreven, dat wil zeggen dat de termen op het scherm nederlandstalig zijn. U kunt EekBoek gebruiken in een taal van uw keuze. Zo is er bijvoorbeeld al een engelstalige versie. Voor het bijdragen aan vertalingen, kijk op de pagina Vertalingen.
Testen
Tijdens de installatie van EekBoek wordt een zogenaamde installatie verificatie procedure (ivp) uitgevoerd. Hoewel deze test technisch van aard is, wordt er ook een aantal functionele zaken getest, zoals het opvoeren van boekingen en het rapporteren van balansen en resultaatrekeningen. In principe wordt voor iedere nieuwe functionaliteit een nieuwe test toegevoegd, zodat de applicatie alle bestaande en nieuwe functionaliteit correct ondersteund. Voor meer over hoe bij te dragen aan de testen van EekBoek, kijk op de pagina Testen.