Nu är det hög tid att jag blir klar med webbshopen som bygger på mitt lilla mvc-ramverk. Båda applikationerna programmeras i utvecklingssyfte. Inte min då, utan för de som vill lära sig mer om php-programmering. Koden kommer att läggas upp på www.phpportalen.net.

Jag fortsätter att klura på hur min webbshop ska fungera i WordPress. Det som är viktigast är så klart strukturen på datan som utgör själva webbshopen. Är inte grunden korrekt och användbar så kommer det att skapa stora problem i slutändan. Så nu lägger jag min tid på strukturen i artikelregistret.

Jag försöker använda WordPress eget system och databastabeller så långt det bara går. Det finns ingen anledning att bygga in onödigt mycket komplexitet. WP själv har tabeller som täcker de flesta behov, bara man tänker efter en aning.
Som det ser ut nu är strukturen som följande:
- Artiklar (produkter) skapas i en custom post type
- Artikelnummer är id’t till det inlägg som utgör artikeln
- Pris, momssats, vikt, mm läggs in som meta data i samma post type
- Artikelgrupperna läggs in i en hierarkisk custom taxonomy
- Artikelgrupperna bildar en meny som har fått en egen widget
- Märke/tillverkare läggs in i en custom taxonomy
- Även märke/tillverkare har fått en egen widget som ger en meny med klickbara länkar
Det är ingen tvekan om att WordPress 3 har tagit ett stort steg mot att bli just det flexibla verktyg jag länge sökt i ett CMS (Content Management System). Användarvänligheten i administratörsgränssnittet är fantastiskt och plugin/tema-utvecklare har många redskap i verktygslådan.
(Se tidigare inlägg om pluginet)
Jag håller fortfarande på att lära mig mer om WordPress som CMS (Content Management System) och som bloggverktyg. Jag är dock väl bevandrad i PHP, så det har inte varit något större problem att sätta mig in i systemet. Men efter att ett antal praktiska plugins installerats, så var sidan inte riktigt som jag förväntat och hoppats på.
WordPress-plugins och prestanda
Det är ingen hemlighet att många plugins kan göra att en WordPress-installation blir långsam och slö. Det är ganska naturligt med tanke på att de flesta använder många hooks för att utöka funktionaliteten i standardsystemet. Vill man dessutom använda widgets från installerade plugins, så tar det ännu lite mer kräm från webservern.
waljefors.se ligger dessutom på ett webbhotell med en delad servermiljö, så det var uppenbart att det gällde att optimera prestandan ordentligt. Även med diverse testade cache-plugins (ett i taget givetvis) så förblev sidan långsam att ladda.
Av ren lathet (nåja) så använder jag plugins som jag lätt skulle kunna implementera direkt i mitt tema istället. Ett exempel är Google translate. Pluginet jag använde var konstigt nog ganska tungt på sidan trots sin enkelhet, troligtvis beroende av att koden inte validerade vilket gjorde att sidan rendrerades långsammare.
Kategori och Arkiv slog jag samman till en widget, vilket faktiskt gav en liten prestandavinst.
Jag har för tillfället också tagit bort Facebook-gilla-knapparna. De är gör helt enkelt sidan för långsam. Förhoppningsvis hittar jag snart en bättre lösning.
Jag använde tidigare ett statistik-plugin för att följa min besöksstatistik. Det var riktigt snyggt och gav mycket vettig information. Men Google kan ge nästan lika bra statistik och jag slipper hosta det på min egen server. Det var dags att byta bort.
Av de fem plugins jag har kvar aktiva nu, så är det bara tre som används för sidvisningen, de sista två används bara i admin. Jag använder inte längre något cache-plugin.
Validering av HTML och CSS
Pluginet för Google translate hade ingen validerad HTML. Det stack ordentligt i mina ögon. Dessutom gjorde det, som tidigare nämnt sidan mer långsam. Jag designade istället om och lade samma widget-funktionalitet direkt i temat för sidan. Det validerar, rendrerar snabbare och ser bättre ut!
Jag har också fixat en hel del andra små valideringsbuggar, så de flesta sidorna borde validera alldeles utmärkt när det gäller HTML. Tyvärr kommer min CSS inte validera eftersom min bild- och kodvisning använder javascript-bibliotek med CSS som jag inte kan påverka.
Enkelhet ledordet i de många små designändringarna
Sidan har tidigare varit blogglös och det visade sig att den designen helt enkelt inte passade riktigt bra med den mängden data som behövs på en liten plats i en blogg. Jag har förenklat och skapat lite mer luft runt överskrifter som den vänstra spalten. Jag upplever designen som mer luftig och lättläst nu. Mindre avgränsande streck och överskrifter.
Jag har också lagt till en bättre möjlighet att gå mellan sida till sida eller från inlägg till inlägg genom länkar i topp och botten av sidan. Bättre användarvänlighet och förhoppningsvis utan för mycket extra klutter i designen.
Sökmotoroptimering (SEO)
Jag har gått igenom överskrifter och beskrivningar så att innehållet kan indexeras lättare nu. Många sidor är ganska grafiktunga och har inte så väldigt mycket text och det gillar inte alltid sökmotorerna, så där är det extra viktigt hur man lägger upp den lilla informationen som Google och andra sökmotorer kan använda.
Jag är inget proffs på SEO ännu, men jag lär mig mer och mer och börjar närma mig mina mål sakta men säkert.
Vi som har varit med ett tag minns “kriget” mellan Netscape Navigator och Internet Explorer. Vi hade två stora webbläsare som tolkade HTML-uppmärkningen på våra hemsidor väldigt olika. Trots att World Wide Web Consortium (eller W3C) hade funnits sedan 1994 och försökte styra upp i standarden, så verkade det inte fungera något vidare.
De senaste åren har det sett mycket bättre ut. De senaste versionerna av de stora webbläsarna, Internet Explorer, Mozilla Firefox, Google Chrome, Opera och Safari tolkar nu HTML-kod relativt lika. Men det är fortfarande många som använder Internet Explorer 6, trots att den är nästan 10 år gammal.
Det här är ett stort problem för utvecklare som har varit tvungna att antingen undvika viss funktionalitet, eller att gå omvägar genom ful-hack eller villkor som bara vissa läsare tolkar.
World Wide Web Consortium (W3C), HTML5 och XHTML2
Utvecklingen av HTML5 påbörjades egentligen av Web Hypertext Application Technology Working Group (WHATWG), men sedan släppte de över ansvaret till W3C.
Även om det ett tag sett ganska bra ut, så har jag länge haft känslan av att W3C mest består av ett stort smörgårdsbord av kaloriladdad byråkrati. De har flera standarder under utveckling samtidigt, det tar en väldig tid och ingen av dem verkar liksom bli klara. De gamla verkar inte heller riktigt avslutade.
Frågan är om någon fortfarande lyssnar på dem? Det är inte de som utvecklar standarderna, och webbläsarna följer – Det är webbläsarna som utvecklar funktionalitet som sedan W3C (om man skriker högt) tar med i standarderna. Tidigare fanns ett behov att styra upp de två stora läsarna och få dem att följa samma regler. Efter ett tags ordning sjönk förtroendet för W3C och det ser återigen annorlunda ut.
Club Ajax om turerna kring HTML5
För ett par dagar sedan publicerade Club Ajax ett föredrag om hur de upplever W3C och utvecklingen av HTML. Ett tankvärt inlägg i debatten för oss www-nördar som inte har bättre saker för oss (eller vill slippa att programmera hemsidor för fem olika webbläsare).
Ni hittar både video och presentationsmaterialet nedan:

http://clubajax.org/videos/the-fight-over-html5/
Vad händer nu?
Jag kan inte undgå att tänka att vi snart kan vara tillbaka till eländet när olika webbläsare utvecklade funktionalitet på olika håll, utan att de andra följer efter. Låt oss slippa det tack! En fördel är att det finns ett större samarbete mellan utvecklare av olika läsare idag.
Men hur var det nu? Kan vi börja använda HTML5, eller jag menar HTML, ännu?!
De flesta som pysslar med webbutveckling, vare sig det är på professionell nivå eller amatörnivå kan nog hålla med mig om att tabeller och inline CSS inte bör användas när en webblayout skapas. Det är inte heller bra att använda överdrivet många div-element, sk. “divitis” för att skapa en layout. Hela tanken ju att använda den uppmärkning som är nödvändig först och främst och sedan gruppera med några div.
Men ibland går det riktigt riktigt snett. Jag snubblade över en länk där jag behövde titta lite på källkoden för att kunna svara riktigt på en fråga på ett forum.
http://www.yebhi.com , ett indiskt klädföretag på nätet.

Det där var inte vackert. Den som utvecklat sidan borde faktiskt skämmas lite.