Nieuwe bijdragen aan open source software

Bij ISAAC werken we veelal met open-sourcesoftware om de beste oplossingen voor .complexe uitdagingen te vinden. Doordat software developers hun oplossingen delen met anderen bestaat de moderne wereld zoals die nu is en kunnen we ons werk doen. We vinden het dan ook belangrijk om zelf bij te dragen aan de open-sourcecommunity. Daarom organiseerden we in het kader van Hacktober een Open Source Software Contribution Day. Op 30 oktober werkten tientallen ISAACi aan open-source uitdagingen die relevant zijn voor henzelf en hun klanten. Welke uitdagingen dat zijn en hoe de dag verliep, lees je in dit blog.

Open Source Software Contribution Day ISAAC

De dag startte met een interessante kick-off, waarbij ISAACi Cas en Valentijn vertelden over hun open-sourceprojecten.

Diabot

Software Developer Cas heeft de Diabot ontwikkeld. Deze chatbot heeft allerlei handige functies voor diabetespatiënten. Diabot werkt op Discord en IRC. Cas is hard bezig om de chatbot ook op het chatplatform Slack te implementeren, zodat nog meer diabetespatiënten er gebruik van kunnen maken.

OWASP Defect Dojo

Security Architect Valentijn vertelde dat hij met stagiair Ricardo werkt aan de OWASP-tool Defect Dojo. Met dit beveiligingsprogramma is het mogelijk om resultaten van verschillende testen inzichtelijk te maken. Tijdens de dag zelf zorgde Ricardo er onder andere voor dat hij gemakkelijker data vanuit het programma kan ophalen. Valentijn is op zoek gegaan naar een oplossing om gewijzigde en toegevoegde upstream instellingen automatisch te synchroniseren naar de lokale versie van het programma.

Ontwikkel- en testomgevingen bij ISAAC

Als we werken aan projecten moeten de randvoorwaarden in orde zijn, zodat we ons 100% in kunnen zetten voor goede en winstgevende oplossingen. Een goed idee om daar tijdens de Open Source Software Contribution Day aan te werken. Zo besloot Software Developer Peter om te werken aan Docksal, waarin je een ontwikkelomgeving kunt opzetten voor PHP-developers. Dankzij Docksal kan je de omgeving aanpassen op elk project, terwijl iedereen in dezelfde omgeving werkt.

We ontwikkelen niet alleen projecten, maar testen ze ook grondig. Bijvoorbeeld met een end-to-end testing automation tool, zoals TestCafé waarbij je het gedrag van gebruikers geautomatiseerd in een browser nabootst. ISAAC breidt deze tool verder uit met de TestCafé Allure Reporter en TestCafé scaffolding tool. Software Developer Maarten werkte via de Testcafé Allure Reporter bijdrages van de community bij, terwijl Software Developer Ronald in de TestCafé scaffolding tool een ondersteuning maakte voor “yarn”. Tijdens een project kwam hij er namelijk achter dat de scaffolding tool “yarn” niet ondersteunt. Dankzij Ronald nu dus wel.

Automatiseren

Als er iets is dat gemak brengt, is het wel automatiseren. Niet alleen het testen van projecten met TestCafé, maar ook andere werkzaamheden. Zo automatiseerde Software Architect Lucien het werken met het WebDAV-protocol, een uitbreiding op het HTTPS-protocol. In één dag heeft hij voor elkaar gekregen dat je geautomatiseerd kunt kopiëren, updaten en verwijderen met het WebDAV-protocol.

Veiligheid

Veiligheid is belangrijk. Daarom zijn er steeds meer manieren om veilig en gemakkelijk in te loggen. Op het moment is Two Factor Authentication (2FA) één van de veiligste methoden, maar dat kan alleen nog maar via apps, zoals Google Authenticator. Software Developer Daan werkte daarom aan een extensie voor Keycloak, een project waarmee je Single Sign-On aan applicaties kunt toevoegen. Met deze extensie kun je 2FA door middel van SMS of e-mail eenvoudiger toepassen.

