DNN-Modulprogrammierung - ein einfaches Beispiel (Schritt 0 - Einleitung) (Michael Tobisch)
Bleiben wir einmal bei diesem Beispiel. In der Datenbank sollen Kontakte gesammelt werden, und zwar – um den Aufwand minimal zu halten – Vorname, Nachname und E-Mail-Adresse. Keines dieser Felder darf NULL-Werte haben, und in der Anwendung gibt es folgende Möglichkeiten:
- Anzeige aller Kontaktdaten
- Abrufen eines Kontakts
- Anlegen eines Kontakts
- Bearbeiten eines Kontakts
- Löschen eines Kontakts
Einfacher geht’s also wirklich nicht. Wir werden später die Tabelle noch um einige optionale Daten erweitern, auch um Daten die nicht unbedingt alle nur Textfelder enthalten.
Voraussetzungen
Ich habe in meiner Entwicklungsumgebung die Source-Variante von DNN 04.08.01 und MS SQL Server 2005 Express installiert. Als Entwicklungsumgebung kommt Visual Studio 2008 Express (Visual Web Developer 2008) zum Einsatz. Nachdem ich hier nicht vorhabe, irgendwelche SQL 2005-spezifischen "Schweinereien" zu verwenden, müsste aber alles mit SQL Server 2000 bzw. MSDE 2000 auch funktionieren, auch mit Visual Studio 2005 (bzw. Visual Web Developer 2005) sollte alles funktionieren. Dazu verwende ich noch das hier in der Usergroup zur Verfügung gestellte deutsche Sprachpaket.
Falls du eine niedrigere Version von DNN installiert hast, ist das auch kein Problem, 04.06.00 sollte es allerdings mindestens sein, weil ich die IHydratable-Schnittstelle implementieren werde. Falls deine Installation also darunter liegt kannst du diesen Schritt aber einfach weglassen, es sollte trotzdem funktionieren.
Wie man DotNetNuke lokal installiert, darauf will ich hier nicht näher eingehen. Es gibt dafür genügend Anleitungen im Web, z.B. DNN-Installation unter Windows Vista oder DotNetNuke Installation Guide (PDF). Auch hier im Forum gibt es dazu einige Beiträge.
Wie geht es weiter?
Die weiteren Blog-Einträge werden systematisch die Entwicklung eines DNN-Moduls zeigen. Ich habe dabei folgende Schritte geplant:
- Erstellen der Tabelle und der Gespeicherten Prozeduren
- Die Datenzugriffsschicht
- Die Geschäftsobjekte
- Die Präsentationsschicht - Kontakte anzeigen
- Die Präsentationsschicht - Kontakte einfügen, bearbeiten und löschen
- Die Präsentationsschicht - Das Layout
Das alles wird mit viel Source-Code und Screenshots gespickt sein, damit es auch gut nachvollziehbar wird. Die Source-Codes stehen auch zum Download zur Verfügung, damit man nicht alles aptippen muss - allerdings nur für angemeldete Benutzer.
(PS: Nachdem mich Sebastian - siehe unten - davon überzeugt hat, das SQL Server Management Studio aussen vor zu lassen, muss ich jetzt doch einiges ändern. Also bitte noch etwas Geduld, bis Sonntag sollte der erste Teil fertig sein.)
(PSS: Ich würde mir übrigens viele Kommentare wünschen - und Anregungen, wie sich der Modul entwickeln soll, nachdem wir einmal die grundlegenden Funktionen erstellt haben)