Omdat ik regelmatig de vraag krijg op welke software deze site gebouwd is, heb ik besloten er een blog over te schrijven.
Wat de meesten wel zullen gemerkt hebben omdat het in de footer staat, is dat we gebruik maken van Drupal. Drupal versie 4.7 om volledig te zijn.
Over de loop van de jaren hebben we heel wat eigen aanpassingen gedaan aan de Drupal code deze aan te passen aan onze eigen noden. Gelukkig is het aantal aanpassingen dat we moesten doen, verminderd in elke release. Misschien ben ik gewoon minder kieskeurig geworden, maar ik zou het toch eerder toekennen aan de positieve evolutie van Drupal. Momenteel blijven er nog maar 2 grotere patches over:
- Separate signatures. Verwijderd het standaard gedraag van drupal om signatures aan de body van berichten zelf toe te voegen. Dit laat toe de signatures anders op te maken en er een helemaal ander input format op toe te passen. En als er iemand een signature gebruikt die niet aanvaard is volgens de richtlijnen, is dit eenvoudig aangepast. Met de nieuwe features in drupal core wordt het tijd om dit af te splitsen in een aparte module..
- Individuele opmerkingen verwijderen. De comment module van drupal verwijdert alle antwoorden op een opmerking die je verwijdert. Bij een flat forum is dat niet wenselijk want de admins kunnen niet eens zien wat een antwoord waarop is. Dit is een port naar v4.7 van de patch voor v4.6 die te vinden was op http://www.settingtheworldtori...m/node/417. Deze is zeker niet klaar om opgenomen te worden in drupal core, maar het werkt voor ons.
Naast drupal core, maken we gebruik van een heel arsenaal aan eigen modules. Sommige hiervan hebben dezelfde naam als modules uit het contributions repository, maar zijn toch totaal verschillend. Anderen zijn dan weer gebaseerd op dergelijke modules maar over de loop van tijd heel zwaar aangepast. En dan zijn er natuurlijk nog speciaal nieuwe modules geschreven. Wat een totaal van 47 actieve modules oplevert.
Een klein lijstje van onze eigen modules:
- BBCode - dit was de versie uit contrib maar bbcode-filter.inc is volledig herschreven om verschillende redenen.
- Chatbuilder - laat toe het chat applet volledig via de admin interface te configureren. Aangezien dit applet niet meer onderhouden is en we op zoek zijn naar een alternatief, zal dit ook niet verder worden onderhouden.
- Frontpage - Onze voorpagina, met extra caching om de arme server wat te sparen
- Glossary - dit was ooit de glossary module uit drupal contrib, maar heeft al zoveel wijzigingen ondergaan dat het praktisch niet meer herkenbaar is.
- Headlinestats - module die bezoeken aan nieuwsitems logt. Deze laat ons toe uit te zoeken welke de meeste mensen interessant vinden en welke er praktisch niet worden gebruikt.
- Hidemail - Een filter die email adressen vervangt door afbeeldingen. Bijvoorbeeld:
- IRCnews en IRCwatchdog - modules die nieuwe nieuwsberichten en nieuwe forum topics/opmerkingen aankondigen in #pcwereld.news en #pcwereld.tracker op KreyNet. Deze gebruiken een speciale eggdrop module waarvan de originele code verloren is, dus dit zal ook nooit publiek worden gemaakt
- Manual - Eigen node type om legacy handleidingen van het postnuke tijdperk weer te geven.
- Online - "Who is Online" module voor admins. Geeft een overzicht van alle actieve sessies. Handig om aggressieve bots te herkennen.
- Pcwereld_custom - een verzameling van allerlei korte speciale code. Sluit automatisch oude topics, bevat de modbreak filter en dergelijke. Dingen die zo eenvoudig zijn dat het wat belachelijk zou zijn van ze in een aparte module te steken.
- Privatemsg - hoewel de naam doet denken aan de contrib module, is het enige wat de twee gemeenschappelijk hebben, het database schema. En misschien wat help tekst.
- Texcode - speciale latex-achtige opmaak code die gebruikt werd voor handleidingen.
- Urlshortener - verkort lange URLs in paginas om te zorgen dat deze de pagina layout niet verstoren.
- Taxonomy_html - browser module voor taxonomy. Dit was denk ik de eerste module die ik ooit schreef en ik heb nooit de moeite gedaan om deze te hernoemen.
We hadden nog heel wat meer eigen modules, maar met de migratie naar 4.7 ben ik door contrib gaan zoeken of ik een aantal van mijn eigen modules ondertussen niet kon vervangen door modules die door anderen worden onderhouden. En dat is gelukkig voor een heel aantal gelukt.
De modules die mogelijk nuttig kunnen zijn voor anderen, zal ik publiek maken zodra onze SVN server online is.
De volgende modules die op de planning staan zijn:
- Een google-achtige "bedoelde je X?" suggestie als er weinig zoekresultaten worden teruggegeven. Ik heb ooit code hiervoor geschreven die geen nood heeft aan taalspecifieke woordenboeken en dergelijke, maar die was geschreven in Java. Ik ben van plan deze om te zetten in een Drupal module en nog wat uit te breiden.
- Voting. Ik wil een Ajax vote module, maar aangezien er al verschillende modules bestaan in drupal contrib, hoop ik dat iemand anders dit al geschreven gaat hebben, want ik ben niet goed in javascript
En natuurlijk is er nog ons theme. Een gigantisch gedrocht dat kan worden gebruikt als horrorverhaal op kampeertochten. Geschreven in het oude .theme formaat en duizenden lijnen lang. Het bevatte de flatforum functionaliteit al lang voordat deze module bestond in contrib
- login of registreer om te reageren
