Author: Per Thykjaer Jensen
-
Cebit – program
Torsdag den 7. marts 2013
Kl. 07:30 – Mødetid på skolen
Kl. 08:00 – Afgang fra Tietgen Kompetencecenter, Ejlskovsgade 3, 5000 Odense vi kører med Bergholt Bus, Rudkøbing.
Kl. 09:00 – Opsamling i Bramdrupdam. Afkørsel 63, ved OK-tanken, Vejlevej 361, 6000 Kolding. Hurtigt stop ved grænsen (20 min.) – Fleggaard – www.fleggaard.dkKl. 14:00 – Ca. ankomst til messen – www.cebit.de
Kl. 18:00 – Afgang fra messen
Kl. 19:30 – Ca. ankomst til hotellet – www.rennschuh.de
Kl. 20:00 – Middag på hotelletFredag den 8. marts 2013
Kl. 07:00 – Morgenmad
Kl. 08:00 – Afgang fra hotellet.
Kl. 10:00 – Ca. ankomst til Cebit messen
Kl. 16:00 – Afgang fra messen
Kl. 18:00 – Ca. ankomst til Restaurant Maximo – www.restaurant-pinneberg.de
Kl. 19:30 – Afgang fra Restaurant Maximo
Kl. 22:30 – Ca. ankomst til Ejlskovsgade 3, Odense (afhængig af trafik) -
Primitiv fungerende prototype
En meget primitiv udgave af kanbanen til WP er ved at være klar i version 0.01. Måske skulle der flere nuller på. Systemet kan håndtere flere kanban boards og dertil knyttede kolonner. Kanbanen kan bruges af alle brugere på en given WP installation. WPs menuerne definerer, hvem der har adgang. Meget praktisk.
Nu kan der arbejdes med design og forskellige views.
Erfaringer
At arbejde på en Mac kan være en prøvelse. Jeg foretrækker at arbejde på et virtuelt Debian system, når koden skal skrives. WP API for update virkede ikke før end alle felter i tabellen fik et input. Sært; men det virker.Sammenligning med klassiske hypermediesystemer
Min kanban ligner på mange måder det gamle XEROC Parc “Notecards”. Man forsøgte dengang at styre projekter ved hjælp af notatkort på skærmen. Problemet ved Notecards var, at man ikke kunne samarbejde. Systemet var designet til én person. WP er født som et flerbrugersystem.Notecards kunne vise grafik og hyperlinks. Det bør også være muligt i en webkanban.
-
I dag
- Select box funktion i en formular. Boxens værdier hentes via MySQL.
- Noter CRUD
Og så begynder det vist at ligne noget brugbart.
- Select box funktion i en formular. Boxens værdier hentes via MySQL.
-
Select box
<select> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select>
-
Sådan: $wpdb->update / insert
$wpdb klassen bruges sådan (se Codex her):
$wpdb->update( "KbnProjects", // tabellen array('Name' => 'Værdi'), // opdateringsfeltet array('ID' => 0) // Id );
Insert fungerer i øvrigt på en lignende måde:
$wpdb->insert( 'table', array( 'column1' => 'value1', 'column2' => 123 ), array( '%s', // streng '%d' // tal ) );
Codex forklarer desværre ikke, hvordan et array skal se ud, når et felt har en autoincremented Id. I dette tilfælde indsætter man en NULL værdi. I praksis kunne det se sådan ud:
$wpdb->insert( 'MyTable', array( 'Id' => NULL, 'KbnProjects_Id' => 1, 'Color' => 'Smurphy', 'Limit' => 3, 'State' => 'Nuser!' ), array( '%d', '%d', '%s', '%d', '%s' ) );
Værdierne kunne sætte ind fra en formular, fx
'KbnProjects_Id' => $_POST['KnbProjects_Id'], 'Color' => $_POST['Color'], ... etc ...
-
Native admin tables i WordPress
Smashing Magazine (SM) har en artikel om at bruge WPs egen tabel-skaber-klasse til at skabe tabeller. Det giver en spændende funktionalitet. Læs “Create Native Admin Tables in WordPress”.
Så vidt jeg kan se er artiklen i SM inspireret af dette plugin af Matt van Andel. På sitepoint findes en ganske hæderlig forklaring til udvikling af plugins til WP af R. Nimesh. En tredje mulighed er dette plugin, der både kan lave databasen, tabellerne og shortcodes. Men den får kun tre stjerner, så der er nok en bug eller to i koden.
WP udviklere kan anvende de originale klasser til at skabe plugins, der i stil og udtryk ligner den originale WP. Som WP udvikler kommer man hurtigt til at arbejde på en måde, der minder om CakePHP frameworket – selv om man dog ikke har en kommandolinje til rådighed.
-
I dag: organisere og genbruge kode
CRUD fungerer på én database, derfor:
- Oprydning i koden
- På basis af én CRUDs klasser udvikles de resterende databaser
-
Adgangskontrol i WP
Denne lille stump kode er meget nyttig:
if ( !current_user_can( 'publish_posts' ) ) { wp_die( __( 'You do not have sufficient permissions to access this page.' ) ); }
Her er WP listen over brugerrettigheder: user_can “Roles and Capabilities” på Codex.
En række af WPs hooks skriver “capability”. Hvis fx en Contributor skal have adgang til noget, så kan capability være edit_posts. Enkelt og praktisk.