google
yahoo
bing

Web & Communities: das erste Jahr

, , , , , , 3 Comments »

mein Resumé als Fachbereichsleiterin Web & Communities

Seit vielen Jahren unterrichte ich Webprogrammierung und Webdesign an verschiedenen Ausbildungsinstituten, Fachhochschulen und Universitäten. Das Studienjahr 2008/09 war aber auch für mich eine Premiere: zum ersten Mal unterrichte ich mit der Perspektive echte SpezialistInnen für Webprogrammierung auszubilden. Zum ersten mal unterrichte ich mit der Perspektive von 6 Semestern. Zum ersten Mal werden Datenbanken und UNIX durch andere Lehrveranstaltungen rechtzeitig und solide abgedeckt.

Damit konnten wir von Anfang an wesentlich tiefer in die Webprogrammierung einsteigen. Die wichtigsten Verbesserungen und Vertiefungen gegenüber meinen früheren Lehrveranstaltungen:

  • Immer wieder Graceful Degradation/Progressive Enhancement: bei CSS, bei Javascript, bei Allem.
  • Vorstellung wichtiger Firefox-Plugins zu (fast) jedem Thema, besonders Firebug – bei CSS, bei Javascript, bei Allem.
  • Nach zwei Blöcken über Javascript und DOM zu jQuery gewechselt.
  • HTMLHttpRequest ignoriert, AJAX gleich mit jQuery gemacht.
  • Apache-Konfiguration in mehreren Schritten vorgestellt, bis zu mod_rewrite.
  • Sehr viel Wert auf Sicherheit beim Arbeiten mit der Datenbank gelegt, als Schnittstelle nur mysqli (improved) verwendet.
  • Transaktionen, Referentielle Integrität in der Datenbank gemacht.
  • Die REST Prinzipien nach und nach vorgestellt (nach Tilkov)

Ich habe zu den beiden Lehrveranstaltungen ausführlich Skripten herausgegeben, diese sind jetzt auf scribd öffentlich zugänglich:

Pdf_16x16 MMT Webprogrammierung 1 im Wintersemester 2008 (html, http, url, css, javascript, jquery)

Pdf_16x16 MMT Webprogrammierung 2 im Sommersemester 2009 (apache, php, mysql, mysqli-modul von php, security, rest, ajax)

Neben dieser theoretischen Vorstellung von HTML, CSS, Javascript, PHP, MySQL gab es ausführliche Übungsbeispiele um den Stoff auch anzuwenden, und ein großes Semesterprojekt am Ende des Studienjahres. Mit den Lernfortschritten der Studierenden bin ich sehr zufrieden – sowohl bei den Leute die mit viel Vorkenntnissen kamen, als auch bei den AnfängerInnen.

Die Inhalte der Lehrveranstaltung werde ich für nächstes Jahr im wesentlichen gleich lassen. Einzig HTML 5 will ich villeicht hinzufügen. Die Reihenfolge will ich noch etwas verändert: Mit PHP bis zum 2.Semester zu warten ist unnötig, da könnte man schon früher einsteigen und das würde die Semesterprojekte vereinfachen.

Dieser Artikel erschien ursprünglich im Blog von MMT

Wordpress Datenbank Wahnsinn

, , , , 1 Comment »

Ich liebe Wordpress.

Aber die Datenbank-Struktur von Wordpress, die hasse ich. Die ist soooo weit von relational entfernt, das ist unglaublich.  Da kriegen Datenbank-Profis schon Kopfweh wenn sie sich nur auf 100 Schritte nähern.

Heute wollt ich z.B. User aus einer Wordpress-Installation in eine andere Übernehmen.  Schaut auf den ersten blick ganz einfach aus: Inhalt der Tabelle wp_user kopieren in die Datenbank des anderen Wordpress. Dort ist der “table_prefix” anders eingestellt, drum heisst die Tabelle dort wp_kids_users.

Auf den zweiten Blick seh ich: ich muss auch wp_usermeta kopieren auf wp_kids_usermeta.

Und dann kommt das dicke Ende: Mit der Fehlermeldung “You do not have sufficient permissions to access this page” bzw. “Ihre Zugriffsrechte reichen nicht aus, um diese Seite zu anzuzeigen.” verweigert das Wordpress-Backend den Zugriff.

Der Grund: In der Tabelle wp_kids_usermeta wird der Tabellen-Prefix auch verwendet:

Nach Schlüssel sortieren:

umeta_id user_id meta_key meta_value
1 1 nickname bjelli
2 1 rich_editing true
3 1 wp_kids_capabilities a:1:{s:13:”administrator”;b:1;}
4 1 wp_kids_user_level 10
5 1 first_name Brigitte
6 1 last_name Jellinek

D.h. bei Veränderung des Tabellennamens muss auch der Inhalt der Tabelle verändert werden, damit Wordpress weiterhin funktioniert:

UPDATE {$newprefix}usermeta SET meta_key = “{$newprefix}capabilities” WHERE meta_key = “{$oldprefix}capabilities”;
UPDATE {$newprefix}usermeta SET meta_key = “{$newprefix}user_level” WHERE meta_key = “{$oldprefix}user_level”;

Liebe Leute: nehmt Euch Wiordpress nicht als Vorbild für Datenbank-Design, macht das nicht nach. Schön ist anders.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Anmelden