Ook Software Developer Victor vindt het belangrijk om veilig en gemakkelijk in te kunnen loggen op een applicatie. Voor zijn applicatie text-evaluator vond Victor een oplossing om gebruikers te authentiseren en toegangsrechten te beperken. Op deze manier hebben studenten een veilige taalleeromgeving, waarbij docenten hun geschreven teksten kunnen becommentariëren.

Gebruiksvriendelijker en sneller PIM-systeem

Met een PIM-systeem zoals Akeneo, kun je alle data vanuit één platform beheren en distribueren. Dat is hartstikke handig als je veel kanalen hebt. Als je productinformatie verandert, wordt dit dus op alle kanalen aangepast. Er was alleen een probleem met Akeneo: als je iets kleins wilt aanpassen, moeten meteen alle producten geëxporteerd worden, wat erg onhandig is en ook lang duurt. DevOps Engineer Egbert en Trainee Software Development Alain werkten er daarom aan om producten apart vanuit Akeneo te kunnen exporteren naar andere systemen, zoals Magento. Hierdoor is Akeneo gebruiksvriendelijker en sneller. Win-win dus.

Stagiair Stef zag de win-winsituatie ook voor zich op de Open Source Software Contribution Day. Hij ontwikkelde namelijk een Gridsome plugin waarmee static generated Magento webshops gemaakt kunnen worden in het framework Vue.js. Een static website gebruikt alleen een server, terwijl een dynamic website een server, database en templating engine gebruikt.

Open-source PHP-modules

Software Architect Francois zag tijdens de Open Source Software Contribution Day zijn kans schoon om twee PHP-modules te open-sourcen. De PHP Code Sniffer Standard package en de PHP Composer Git Hooks package waren nog niet helemaal open-source, maar dankzij Francois zijn de PHP-modules nu deel van de open-sourcecommunity.

Micropayments SaaS Platform

Met het Micropayments SaaS Platform (MSP) kun je functionaliteiten voor micropayment aan webapplicaties of online platforms toevoegen, waardoor gebruikers met virtueel geld kunnen betalen. Het gaat hierbij om zowel B2C als C2B en C2C transacties. Software Architect Paul werkte aan een visiedocument over het concept MSP en hoe het ingezet kan worden in de online markt.

Command-line-interface (CLI)

Software developers werken veel met command-line-interfaces (CLI). Het liefst wil je elke applicatie en framework gemakkelijk kunnen beheren vanaf de CLI. Dat is bijvoorbeeld handig bij Symfony. Peter, Jeroen en Bert werkten hieraan. Peter werkte aan de documentatie rondom Symfony, terwijl Jeroen en Bert vertalingen en nieuwe features werkten. Zo ontwikkelde Bert een feature die de relaties tussen de services in een service container van een applicatie kan laten zien via de CLI. Jeroen verbeterde een feature en fixte een bug in de bètaversie van Symfony.

Als je Magento-2-applicaties vanaf de CLI wilt beheren, kan dat bijvoorbeeld met de tool n98-magerun2. Software Developer Melvin voegde commands toe aan deze tool om statussen te wijzigen en Software Architect Aad wijzigde instellingen om Magento-2-applicaties nog gemakkelijker te beheren. Ook ontwikkelde Aad de nieuwe tool composer-semver, waardoor het nu mogelijk is om vanuit Composer SemVer operaties op de CLI te doen.

Samen bijdragen aan de community

Het online contact en het gevoel samen bij te dragen aan de community zorgden ervoor dat een aantal van onze Software Developers, Software Architecten, DevOps Engineers, Trainees en Stagiairs zelfs na de pizza in de avond en in het weekend doorwerkten aan deze projecten.

Dat ISAAC bijdraagt aan open-sourceprojecten is niet vanzelfsprekend. CTO Friso en Software Developer Maarten schreven daarom al eerder het Open Source Manifesto, waarin ze argumenteren dat open-sourcesoftware de basis is van innovatie. Bijdragen aan de open-sourcecommunity past bij onze kernwaarden en is daarom een bewuste keuze. Maarten: “Ik ben al zeer tevreden dat ISAAC duidelijk kiest om bij te dragen aan de open-sourcecommunity door dit event op poten te zetten. Ik zie deze dag graag terugkomen als een jaarlijkse traditie.”