In de afgelopen sprint hebben we verder gewerkt aan het vernieuwen van de flow voor het plaatsen van gebruikersreviews. Daarnaast zijn vanuit feedback verbeteringen op de frontpage doorgevoerd en hebben we de verwerking van de No More Leaks-data verder geautomatiseerd.
Vernieuwing gebruikersreviews
In de vorige .plan hebben we aangekondigd dat we bezig zijn om de gebruikersreviews te vernieuwen. Het formulier waarmee je een review kunt schrijven, wordt vervangen door een variant die in een slide-inoverlay wordt weergegeven, zodat het mogelijk wordt om het formulier binnen een pagina te tonen zonder dat je telkens voor het schrijven van een review wordt weggeleid van die pagina.
We hebben in de afgelopen twee weken voorbereidingen getroffen om de weergave in de slide-inoverlay mogelijk te maken. Tevens hebben we stappen gezet om het reviewformulier te vereenvoudigen. De beoordeling van het product kun je nu geven door op sterren te klikken in plaats van een slider te verschuiven. In de vorige sprint hebben we de lengte van de korte toelichting verhoogt van 50 naar 150 tekens. We hebben het nu mogelijk gemaakt om alinea's in de korte toelichting te gebruiken.
De weergave van reviews op de reviewtab van een product hebben we strak getrokken door de borders op de review weg te halen en de eindbeoordeling onder de plus- en minpunten te plaatsen.
Verbeteringen frontpage
Op de vernieuwde frontpage hebben we veel feedback gekregen in de reacties onder de aankondiging en op het forum. Naar aanleiding hiervan zijn we eerst aan de slag gegaan met het fixen van bugs, waarover we in de vorige development-iteratie ook al een update gaven. In sprint #255 hebben we nog een bug opgelost die één pixel verschil veroorzaakte in ankeilers en hebben we lazy loading geïmplementeerd. Daarnaast kregen we veel feedback dat het oude forumblokje met trending topics werd gemist. De behoefte hieraan zijn we momenteel aan het valideren in een A/B-test.
Automatisering No More Leaks
Half oktober vorig jaar activeerden we de samenwerking met het project No More Leaks op Tweakers. Hiermee beschermen we onze gebruikers voor misbruik van gelekte gegevens. We gebruikten toen de op dat moment bekende lijsten en hebben deze lijsten geïmporteerd in een lokale database, zodat we de gegevens kunnen gebruiken.
De lijst van gelekte gegevens wordt steeds aangevuld met nieuwe gegevens. Het is dus zaak om deze nieuwe lijsten weer te importeren als er een update beschikbaar is. We deden dit door de delta, het deel van de lijst met nieuwe gegevens, te downloaden op een van onze servers en daarna aan het importscript door te geven. Deze taak duurt niet lang, maar is wel een handmatige actie die een developer moet uitvoeren en die ingepland moet worden, met de kans dat het lang duurt voordat een update is doorgevoerd of dat het vergeten wordt.
De politie bood bij de start van dit project nog geen mogelijkheid om dit geautomatiseerd te kunnen downloaden. Ondertussen doen ze dat wel en daarom hebben we besloten om het downloaden en importeren te automatiseren, zodat dit volledig automatisch gaat en dus geen developertijd meer vereist of vergeten kan worden.
Omdat Tweakers vooral PHP-developers heeft, was het initiële plan om dit proces in een PHP-script te automatiseren. De delta's worden via sFTP opgehaald en moeten worden uitgepakt. Bovendien willen we alleen nieuwe delta's aan het importscript aanbieden, omdat het verwerken van reeds bekende gegevens te lang duurt. Ook moet er een manier worden bedacht om de secretkey veilig vanuit onze secretsvault door te kunnen geven aan sFTP. We kwamen uiteindelijk uit op vier tickets om dit te kunnen opleveren, niet triviaal, maar zeker niet onhaalbaar.
Uiteindelijk besloot een van onze koppige developers die vaardig is met shellscripting dat het wellicht eenvoudiger kon door een shellscript te draaien in Jenkins. Jenkins biedt al een mogelijkheid om secrets te beheren, bestanden downloaden kan via sftp -b en het importeerscript is in onze Jenkins-omgeving al te bereiken. Binnen mum van tijd was een eerste versie geschreven, en de uiteindelijke implementatie is zo'n vijftig regels code. Om de code ook voor de andere developers begrijpbaar te maken, zijn er ook nog zo'n dertig regels commentaar aan toegevoegd, waardoor het script totaal zo'n tachtig regels beslaat. Zo is de de implementatie van vier tickets in PHP, geïmplementeerd door één middag shellscript. Zo loont het om de tooling af en toe eens kritisch te bekijken.
En verder
- Op pollpagina's werd TweakersGear in de navigatiebalk ten onrechte als actieve sitesectie getoond; dat is nu verholpen.
- Vanuit de melding van een bug in het zoeken naar artikelen hebben we het filter op artikeltypes gereanimeerd en werkend weer beschikbaar gemaakt.