Litteraturlisten

Masterprojektets litteraturliste skal naturligvis skabes via en MySQL database. Derfor var det relativt enkelt at udvikle en klasse i WordPress, der automatisk formatterer litteraturlisten. Sådan ser klassen ud:

class littList {

public function BooksAnnotated() {

	global $wpdb; // wp db class

	$result = $wpdb->get_results("SELECT * FROM `Litteraturliste` ORDER BY `Author`") or trigger_error(mysql_error()); 

	foreach($result as $row){
		echo "<p><strong>" 
		. $row->Author 
		. ":</strong> &quot;" 
		. $row->Title
		. "&quot;, "
		. $row->Where
		. " ("
		. $row->Year
		. ") <br>    "
		. $row->Note																																				
		.  "</p> ";
	}

} // end littList

Databasens grundlæggende struktur er nem at rekonstruere 😉

Resultatet ser sådan ud:

Aristoteles: “Poetik”, Hans Reitzels Forlag (1958)
Aristoteles (384 – 322 fvt.) – værket er udgangspunkt for dramatisk fortælleteknik. Spændingskurven i berettermodellen er inspireret af Aristoteles. Kanban etablerer en fortælling.

Baym, Nancy: “Personal Connections In The Digital Age”, Polity (2010)
p. 6: Seven key concepts – måder at knytte sociale kontakter online.

Benson, Jim; Barry, Tonianne DeMaria: “Personal Kanban – Mapping Work | Navigating Life”, Modus Cooperandi Press (2011)
En praksisnær manual baseret på personlige erfaringer.

Bouvin, Niels Oluf & Hansen, Allan: “Kompendium: Hypermedier og Web”, Computer Science, Aarhus Universitet (2011)
p. 95 Berners-Lee, Tim: “The Semantic Web” (2001) p. 214 Nardi et al.: “Why we Blog” (2004) p. 229 O’Reilly, Tim: “What is Web 2.0” (2005) p. 54 Halaz, Frank G.: “Reflections on Notecards: Seven Issues for the Next Generation of Hypermedia Systems” (1988)

Burgess, Jean; Green, Joshua: “Youtube”, polity (2009)
p. 58 Youtube’s social network

(… etc…)

Uberto Eco råder forskere, som skal i gang med et større projekt, til at lave en samling af kartotekskort, der igen ordnes i skuffer eller kasser. Databasen er et mere nutidigt svar på forskerens udfordring.

CRUD eksperimenter

Dagens arbejde består i at få phpscaffold til at generere en kode, der kan bruges af WordPress. Jeg tager udgangspunkt i en relativt enkel tabel.

  1. Generere “stillads”.
  2. Omdanne “stilladset” til en WP plugin i Dashboard.
ER-golden
ER-diagram for webkanban.

Phpscaffold skaber fire CRUD-filer og forudsætter import af en databasekonfigurationsfil.

Phpscaffold eksempel
Phpscaffold eksempel

Hul igennem fra MySQL til Google Chart Tools

Hul igennem fra databasen til Googles Graph API
Hul igennem fra databasen til Googles Graph API

Så lykkedes det at få hul igennem fra WP MySQL databasen (via klassen $wpdb)  til Googles API.Grafen på billedet herover er lavet med (tilfældige) peakflow-værdier fra min database. Tallene fra databasen er visualiseret i form af en graf.

Grafen er udviklet via Googles Wizard. Efter at have defineret, hvordan grafen skulle se ud kunne man kopiere en img tag med en meget lang URL.

Googles URL blev delt op i tre bidder. Første del er de dele af URLen som ligger før tallene fra databasen. Så kommer værdier fra databasen (der er et imploderet array). Til sidst følger den sidste del af Google URLen. Der er selvfølgelig grænser for hvor lang en “GET” streng kan være; men ind til videre er det ikke et problem.

Brugeren skal være logget på for at kunne se resultaterne; men en demoversion lader sig vel nok fremstille på et tidspunkt. Først ville jeg splitte sagerne op i to funktioner; men det fungerede ikke efter hensigten. Så besluttede jeg at samle hele koden i én funktion i min class – og det virkede så.

Nu virker den tekniske side af mit plugin, for de øvrige værdier kan findes ved at variere SQL sætningerne og graferne; men den grundlæggende kode er meget ens. Noget helt andet er naturligvis en usabilityanalyse – og designet…

Der bør nok være en demoside, der viser The Asthma Diary i funktion med en demobruger a la billedet her.