Netsensei

Much Ado About Nothing

Database

To moderate… or not?

Today, I had an e-mail discussion with Dries and Benjamin over the use of a moderation queue within the context Mollom provides. I have on implemented in my plugin. The idea is that ‘unsure’ comments that don’t get through the CAPTCHA test, land in a moderation queue… sort of.

Mollom was actually designed to get rid of the queue. Checking if a commenter is human or a spambot happens through the CAPTCHA test. Early on in the process of posting a comment. That makes a queue where an administrator has to do the check after the facts quite unnecessary.

The problem is that the way I designed the plugin forced me use a moderation queue altogether. ‘Unsure’ labelled comments happen to land in the database, before the CAPTCHA check. Two months ago, that seemed the logical way out to me. Dries gave me some more insight in the workings of the Drupal module and was able to convince me to seperate the CAPTCHA check from the moderation queue. (I am not nearly into Drupal as I am into the workings of WordPress!)

So. It’s a bit back to the drawingboard for me as this means some parts of the plugin need to be reviewed.

Mollom going strong

Okay. It’s been almost two weeks since I released the first installment of my Mollom plugin to the testers. I got some feedback and started hacking away. I’m almost ready to release a new betaversion. So, here’s a list of what’s been improved:

  • Added: bulk moderation of unmoderated comments
  • Added: policy mode. If Mollom services are down, you can choose to automattically restrict access to commenting
  • Improved: when the plugin is deactivated, the database is restored to it’s previous state (all Mollom related data will be removed)
  • Improved: only comments with a mollom session id are now shown in the mollom moderation queue (relevance)
  • Improved: assigning a mollom session id to a comment
  • Improved: the moderation queue interface is more userfriendly
  • Improved: Configuration of the plugin
  • Improved: error handling

As you can guess, I’ve not implemented trackback support yet. Dries and Benjamin suggested to send ‘unsure’ trackbacks to the moderation queue and skip the whole CAPTCHA part. I’m going to implement and release that one in the last testversion.

On a sidenote: I didn’t take into account that the plugin should work with WordPress MU but one of the testers tried it anyway. Apparently, next to a few minor bugs, the plugin seemed to function. Which is a nice bonus.

I still need testers, though. The more the better. So if people are interested to take part: please mail me!

Hallo Metatale?

Hm. Ben ik dan toch niet de enige die verdacht weinig bougement zie in de MetaTale top 100? Ik heb overigens mijn .be domeinnaam een tweetal weken geleden semi-automatisch toegevoegd. Maar vandaag kreeg ik weer de melding ‘De URL https://www.netsensei.be werd niet teruggevonden in de database.’ Hum…

Simple OpeniD plugin @ WordPress.org

Kijkt! Tegen mijn eigen verwachtingen in heeft Simple OpenID plugin een stekje gekregen in de officiële WordPress.org Plugin database.

Ik had in de vooravond vlak voor vertrek op het werk een request geplaatst. Toen ik van stappen met kameraad WebsterMC terug kwam vond ik een mailtje met de approval! Fijn! Het mooie is dat WordPress.org Subversion ondersteunt. Ideaal voor versiebeheer. Meer zelfs, er wordt dynamisch een ZIP file getrokken van de laatste versie. Deze wordt vervolgens geheel automagisch aangeboden. Downloaden die hap!

(ja, ik ga nu toch van de gelegenheid gebruik maken om mijn winkel te promoten.)

Interfaces

Hm. OOP programmeren is heel erg fijn. Alleen heb ik nog nooit ‘advanced trickery’ nodig gehad. Maar vandaag ben ik toch verzeild geraakt in een situatie waar ik interfaces in PHP 5.x op een nuttige manier kon aanwenden: abstractie maken van een database backend!

Het verhaal gaat als volgt: een bepaald object A krijgt bij inistantiëring een ander object B als argument mee. B zorgt voor de connectie en dataoverdracht met een database backend. Zoals we allemaal wel weten heb je daar een pleiade aan mogelijkheden: MSSQl, MySQL, PEAR, PostGreSQL,… en dan vergeet ik er nog wel een paar. Omdat ik natuurlijk niet kan inschatten aan welke database men A zou willen koppelen, heb ik een interface gemaakt waaraan iedere database object B moet voldoen wil een instantie ervan kunnen worden doorgegeven als argument aan A.

Het gevolg is dus dat ik mij niet meer druk hoef te maken over honderd-tig mogelijke databaseobjecten, errorhandling op dat niveau,… Dat is nu voor diegene die ooit de koppeling zou willen leggen. En die heeft enkel maar de regeltjes te volgen die ik afdwing in een goedgedocumenteerde API en presto!

Het is fijn soms eens het licht te zien!

Ik ben Ella

