Joomladagen 2014Joomladagen 2014
Bugs, patches &
fun
Peter Martin, www.db8.nl. twitter: @pe7er
Joomladagen.nl/2014 – 22+ 2...
Joomladagen 2014Joomladagen 2014
Peter Martin
● Joomla website specialist
Marketing + Communicatie
achtergrond & technisch...
Joomladagen 2014Joomladagen 2014
Overzicht Presentatie
>>> Sheets via: www.db8.nl <<<
a)Introductie
b)Bugs & Patches
c)“Mi...
Joomladagen 2014Joomladagen 2014
b) Bug & Patches
Joomladagen 2014Joomladagen 2014
Een software bug
● Fout in een computer
programma
– Onjuist of onverwacht
resultaat, of
o...
Joomladagen 2014Joomladagen 2014
Joomla bron code
index.php regel 1-30
<?php
/**
 * @package    Joomla.Site
 *
 * @copyrig...
Joomladagen 2014Joomladagen 2014
Bron code – kleine bug
index.php
require_once JPATH_BASE . '/includes/framework.php';
// ...
Joomladagen 2014Joomladagen 2014
Bron code – grote bug
index.php
// Mark afterIntialise in the profiler.
JDEBUG ? $_PROFIL...
Joomladagen 2014Joomladagen 2014
Bron code – hele grote bug
index.php
// Route the application.
$app­>route();
// Mark aft...
Joomladagen 2014Joomladagen 2014
Bron code – “zombie bug”
index.php
// Route the application.
$app­>route();
// Mark after...
Joomladagen 2014Joomladagen 2014
Bron code – “ninja bug”
index.php
// Route the application.
$app­>route();
// Mark afterR...
Joomladagen 2014Joomladagen 2014
Een software patch
● Stukje software om
probleem op te lossen
– Verhelpen van
foutmelding...
Joomladagen 2014Joomladagen 2014
Foutmeldingen & patches beheren
● Bijhouden van de gemelde
fouten in de software:
– Rappo...
Joomladagen 2014Joomladagen 2014
Joomla & Patches
● Joomla 1.5 = EOL (einde
oefening)
– Geen patches
– Geen nieuwe functie...
Joomladagen 2014Joomladagen 2014
c) “Mijn” Bug
Joomladagen 2014Joomladagen 2014
“Mijn” Bug
● 7 februari 2013,
rond 10:00 uur
● Joomla 3.0.3 testen voor
gebruik bij een k...
Joomladagen 2014Joomladagen 2014
Installatieprocedure, stap 3
Joomladagen 2014Joomladagen 2014
Het probleem aanmelden
● Niet echt een bug, wel verwarrend...
● 7 februari 2013, om 10:29...
Joomladagen 2014Joomladagen 2014
Het probleem aanmelden
Joomladagen 2014Joomladagen 2014
Werken aan een oplossing
● Lokale Joomla installatie van laatste 3.0 versie
● In Joomla's...
Joomladagen 2014Joomladagen 2014
Werken aan een oplossing
● Februari 2013: reacties van anderen,
paar opmerkingen en sugge...
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Werken aan een oplossing
Zaterdag 1 juni 2013:
Joomla Bug Squad Night
bij JandBeyond (int...
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Werken aan een oplossing
Op Joomla Bug Squad Night:
– Meest recente Joomla versie (“maste...
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Werken aan een oplossing
Zaterdag 2 juni 2013, patch “30077”
00:54 uur @test (Hans Kuijpe...
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Werken aan een oplossing
Zaterdag 2 juni 2013, patch “30077”
01:31 uur (Michael Babker)
M...
Joomladagen 2014Joomladagen 2014
Oplossing – Joomla 3.1.5
Joomladagen 2014Joomladagen 2014
“Mijn” Bug
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
d) Pizza, Bugs (& Beer) & Fun
Joomladagen 2014Joomladagen 2014
"Pizza, Bugs & Fun"
Vrijdag 12 juli 2013
– Wereldwijd georganiseerd
– Nederland → Eindhov...
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomladay Germany 2013
● Zondag 15 september 2013
Bug Squashing und Accessibility Codespr...
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomladay UK 2013
Zaterdag 5 oktober 2013
Joomla BugSquashing session
(Javier Gómez)
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomla World Conference 2013
Zaterdag 9 november 2013
Bugs, Beer & Fun
Joomladagen 2014Joomladagen 2014
e) De Bugtracker Issue Tracker
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Joomladagen 2014Joomladagen 2014
Status:
1.Open
2.Confirmed
3.Pending
4.Ready to commit
5.Fixed in SVN/GitHub
Joomladagen 2014Joomladagen 2014
BT Proces: 1. Open
● Nieuwe bug?
– Probleem te
reproduceren met Joomla
“Master Branch”?
–...
Joomladagen 2014Joomladagen 2014
BT Proces: 2. Confirmed
● Probleem bevestigd?
– Andere gebruikers
kunnen de fout
reproduc...
Joomladagen 2014Joomladagen 2014
BT Proces: 3. Pending
● Patch voor bug beschikbaar
● Moet eerst op Joomla
“Master Branch”...
Joomladagen 2014Joomladagen 2014
BT Proces: 4. Ready to Commit
● Patch voor bug
– Twee succesvolle tests:
● Commentaar: @t...
Joomladagen 2014Joomladagen 2014
BT Proces: 5. Fixed in SVN/GitHub
● RTC → Commit Patch
= samengevoegd met
Joomla “Master
...
Joomladagen 2014Joomladagen 2014
f) Test, Test, 1, 2, 3
Joomladagen 2014Joomladagen 2014
Testen – Benodigdheden
● Lokale webserver (voor Joomla)
– XAMP/MAMP/LAMP
● Git
– Distribu...
Joomladagen 2014Joomladagen 2014
Testen – download Joomla “Master Branch”
in /var/www/
$ git clone https://github.com/joom...
Joomladagen 2014Joomladagen 2014
Testen – Joomla installeren
● Browser
– Ga naar je lokale Joomla map http://localhost/joo...
Joomladagen 2014Joomladagen 2014
Testen – Joomla installeren
Joomladagen 2014Joomladagen 2014
Testen – voorbeeld
“Bug” in /administrator/components/com_banners/models/banner.php
“Hard...
Joomladagen 2014Joomladagen 2014
Testen – voorbeeld
Joomladagen 2014Joomladagen 2014
Testen – voorbeeld
Joomlacode: [#32194] Banner model has hardcoded SQL
Github.com: patch ...
Joomladagen 2014Joomladagen 2014
Testen – voorbeeld
Github: https://github.com/joomla/joomla-cms/pull/2200
Joomladagen 2014Joomladagen 2014
Testen – voorbeeld
Travis: https://travis-ci.org/joomla/joomla-cms/builds/12365303
Joomladagen 2014Joomladagen 2014
Testen – voorbeeld
Joomlacode: [#32194] Banner model has hardcoded SQL
Patch: https://git...
Joomladagen 2014Joomladagen 2014
Testen – voorbeeld
[#32194] Banner model has hardcoded SQL
● Before:
● After:
$ curl http...
Joomladagen 2014Joomladagen 2014
Testen – voorbeeld – git commando's
Command line:
● Controleer & vraag informatie over pa...
Joomladagen 2014Joomladagen 2014
Testen – voorbeeld – git commando's
● “Hard reset” – verwijder alle veranderingen
git res...
Joomladagen 2014Joomladagen 2014
Dat was makkelijk? Toch?.....
Joomladagen 2014Joomladagen 2014
Testen zonder command line git
Joomladagen 2014Joomladagen 2014
Testen dmv component
http://docs.joomla.org/Component_Patchtester_for_Testers
Joomladagen 2014Joomladagen 2014
Testen dmv component
Joomladagen 2014Joomladagen 2014
Testen dmv component
Joomladagen 2014Joomladagen 2014
Testen dmv component
Joomladagen 2014Joomladagen 2014
Testen dmv component
Joomladagen 2014Joomladagen 2014
Testen dmv component
Joomladagen 2014Joomladagen 2014
f) Demonstratie
Joomladagen 2014Joomladagen 2014
i e
Joomladagen 2014Joomladagen 2014
Vragen?
● Presentatie beschikbaar via www.db8.nl
Peter Martin
e-mail: info at db8.nl
webs...
Joomladagen 2014Joomladagen 2014
Gebruikte foto's 1/2
● First Aid Plaster 1 - Gokhan Okur http://www.sxc.hu/photo/782775
●...
Joomladagen 2014Joomladagen 2014
Gebruikte foto's 2/2
● Count on us - Laura Leavell http://www.sxc.hu/photo/1206290
● Chec...
Joomla Bugs, Patches & Fun - Joomladagen 2014
Joomla Bugs, Patches & Fun - Joomladagen 2014
Joomla Bugs, Patches & Fun - Joomladagen 2014
Joomla Bugs, Patches & Fun - Joomladagen 2014
Joomla Bugs, Patches & Fun - Joomladagen 2014
Joomla Bugs, Patches & Fun - Joomladagen 2014
Joomla Bugs, Patches & Fun - Joomladagen 2014
Joomla Bugs, Patches & Fun - Joomladagen 2014
Upcoming SlideShare
Loading in …5
×

Joomla Bugs, Patches & Fun - Joomladagen 2014

2,428 views

Published on

Alle software bevat kleine fouten ("bugs"). Joomla ook. Om die fouten te verhelpen worden verbeteringen ("patches") gemaakt en uitgebracht. Voordat die verbeteringen in de Joomla broncode terecht komen, dienen ze getest te worden. Het in teamverband testen van bugs en patches kan erg leuk ("fun") zijn. Je hebt daarvoor geen programmeerkennis nodig!

Iedereen met een beetje Joomla ervaring kan helpen met het testen van bugs en patches!

In deze sessie verteld Peter Martin hoe hij enthousiast werd over Bugs, Patches & Fun, hoe het proces van software fouten in Joomla oplossen werkt. En hoe jij zonder programmeerkennis kunt helpen om de Joomla broncode te verbeteren.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,428
On SlideShare
0
From Embeds
0
Number of Embeds
724
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Joomla Bugs, Patches & Fun - Joomladagen 2014

  1. 1. Joomladagen 2014Joomladagen 2014 Bugs, patches & fun Peter Martin, www.db8.nl. twitter: @pe7er Joomladagen.nl/2014 – 22+ 23 maart 2014
  2. 2. Joomladagen 2014Joomladagen 2014 Peter Martin ● Joomla website specialist Marketing + Communicatie achtergrond & technische affiniteit ● Vrijwilliger Joomla: – Global Moderator – Community Leadership Team ● Open Coffee Nijmegen ● Linux User Group Nijmegen Interesses: ● Open Source Software ● Linux sinds 2007 (Ubuntu → Debian → Arch Linux → Debian) ● Raspberry Pi ● Muziek (Vinyl) ● Filmhuisfilms Website: www.db8.nl – e-mail: peter at db8.nl LinkedIn: http://www.linkedin.com/in/pe7er – Twitter: @pe7er
  3. 3. Joomladagen 2014Joomladagen 2014 Overzicht Presentatie >>> Sheets via: www.db8.nl <<< a)Introductie b)Bugs & Patches c)“Mijn” bug d)Pizza, Bugs (& Beer) & Fun e)Bugtracker Process f) Test, Test, 1, 2, 3 g)Demonstratie h)Vragen?
  4. 4. Joomladagen 2014Joomladagen 2014 b) Bug & Patches
  5. 5. Joomladagen 2014Joomladagen 2014 Een software bug ● Fout in een computer programma – Onjuist of onverwacht resultaat, of onbedoelde gedrag – Door programmeur gemaakte fouten in de bron code (source code) van het programma.
  6. 6. Joomladagen 2014Joomladagen 2014 Joomla bron code index.php regel 1-30 <?php /**  * @package    Joomla.Site  *  * @copyright  Copyright (C) 2005 ­ 2013 Open Source Matters, Inc. All rights reserved.  * @license    GNU General Public License version 2 or later; see LICENSE.txt  */ if (version_compare(PHP_VERSION, '5.3.1', '<')) { die('Your host needs to use PHP 5.3.1 or higher to run this version of Joomla!'); } /**  * Constant that is checked in included files to prevent direct access.  * define() is used in the installation folder rather than "const" to not error for PHP 5.2 and lower */ define('_JEXEC', 1); if (file_exists(__DIR__ . '/defines.php')) { include_once __DIR__ . '/defines.php'; } if (!defined('_JDEFINES')) { define('JPATH_BASE', __DIR__); require_once JPATH_BASE . '/includes/defines.php'; }
  7. 7. Joomladagen 2014Joomladagen 2014 Bron code – kleine bug index.php require_once JPATH_BASE . '/includes/framework.php'; // Mark afterLoad in the profiler. JDEBUG ? $_PROFILER­>mark('afterLoad') : null; // Instantiate the application. $app = Jfactory::getApplication('site'); // Initialise the application. $app­>initialise();                         ug                        b                       g           bug                       u        bug       bugbug          b       g             bug      bugbug bu                bug  bugbugbugbugbugbug   bug   bug   bugbugbugbugbugbugbugbugb      bug   bug bugbugbugbugbugbugbugbugbu    bugbugbugbu gbugbugbugbugbugbugbugbugbu   bugbugbugbug    bugbugbugbu gbugbugbugbugbugbugbugbugbu      bug   bug bugbugbugbugbugbugbugbugbu   bug   bug  gbugbugbugbugbugbugbugbugb                bug  bugbugbugbugbugbug             bug      bugbug  bu       bugbug          b        g                       u         bug                       g            bug                        b                         ug
  8. 8. Joomladagen 2014Joomladagen 2014 Bron code – grote bug index.php // Mark afterIntialise in the profiler. JDEBUG ? $_PROFILER­>mark('afterInitialise') : null;                        ""$o               o$""                          ""$o           o$"                      o    "$""""o                  "o         $"                 o""" $"          "$o                "$o" $o "  $                 o$"           "$o               $$$o$$$$o$$$$               $"             "oooo      o "" ""$$$$$$$$""o"" oo     oooo"              "$$$$$$oo"oo$$$o" o$$$$oo" o$$$o "o$$$$$$$                    "$ $$$$$$$$$oo   o$$$$$$$$$o"$"                    $ $$$   $$$$$$  o$$$$$$  "$$o"o                   $ $$$$o  $$$$$$  $$$$$$$  $$$$o"o                  $  $$$$$  $$$$$"   "$$$$$ $$$$$$ $                   $o""""" """"         """ """"""$"                  $  o$$$$$"""$$$$$"$$$$$""$$$$$ooo"o                  $  o"$o $$$$$$$$oo$$$$$$$$o $$""  $               oo$     "$$$$$$$$$$$$$$$$$$$$" o" o $oo            o$$$"$ $$o"o $$$$$$$"" "$$$$$$$    o$$ $$$$o      UN BUG          o$$$$" $ $$$$ o "$$$$$oo o$$$$$$  "o$$$$ $ $$$$$         o$$""    $ $$$$$o" "$$$$$$$$$$$$$ o o$$$$$o$   "" $$         $$"      $ $$$"  o"o$$$$$$$$$$$$   " "$$$ $       $$o        o$$       "o $$    "  $$$$$$$$$$$"o    "$$ $       $$$        $$$      oo$ $       o""$$""$$$o "      $"o$o      $$$o       o$$$$   o$$$"o"$oo$$$$o" o     $o $$$$$oo$ $$$$o    $$$$       $$$$   $$$$" $ $$$$$""   $$  o$$$ """$$$$"o" "$$$o  "$$$o       $$$" o """    $ $$$oo   $$$$o" $$   o$$$"o"   """"$  o$$$    o$"     $$$       $ "$"" o$"o"$$o$$$$  "$$"o"      o$$     "$oo  $ "        $$o       $ "oo$"o$$$"o$o"$$$$o" o"       $$$       ""$o $$          $$$o       "o$$o$"$$"$$o$$o$$"$$o"       $$$          ""o              $$$        ""$$$ $$$$$$ $$$$ $"        $$$$            $$              $$$$           $$$$"$$$o$ $""          $$$               $$$$             "$$$ """            $$$$               $$""                                 "$$            oo$"                                       $ooo           $                                             "$$
  9. 9. Joomladagen 2014Joomladagen 2014 Bron code – hele grote bug index.php // Route the application. $app­>route(); // Mark afterRoute in the profiler. JDEBUG ? $_PROFILER­>mark('afterRoute') : null;      .. ..oooo.....ooo...   .odSS4PYYYSSOOXXXXXXXXXOodbgooo.  /SSYod$$$$SSOIIPXXXXXXXXXYYP.oo.*b. ($$Yd$$$$SSSOII:XXXXXXXX:IIoSSS$$b.Y,  Yd$$$$SSSOII:XXXXXXXXXX:IIOOSSS$$$b   d$$$$SSSOOI:XP"YXXXXXXXX:IIOOSSSS$$$   Y$$$SSSOOII:XbdXXXXXP"YX:IIOOOSS$$$$)   'Y$$$SSSOI:XXXXXXXXXbodX:IIOOSS$$$$$/    "Y$$$SSSOI(PoTXXXXXTo)XXIIOOOSS$$$*'      ""*Y$S(((PXXXXXXXY))dIIOSSS$$dP'         "*'()P;XXXXXXXXY)IIOSSS$P".oS,         (S'(P;XXXXXXXP;Y)XXYOP".oSSSSb        (S'(P;'XXXXXXX';Y).ooooSSSSSSSS)        (S'(P;'XXXXXXP';Y).oSSSSSSSSSSSP        (SS'Y);YXXXXX';(Y.oSSSSSSSSSSSSP         YSS'Y)'YXXX".(Y.oSSP.SSSSSSSSY          YSS'"" XXX""oooSSP.SSSSSSSSY          SSSSSS YXXX:SSSSP.SSSSSSSSY          SSSSSP  Yxb:SSSP.S"SSSSSSP          S(OO)S   YXb:SY    )SSSSS          SSSSO    )YXb.I    ISSSSP          YSSSY    I."YXXb   Y(SS)I          )SSS(    dSSo.""*b  YSSSY          OooSb   dSSSSP      )SSS(                  dSSSY       OooSS                  OooSP
  10. 10. Joomladagen 2014Joomladagen 2014 Bron code – “zombie bug” index.php // Route the application. $app­>route(); // Mark afterRoute in the profiler. JDEBUG ? $_PROFILER­>mark('afterRoute') : null;                  .....                                                                    C C  /                                                                   /<   /       ___ __________/_#__=o           /(­ /(_________            )  )_      o              /| /|       |'     |                                                                  |     _|                                                                  /o   __                                                                 / '     |                                      / /      |                                                               /_/______|                                                              (   _(    <                                                                                                                                                |                  ________                                        ________                 
  11. 11. Joomladagen 2014Joomladagen 2014 Bron code – “ninja bug” index.php // Route the application. $app­>route(); // Mark afterRoute in the profiler. JDEBUG ? $_PROFILER­>mark('afterRoute') : null;
  12. 12. Joomladagen 2014Joomladagen 2014 Een software patch ● Stukje software om probleem op te lossen – Verhelpen van foutmelding – Verhelpen van beveiligingsprobleem – Het verbeteren van de gebruiksvriendelijkheid of prestaties ● .diff patch – Een bestandje dat de verschillen met voorgaande versie beschrijft
  13. 13. Joomladagen 2014Joomladagen 2014 Foutmeldingen & patches beheren ● Bijhouden van de gemelde fouten in de software: – Rapporteren – Communicatie – Patches delen – Status van fout – Statistieken ● git – Versiebeheer software ● github.com – Opslagplaats & versiebeheer
  14. 14. Joomladagen 2014Joomladagen 2014 Joomla & Patches ● Joomla 1.5 = EOL (einde oefening) – Geen patches – Geen nieuwe functies ● Joomla 2.5 = LTS (Lange termijn ondersteuning) – Wel patches – Geen nieuwe functies ● Joomla 3.x = STS (Korte termijn ondersteuning) – Wel patches – Ook nieuwe functies
  15. 15. Joomladagen 2014Joomladagen 2014 c) “Mijn” Bug
  16. 16. Joomladagen 2014Joomladagen 2014 “Mijn” Bug ● 7 februari 2013, rond 10:00 uur ● Joomla 3.0.3 testen voor gebruik bij een klant
  17. 17. Joomladagen 2014Joomladagen 2014 Installatieprocedure, stap 3
  18. 18. Joomladagen 2014Joomladagen 2014 Het probleem aanmelden ● Niet echt een bug, wel verwarrend... ● 7 februari 2013, om 10:29 uur (en 35 seconden) bug aangemeld op Joomla's Issue Tracker: http://joomlacode.org/gf/project/joomla/tracker/? action=TrackerItemEdit&tracker_item_id=30077
  19. 19. Joomladagen 2014Joomladagen 2014 Het probleem aanmelden
  20. 20. Joomladagen 2014Joomladagen 2014 Werken aan een oplossing ● Lokale Joomla installatie van laatste 3.0 versie ● In Joomla's broncode zelf de functionaliteit toegevoegd ● 7 februari 2013, 11:38 uur mijn code toegevoegd als proof-of-concept: http://joomlacode.org/gf/project/joomla/tracker/? action=TrackerItemEdit&tracker_item_id=30077
  21. 21. Joomladagen 2014Joomladagen 2014 Werken aan een oplossing ● Februari 2013: reacties van anderen, paar opmerkingen en suggesties ● 27 Maart 2013: “can not download sample.php. Please zip it.” – → Joomlacode.org accepteert uit veiligheidsoogpunt geen .php bestanden... ● April 2013: paar opmerkingen & suggesties ● Mei 2013: ….. niks, nada, nothing, ничего, kitu, ‫,لش شيء‬ ไม่มีอะไร
  22. 22. Joomladagen 2014Joomladagen 2014
  23. 23. Joomladagen 2014Joomladagen 2014 Werken aan een oplossing Zaterdag 1 juni 2013: Joomla Bug Squad Night bij JandBeyond (internationaal Joomla congres) in Noordwijkerhout, Nederland http://www.youtube.com/watch?v=v6YdZJtzJxo
  24. 24. Joomladagen 2014Joomladagen 2014
  25. 25. Joomladagen 2014Joomladagen 2014 Werken aan een oplossing Op Joomla Bug Squad Night: – Meest recente Joomla versie (“master branch”) geïnstalleerd vanaf GitHub – Keuze opties bij installatie van Joomla getest – Mijn proof-of-concept verandering geprogrammeerd – Een “diff patch” gemaakt (dank aan Andrea Tarr!) – De .diff patch toegevoegd aan Joomla Issue Tracker – Biertje gedronken Resultaat: Zaterdag 2 juni 2013, 00:30 uur “I've created a patch 30077.patch ready to test.”
  26. 26. Joomladagen 2014Joomladagen 2014
  27. 27. Joomladagen 2014Joomladagen 2014 Werken aan een oplossing Zaterdag 2 juni 2013, patch “30077” 00:54 uur @test (Hans Kuijpers) 00:56 uur @test (Olaf Offick) patch tested successfully 01:05 uur @test (Mike Veeckmans) tested succesfully #jab13 01:05 uur (Andrea Tarr) Multiple good tests - moving to rtc
  28. 28. Joomladagen 2014Joomladagen 2014
  29. 29. Joomladagen 2014Joomladagen 2014 Werken aan een oplossing Zaterdag 2 juni 2013, patch “30077” 01:31 uur (Michael Babker) Merged at https://github.com/joomla/joomla- cms/commit/37843e88ceae995ffa73f245f7abcd45d01 5cb9a Daarna verder verbeterd door anderen: – Generieker gemaakt: versie informatie verwijderd (Jean-Marie Simonet) – Betere layout voor tooltips
  30. 30. Joomladagen 2014Joomladagen 2014 Oplossing – Joomla 3.1.5
  31. 31. Joomladagen 2014Joomladagen 2014 “Mijn” Bug
  32. 32. Joomladagen 2014Joomladagen 2014
  33. 33. Joomladagen 2014Joomladagen 2014 d) Pizza, Bugs (& Beer) & Fun
  34. 34. Joomladagen 2014Joomladagen 2014 "Pizza, Bugs & Fun" Vrijdag 12 juli 2013 – Wereldwijd georganiseerd – Nederland → Eindhoven: Josien Verreijt, Marijke Stuivenberg, Roland Dalmulder & Peter Martin
  35. 35. Joomladagen 2014Joomladagen 2014
  36. 36. Joomladagen 2014Joomladagen 2014 Joomladay Germany 2013 ● Zondag 15 september 2013 Bug Squashing und Accessibility Codesprint (David Jardin & David Hurley)
  37. 37. Joomladagen 2014Joomladagen 2014
  38. 38. Joomladagen 2014Joomladagen 2014 Joomladay UK 2013 Zaterdag 5 oktober 2013 Joomla BugSquashing session (Javier Gómez)
  39. 39. Joomladagen 2014Joomladagen 2014
  40. 40. Joomladagen 2014Joomladagen 2014
  41. 41. Joomladagen 2014Joomladagen 2014
  42. 42. Joomladagen 2014Joomladagen 2014
  43. 43. Joomladagen 2014Joomladagen 2014
  44. 44. Joomladagen 2014Joomladagen 2014
  45. 45. Joomladagen 2014Joomladagen 2014 Joomla World Conference 2013 Zaterdag 9 november 2013 Bugs, Beer & Fun
  46. 46. Joomladagen 2014Joomladagen 2014 e) De Bugtracker Issue Tracker
  47. 47. Joomladagen 2014Joomladagen 2014
  48. 48. Joomladagen 2014Joomladagen 2014
  49. 49. Joomladagen 2014Joomladagen 2014
  50. 50. Joomladagen 2014Joomladagen 2014 Status: 1.Open 2.Confirmed 3.Pending 4.Ready to commit 5.Fixed in SVN/GitHub
  51. 51. Joomladagen 2014Joomladagen 2014 BT Proces: 1. Open ● Nieuwe bug? – Probleem te reproduceren met Joomla “Master Branch”? – Rapporteren: “Add new Tracker Item” ● Category ● Status: “Open” ● Build: “master” ● How to reproduce... ● Summary & Details (PHP / Browser / Database / Webserver) Tracker Team
  52. 52. Joomladagen 2014Joomladagen 2014 BT Proces: 2. Confirmed ● Probleem bevestigd? – Andere gebruikers kunnen de fout reproduceren met de Joomla “Master Branch” → patch ontwikkelen Coding Team
  53. 53. Joomladagen 2014Joomladagen 2014 BT Proces: 3. Pending ● Patch voor bug beschikbaar ● Moet eerst op Joomla “Master Branch” getest worden: – Test bug voor installatie patch – Patch installeren – Test of probleem is opgelost – Test of er geen nieuwe problemen zijn ontstaan Testing Team
  54. 54. Joomladagen 2014Joomladagen 2014 BT Proces: 4. Ready to Commit ● Patch voor bug – Twee succesvolle tests: ● Commentaar: @test ● Commentaar: @test – Ready To Commit (RTC) = gereed om aan de Joomla core code toegevoegd te worden Testing Team
  55. 55. Joomladagen 2014Joomladagen 2014 BT Proces: 5. Fixed in SVN/GitHub ● RTC → Commit Patch = samengevoegd met Joomla “Master Branch” – In volgende (sub)versie beschikbaar in de Joomla download van joomla.org PL Team +
  56. 56. Joomladagen 2014Joomladagen 2014 f) Test, Test, 1, 2, 3
  57. 57. Joomladagen 2014Joomladagen 2014 Testen – Benodigdheden ● Lokale webserver (voor Joomla) – XAMP/MAMP/LAMP ● Git – Distributed revision control and source code management (soort van “Wikipedia” voor broncode) ● Joomla “Master Branch” – Meest recente Joomla version met alle patches & nieuwe features – https://github.com/joomla/joomla-cms/ ● Browser – Chrome (incl Inspector) of FireFox + FireBug addon ● (Integrated Development Environment (IDE))
  58. 58. Joomladagen 2014Joomladagen 2014 Testen – download Joomla “Master Branch” in /var/www/ $ git clone https://github.com/joomla/joomla­cms  Cloning into joomla­cms... remote: Counting objects: 381082, done. remote: Compressing objects: 100% (128076/128076), done. remote: Total 381082 (delta 271874), reused 357127 (delta  249654) Receiving objects: 100% (381082/381082), 95.79 MiB | 5.79  MiB/s, done. Resolving deltas: 100% (271874/271874), done. Joomla website: /var/www/joomla­cms/
  59. 59. Joomladagen 2014Joomladagen 2014 Testen – Joomla installeren ● Browser – Ga naar je lokale Joomla map http://localhost/joomla- cms/ – Volg normale installatie procedure, maar kies: ● Sample Data: Test English (GB) Sample Data = voorbeeld inhoud met daarin menu's met links naar alle Joomla componenten en modules → makkelijker testen – Verwijder bij de laatste stap de installatie folder NIET!!
  60. 60. Joomladagen 2014Joomladagen 2014 Testen – Joomla installeren
  61. 61. Joomladagen 2014Joomladagen 2014 Testen – voorbeeld “Bug” in /administrator/components/com_banners/models/banner.php “Hardcoded SQL” in regel 511: $db = Jfactory::getDbo(); $db->setQuery('SELECT MAX(ordering) FROM #__banners'); $max = $db->loadResult(); Joomlacode: [#32194] Banner model has hardcoded SQL
  62. 62. Joomladagen 2014Joomladagen 2014 Testen – voorbeeld
  63. 63. Joomladagen 2014Joomladagen 2014 Testen – voorbeeld Joomlacode: [#32194] Banner model has hardcoded SQL Github.com: patch [#2200] De “hardcoded SQL“: $db = Jfactory::getDbo(); $db->setQuery('SELECT MAX(ordering) FROM #__banners'); $max = $db->loadResult(); vervangen met Joomla's $query object: $db = Jfactory::getDbo(); $query = $db->getQuery(true) ->select('MAX(ordering)') ->from('#__banners'); $db->setQuery($query); $max = $db->loadResult();
  64. 64. Joomladagen 2014Joomladagen 2014 Testen – voorbeeld Github: https://github.com/joomla/joomla-cms/pull/2200
  65. 65. Joomladagen 2014Joomladagen 2014 Testen – voorbeeld Travis: https://travis-ci.org/joomla/joomla-cms/builds/12365303
  66. 66. Joomladagen 2014Joomladagen 2014 Testen – voorbeeld Joomlacode: [#32194] Banner model has hardcoded SQL Patch: https://github.com/joomla/joomla-cms/pull/2200.diff
  67. 67. Joomladagen 2014Joomladagen 2014 Testen – voorbeeld [#32194] Banner model has hardcoded SQL ● Before: ● After: $ curl https://github.com/joomla/joomla­cms/pull/2200.diff | git apply % Total    % Received % Xferd  Average Speed   Time   Time     Time  Current                                  Dload  Upload   Total  Spent    Left  Speed 100   691  100   691    0     0   1448      0 ­­:­­:­­ ­­:­­:­­ ­­:­­:­­  1930
  68. 68. Joomladagen 2014Joomladagen 2014 Testen – voorbeeld – git commando's Command line: ● Controleer & vraag informatie over patch status op: curl https://github.com/joomla/joomla-cms/pull/2200.diff | git apply --check ● Patch uitvoeren op jouw lokale Joomla installatie curl https://github.com/joomla/joomla-cms/pull/2200.diff | git apply ● Patch verwijderen: curl https://github.com/joomla/joomla-cms/pull/2200.diff | git apply -R ● Controleer of patch is verwijderd: git status # On branch master nothing to commit (working directory clean)
  69. 69. Joomladagen 2014Joomladagen 2014 Testen – voorbeeld – git commando's ● “Hard reset” – verwijder alle veranderingen git reset --hard HEAD ● Informatie over de veranderingen, commits etc git log git log --pretty=oneline ● Joomla “Master Branch” = heel dynamisch. Importeer de meest recente veranderingen via: git pull
  70. 70. Joomladagen 2014Joomladagen 2014 Dat was makkelijk? Toch?.....
  71. 71. Joomladagen 2014Joomladagen 2014 Testen zonder command line git
  72. 72. Joomladagen 2014Joomladagen 2014 Testen dmv component http://docs.joomla.org/Component_Patchtester_for_Testers
  73. 73. Joomladagen 2014Joomladagen 2014 Testen dmv component
  74. 74. Joomladagen 2014Joomladagen 2014 Testen dmv component
  75. 75. Joomladagen 2014Joomladagen 2014 Testen dmv component
  76. 76. Joomladagen 2014Joomladagen 2014 Testen dmv component
  77. 77. Joomladagen 2014Joomladagen 2014 Testen dmv component
  78. 78. Joomladagen 2014Joomladagen 2014 f) Demonstratie
  79. 79. Joomladagen 2014Joomladagen 2014 i e
  80. 80. Joomladagen 2014Joomladagen 2014 Vragen? ● Presentatie beschikbaar via www.db8.nl Peter Martin e-mail: info at db8.nl website: www.db8.nl twitter: @pe7er
  81. 81. Joomladagen 2014Joomladagen 2014 Gebruikte foto's 1/2 ● First Aid Plaster 1 - Gokhan Okur http://www.sxc.hu/photo/782775 ● Moth - Therese Branton http://www.sxc.hu/photo/901692 ● ASCII Bugs: http://www.asciiworld.com/ ● Executivo 3 - Ivan Soares Ferrer http://www.sxc.hu/photo/215592 ● Joomla Sticker + Stroopwafel photo - Paul Orwig ● Night moth - Irina Naumets http://www.sxc.hu/photo/1047402 ● Bandaid Bandage - Pam Roth http://www.sxc.hu/photo/291573 ● JAB13 Bug Squad, Pizza, Bugs & Fun (Eindhoven, NL), JDDE13 Bug Squashing & JWC13 foto's - Peter Martin ● JDUK13 Bug Squashing photos - Paul Orwig ● Moth 1 - Irina Naumets http://www.sxc.hu/photo/1059828
  82. 82. Joomladagen 2014Joomladagen 2014 Gebruikte foto's 2/2 ● Count on us - Laura Leavell http://www.sxc.hu/photo/1206290 ● Checkbox - bzuko22 http://www.sxc.hu/photo/1335487 ● Hands: Thumbsup - J. Henning Buchholz http://www.sxc.hu/photo/238119 ● Hands: Peace - J. Henning Buchholz http://www.sxc.hu/photo/238133 ● Multimeter - Maxime Perron Caissy http://www.sxc.hu/photo/498477 ● mathematic formulas - Tomasz A. Poszwa http://www.sxc.hu/photo/214561 ● Police protecting the demonstration - Michal Zacharzewski http://www.sxc.hu/photo/559518 ● signs signs - Jason Antony http://www.sxc.hu/photo/751034 Bronnen: ● Bug Tracking Process - Marijke Stuivenberg http://tinyurl.com/slides-PBFnl ● Werken met de Joomla Master Code - Roland Dalmulder http://tinyurl.com/handleiding-PBFnl

×