Om thogra

w00t

WordPress—vän av ordning?

Eftersom jag till vardags har båda fötterna i Java™-världen är jag förhållandevis bortskämd när det kommer till utvecklingsverktyg. Jag är alltså ganska peppad på att få någon sorts Continuous Integration att fungera med mina PHP-projekt/Wordpress-plugins. CI är ganska ointressant utan enhetstester, och det finns som tur är flera ramverk för enhetstestning i PHP, det som verkar vanligast är PHPUnit (SimpleTest kan vara ett annat alternativ), som dessutom fungerar bra tillsammans med Selenium.

För att mocka WordPress-funktionalitet—något som man kanske vill göra när man bygger WP-plugins—finns ramverket Mockpress för de av oss som gillar sådant.

Möjligheterna till att utnyttja enhets- och integrationstester är alltså goda (och bra ursäkter till inte göra det är sällsynta), och glädjande nog finns det både verktyg för statisk kodanalys för PHP, och åtminstone en CI-server som kan köra både tester och kodanalys—Jenkins. Sebastian Bergmann har en utmärkt guide för att använda Jenkins för PHP-projekt och ett strålande verktyg, PPW, som förenklar processen att komma igång.

Avslutningsvis kan man konstatera att eftersom ett plugin eller theme i WordPress väsentligen är en katalog i ${wp-root}/wp-content/{plugins|themes}/ borde det vara både möjligt och rimligt att ha en hantering av versioner och releaser som inte är av typen ”vilda västern”.

Mobilsajt med WordPress

Mobilsajten (webbappen) gör f.n. följande:

  • Innehåll som inte alls funkar på mobiltelefoner tas bort (Livelöpet, etc), ”tvätt” av annat innehåll (CoverItLive).
  • Bildomskalning
  • Anpassning av videolänkar
  • Specialanpassade utmallar för innehåll
  • Mobilspecifikt innehåll (geoads/väder)
  • Annonser från AdTech/Helios.

För att bygga motsvarande funktionalitet ovanpå WP skulle vi kunna utgå från pluginet WordPress Mobile Pack, som användes för att mobilanpassa skollistan. WPMP innehåller ett antal delkomponenter(sub-plugins), framför allt ett plugin för terminaligenkänning, och annat för mobilanpassade (Google) annonser.

Förutsatt att m.aftonbladet.se behöver skala bilder serverside och anpassa videolänkar beroende på terminal skulle vi behöva använda t.ex. WURFL för terminaligenkänning–ett plugin som vi sannolikt behöver snickra ihop själva.

Det skulle sannolikt vara möjligt att lägga till funktionalitet motsvarande mobilfliken i Escenic Content Studio som en ”WordPress metabox”, och ändra i aktuell utmall/theme. Man kan notera att WPMP endast kan styra besökarna mellan ”mobil-theme” och ”vanlig theme”, men det borde inte vara vidare komplicerat att ha ytterligare en theme för t.ex. tablets.

API:er för mobil-appar, STTV, och dylikt.

Det skulle antagligen gå utmärkt att använda sig av t.ex. JSON API, eventuellt skulle vi
behöva begränsa vilken data som exponeras. Det är antagligen en bra idé att ha en whitelist med html-taggar som är tillåtna i en posts/artikels ”content” (och ta bort all annan markup), alternativt att ta bort all/viss markup i en anpassad variant av JSON API -pluginet.