Zo, ik heb even de moeite genomen om te upgraden naar Ella. Vandaar de storingen in het laatste half uur. Voor zover ik kan zien lijkt het allemaal te werken zoals het hoort. Het proces hield eigenlijk weinig in:

  1. Backup van database en bestanden voor het geval dat.
  2. Verwijderen van de oude WordPress bestanden
  3. Uploaden van de nieuwe bestanden.
  4. Runnen van het upgrade script.
  5. Laatste nieuwe versies downloaden en activeren van alle plugins.
  6. Dit potsje schrijven.

Zoals ik al zei: niet meer dan een half uurtje werk.

MySQL versus PHP

*Hieronder een rant waar ik al een tijdje mee zit*

Ik ben al een tijdje op zoek naar een manier om op een treffelijke wijze abstractie te maken van SQL in PHP. Kent er iemand daar een goeie klasse voor of zo? Ik ben nu zelf een rudimentaire klasse aan het ontwerpen, maar om eerlijk te zijn moet er beter spul bestaan. Ik zat te kijken in de richting van PEAR MDB2, maar daar moet je nog een aparte PHP module op serverniveau voor installeren.

Heb ik al gezegd dat ik de wijze waarop SQL en PHP door elkaar gemengd worden vre-se-lijk onhandig is? Noem het maar een revelatie die ik na al die jaren krijg, maar PHP dwingt je aan geen kanten abstractie te maken van de interfacing met je database backend. Het gevolg laat zich raden: onveilig geklooi met queries, variabelen, array’s en lussen. Ik heb al een aantal MYSQL/PHP applicaties ontworpen, en de valkuilen, ja zelfs de code in grote lijnen, blijven altijd hetzelfde. Het gevolg is dat je als ontwerper veel te hard moet blijven hangen bij de low-level stuff. In het slechtste geval ontwerp je een onveilige applicatie die met een simpele SQL injectie kan worden gehacked. En dan zwijg ik nog over de extra moeilijkheden als je met AJAX begint.

Zijn we niet 2007? Zouden we niet verder moeten staan? We zouden ons eindelijk eens moeten concentreren op wat écht belangrijk is: modulaire, herbruikbare code en bouwblokken waarmee we applicaties kunnen bouwen zonder steeds het warme water opnieuw te moeten uitvinden.

Mischien tijd om over te schakelen op Ruby on Rails? Of vertel ik nu helemaal niets nieuws?

Alles normaal

’t Is al een hele tijd geleden dat ik nog eens een datamodel mocht normaliseren. Bijna twee jaar geleden zelfs. Tijdens het vak databanktechnologie. Maar vandaag was het dan zover. Ik kreeg het datamodel van het depotbeheersysteem ad interim onder de neus geschoven. Het Stadsarchief en 14 kilometer papier en perkament verhuizen dit jaar. En om dat op een georganiseerde manier te laten verlopen heb je zo’n systeem nodig. Het datamodel dat collega’s W. en M. hadden uitgedokterd zag er op zijn minst geëlaboreerd uit. Of ik niet even een blik erop wilde werpen? Zeer zeker!

Zoals mij aangeleerd begon ik gelijk het zaakje te normaliseren. Dubbele nummering eruithalen, tabellen splitsen en bijeenvoegen. Ik deed dat nochtans niet zó graag tijdens mijn studie. Maar vandaag had ik er ronduit plezier in mij er volledig erin te verdiepen en diepgravende discussies te houden over dubbele nummeringen, doostypes, legborden in archiefcontainers en al.

Matthias heeft een leerrijke dag gehad.

En nu, de trein op!

Gesnuffel bij de vuilbakken

Ik heb het rendier kunnen verjagen van mijn laptop. Nu zit hij zo’n beetje te mokken voor de TV. Naar Kris Dusjosjo die bij Mark Uyterhoeven op de schoot zit in de Laatste Show. Tijd om even wat rond te snuffelen wat ik zoal aan mij voor bij heb laten gaan. Heel wat blijkbaar.

  1. Google is begonnen met een statistiekjesding dat niet al te goed werkt.

  2. Ik ben zonder het weten één van de 50 uitverkorenen die genomineerd werd voor de prestigieuze Site Van Het Jaar ™ award (categorie “blog sites”) van Clickx magazine. Ik had willen stemmen, maar ik zag het niet zitten om nog maar eens mijn persoonsgegevens daarvoor op te geven. Zelfs al was het voor één of andere wedstrijd. Ik zit al in genoeg databanken. Thank-joe-verie-mutsj!

  3. Dominiek is terug! Hoezee!

Verder kan ik jullie vertellen dat mijn blogdieet best wel deugd gedaan heeft. De klad zat er wat in bij mijzelf en dan helpt het even stoom af te blazen.

“MOOOOOSE!!”

Ja, ja! Ik veronderstel dat mijn rendier een naam zal moeten hebben als ie hier toch intrekt en computers begint in te palmen. Iemand een suggestie…?

« Vorige blogposts Pagina 1 van 1 pagina's