Riktlinjer för utveckling i WordPress

De allmänna riktlinjerna är övergripande och gäller vid all utveckling i WordPress.

Arbetsprocessen

Vid ny eller vidareutveckling har kund och utvecklare tillgång till vår utvecklings-/testmiljö. Allt arbete och testning sker där tills man är nöjd med resultatet. När kunden testat av att allt fungerar som hon/han vill så skickas en beställning på produktionssättning tillsammans med en systemdokumentation till Servicecenter IT som sedan planerar in en produktionssättning.

Anpassningar av servermiljö

Vid utveckling som kräver modifikation av kommunens miljö skall kraven meddelas kommunen i god tid. Beställare, utvecklare och Servicecenter IT kommer därefter fram till en lämplig lösning.

Modifieringar av miljön kan till exempel vara:

  • Portöppningar
  • Installation av php-moduler
  • Modifikation av rättigheter

Plugin och tema

Strategi vid utveckling:

  • Nya plugin skall granskas av leverantören eller Servicecenter IT enligt kommunens granskningsmall innan de beslutas användas.
  • Finns det ett befintligt plugin på marknaden som uppfyller våra funktionella och säkerhetsmässiga krav samt är ekonomiskt fördelaktigt ur ett kort- och långsiktigt perspektiv så använder vi det.
  • Vi försöker hålla nere antalen plugin.
  • Vi försöker att utveckla funktionalitet som plugin istället för att baka in den i temat för att kunna stänga av funktioner och uppdatera temat separat.
  • Temat ska till så stor utsträckning som möjligt bara styra utseende och inte beteende.
  • Redaktörer på siten med rollen ”Editor” skall komma åt grundläggande inställningar för plugin och teman som utvecklas. Slutkunden har inte tillgång till ”Administrator” och ”Super Administrator”.

Boilerplate för plugin:

Hooks:

  • Lägg till hooks för att kunna filtrera utdata så mycket som möjligt, (kolla på hur WordPress själva gör och fråga kunden).

Källkodshantering

Varje tema/barntema har ett eget repo på GitHub. Servicecenter IT ansvarar för hanteringen av dessa.

Servicecenter IT ansvarar för att hantera pull requests och issues i GitHub.

Vi utvecklar enligt flödet GitHubFlow https://guides.github.com/introduction/flow/index.html

Inga databaser källkodshanteras.

Ingen data som innehåller känslig information så som t.ex. användaruppgifter får finnas på GitHub.

Utvecklings- och dokumentationsstandarder

Teman och plugin skall fungera med PHP 7.

Vi använder oss av WordPress egna funktioner i så stor utsträckning som möjligt förutsatt att de fyller de behov vi har.

Vi skriver inte ut HTML med php och separerar logik och presentation i olika filer.

För att hålla koll på vem som utvecklat vad så använder vi @author taggen.

Markera funktioner som inte längre används som deprecated enligt WordPress standard.

PHP, CSS, HTML och JavaScript skall skrivas och dokumenteras enligt WordPress kodstandard.

https://make.wordpress.org/core/handbook/coding-standards/

PHP och JavaScript skall dokumenteras enligt WordPress dokumentationsstandard.

https://make.wordpress.org/core/handbook/inline-documentation-standards/

Felhantering och övervakning

Vid utveckling skall alla händelser, lyckade och misslyckade skrivas till en separat loggfil för den specifika WordPress-installationen.

Felmeddelanden ska skrivas till loggen med hänvisningar till exakt:

  • Vad som går fel
  • Vad som går rätt
  • När
  • Vem/vilken process som försöker göra vad

Användaren ska också få tydliga felmeddelanden vid t.ex. misslyckad kontakt med en remote webservice.

Kommunen skall genom övervakning av loggarna därmed kunna övervaka att processer som exempelvis en webbplats kommunikationer med en webservice fungerar eller att specialutvecklade funktioner uppdaterar databasen på förväntat sätt.

Det finns en framtagen funktion för logghantering som ligger i temat, plugin skall använda sig av denna för att genrera loggmeddelanden.

Systemdokumentation

Leverantören ansvarar för att dokumentera allt som utvecklas.

Systemdokumentationen ska beskriva:

  • installationsprocessen
  • eventuella åtgärder för återställning
  • systemets beroenden
  • systemets funktioner i detalj
  • hur dessa funktioner kan verifieras och felsökas
  • hur redaktören använder/implementerar funktionen

Versionshantering av ”Riktlinjer för utveckling i WordPress”

Version Datum Ändrad av Ändring
0.1 2015-10-25 Jari Koponen Första version av riktlinjerna upplagda inför vidare bearbetning.
0.2 2015-11-17 Per Lundin Lagt till versionshantering.
0.3 2015-11-19 Therese Persson Revidering av text för att bättre passa målgruppen Utvecklare.
0.4 2015-12-10 Therese Persson  Tillägg av generell beskrivning av utvecklingsförfarande.
0.5 2016-01-18 Therese Persson Tillägg om plugin-boilerplate, logghantering.
0.6 2016-01-26 Therese Persson Tillägg om åtkomst till inställningar i plugin och teman.
0.7 2016-04-19 Therese Persson Nya krav om PHP 7
0.8 2016-05-17 Therese Persson Förtydligat krav kring källkodshantering.
1.0 2017-11-02 Jimmy Granlund Översyn

 

Sidansvarig
Therese Persson