Categories
WAU Blog

Tre dagbogsnotater (Aflevering 2.10. 2011)

Dagbogen er i dette projekt blevet et vigtigt redskab. Jeg besluttede at anvende min WordPress blog til formålet. Her oprettede jeg en kategori til dagbogsnotater. Normalt er en dagbog noget man skriver i et privat rum; men nettet er offentligt tilgængeligt. Og det præger sikkert stilen i dagbogen. Jeg prøver dog at skrive i en eksperimenterende hvad-nu-hvis. Man kan følge en indre dialog, der gradvist fremkalder en webløsning.

De vigtigste notater er:

Overordnet var den første udfordring at lave en plugin til Kontrolpanelet i WordPress. Da det var på plads arbejdede jeg med $wpdb klassen, der giver adgang til WP-tabeller samt andre tableller i samme database. Nu kan jeg konstruere SQL-sætninger via $wpdb. De henter tal fra observationerne. Planen er at disse observationer skal omsættes til grafer via Googles API.

PS: efter at jeg skrev dette indlæg lykkedes det at forbinde MySQL databasen med Google Chart Tools. Læs mere her.

Categories
WAU Blog

Skitse: præsentation af resultater

Skitse præsentationsdesign
Ide til præsentation af observationer fra min skitsebog.
Categories
WAU Blog

Lignende teknologier (aflevering 25.9. 2011)

Her er et link til afleveringen den 25.9. 2011 – i den form som rapporten har her og nu. Vi skulle forholde os til lignende teknologier.

Categories
WAU Blog

Udfordring: pagination

Programmeringsmæssigt bliver en af udfordringerne at håndtere “pagination”, dvs. sideopdeling af astmadagbogen. Efterhånden som der kommer flere og flere poster i astmabloggens tabel, så bliver det en nødvendighed. Pt. har jeg ikke fundet et oplagt eksempel.

Måske skal man bare tænke det lidt enkelt. En tæller “i” = længden af arrayet. Så trækker man “limit” fra ind til i

Mange kodeeksempler er umådeligt komplicerede, men det her må kunne lade sig gøre. $wpdb skal bruge en SQL sætning med en limit på fx 30 stk. pr. søgning (det ville svare til ca en måneds input, hvis folk skriver peakflow en gang pr. dag).

Categories
WAU Blog

WordPress in Depth

Når en bog vælger at hedde “Wordpress in Depth”, så kunne man forvente noget tilbundsgående. Men bogen er langt fra dybdegående, selv om den er meget lang.

Mange sider bruges til overflødige beskrivelser af WP interfaces; mens beskrivelser af udviklingsmuligheder med plugins er mangelfulde.

Faktisk kan man sige, at webudvikleren er bedre tjent med at bruge WordPress Codex online.

Men når det er sagt, så er “Wordpress in Depth” en fin bog for den, der skal begynde at bruge WordPress.

Categories
WAU Blog

Input form

Widget i kontrolpanelet
Widget i kontrolpanelet til indtastning af data.

Nu er min input form næsten klar. Formularen sender til databasen, der gemmer oplysningerne. Navnefeltet er skjult, for WP kender jo navnet på den person, der er logget på. Feltet “Navn” er overflødigt. “Fortryd” er rettet til cancel og de to knappers design er ens.

To ting mangler: a) brugernavnet skal sendes til databasen, og b) datoen skal formatteres korrekt. Når de to ting er på plads, så kan databasen modtage input.

ad a) WP kræver unikke brugernavne, så derfor er der ikke redundante data. Brugernavnet kan igen bruges til at hente yderligere brugeroplysninger til præsentationslayoutet – ved simpelt hen at filtrere oplysningerne fra WPs brugertabel. En herlig bivirkning er at man kan lave et præsentationsdesign, hvor de viste data altid stammer fra den bruger som er logget ind.

ad b) Valgte at formattere tiden via PHP date(‘d-m Y H:i:s’). MySQL anvender selv denne måde at præsentere datoen på.

Nu fungerer formularen efter hensigten:

Form faerdig
Formularen er nu klar

Man kan ikke se felterne Date og Name. Det skal man heller ikke, eftersom de er “usynlige”. PHP udfylder med de nødvendige oplysninger. Nu kan enhver bruger på en enkel måde udfylde formularen. Samtidig kan jeg som webudvikler kontrollere, “hvad hvem må se”.

Categories
WAU Blog

POST

Fidusen ved at bruge POST er at man kan nøjes med en enkelt PHP dokument. Siden henviser til sig selv. Det betyder, at validering mv. kan foregå i samme fil. Smart ‘ikk?