C#-Projekt: Einstieg

Ich bin nun schon eine Zeit an meinem neuen “Groß”-Projekt zugange und habe heute erst angefangen zu programmieren. Die Zeit bis jetzt habe ich für den Entwurf des Systems in UML gebraucht und dessen Abstimmung mit den anderen Anwendern. Obwohl die Anwendung jetzt nicht sooo umfangreich ist, habe ich doch einige kleinere Designfehler im ersten Entwurf gemacht, die ich tatsächlich nur anhand des UML-Diagramms beheben konnte. Dadurch habe ich meiner Meinung nach durchaus Zeit eingespart. Das Fixen im Quellcode zu einem späteren Zeitpunkt hätte sicherlich länger gedauert. Und auch der Überblick über das System als Ganzes ist bei einem übersichtlichen Diagramm einfach besser, sodass ich neue Features recht schnell modellieren konnte. Man sollte es nicht glauben, aber die Dozenten haben tatsächlich Recht, wenn sie propagieren, dass die Designphase die wichtigste bei der Softwareentwicklung ist 🙂

Ich habe mal meinen bisherigen Entwurf angehängt. Dieser besteht zwar nur aus 2 Diagrammen, aber die reichten mir zusammen mit dem ERM erstmal, um mit den Anwendern die Funktionen und die Struktur besprechen zu können. Ich habe versucht, mich an die Vorgehensweise im Buch “UML 2 projektorientiert” zu halten, in dem die Autoren auch nur die ihrer Meinung nach wichtigsten und sinnvollsten Diagramme verwenden. Das wären hauptsächlich Use-Case- und Klassendiagramme. Sequenzdiagramme zum Beschreiben der einzelnen Vorgänge habe ich mir gespart, weil die Funktionen nicht allzu komplex sind.

  • Use-Case-Diagramm
    Use-Case-Diagramm
  • Klassendiagramm
    Klassendiagramm
  • Entity-Relationship-Modell
    Entity Relationship Modell

Weiterlesen…

Lost S02E24

Oh mein Gott! Morgen kommt schon das Finale der zweiten Staffel von LOST: “Live Together, Die Alone”.

Wie soll ich es bloß die nächsten 3 Monate ohne meine wöchentliche Dosis Hochspannung aushalten? 😉 Und auf der Fan-Seite steht auch noch, dass der Cliffhanger noch viel besser als bei Staffel 1 sein soll… ARGH!

Leider kann ich mich hier nicht ausgiebig über die (unglaublichen) Inhalte der letzten paar Folgen auslassen… will ja niemandem die Spannung nehmen, der sich die Staffel erst im Herbst (!) anschauen kann, während die dritte Staffel schon lange in den USA läuft. Aber ich kann es auf jeden Fall kaum erwarten, die letzte Folge zu schauen…

Artikelbezogene Zugriffsberechtigungen im MediaWiki

Meine erste Lösung zum Thema Zugriffsberechtigungen pro Seite im MediaWiki ist nicht mehr so ganz praktikabel, da nur Admins die Seiten hinzufügen können und das immer im Quelltext des Wikis tun müssen (zumindest in der LocalSettings.php). Daher habe ich jetzt eine kleine Extension programmiert, mit der man mit Tags im Artikel selbst den Zugriff beschränken kann.

Funktionsbeschreibung

  • Anonyme Benutzer dürfen nichts, außer sich anmelden (weitere erlaubte Seiten können einfach hinzugefügt werden).
  • Angemeldete Benutzer dürfen darüberhinaus weitere definierbare Seiten anschauen.
  • Mitglieder definierbarer Gruppen bzw. einzelne Benutzer dürfen alles (explizite Freischaltung im Quelltext der Extension).
  • Angemeldete Benutzer, die weder selbst freigeschaltet, noch in einer der freigeschalteten Gruppen sind, dürfen nur Artikel lesen bzw. ändern, für die es ihnen durch die Tags erlaubt ist.

Technische Umsetzung

  1. Zunächst habe ich mich in der MediaWiki-Dokumentation noch einmal die grundlegende Herangehensweise bei der Programmierung einer Extension angeschaut und die Tags definiert, indem ich die Datei TagsUserPermissions.php im Ordner extensions/ angelegt habe. Diese habe ich dann in der LocalSettings.php inkludiert: include("extensions/TagsUserPermissions.php");
  2. Danach konnte ich nun schon einmal meine selbstdefinierten Tags im Wiki eingeben:
    • LesenBenutzer
    • LesenGruppe
    • AendernBenutzer
    • AendernGruppe
      Die Namen dürften recht sprechend sein, sie sind aber im Quelltext der Extension beliebig änderbar. Die Tags werden in den Artikeln nicht angezeigt, sie sind nur in deren Quelltext sichtbar.
  3. Die eigentliche Arbeit übernimmt nun eine Funktion, die ich als Hook-Funktion dem Event-Handler UserCan zugewiesen habe. Wie das geht, steht in der MediaWiki-Dokumentation. Auf jeden Fall wird die Funktion nun immer dann aufgerufen, wenn intern überprüft wird, ob der aktuelle Benutzer auf der aktuellen Seite eine Aktion (lesen, ändern, verschieben etc.) ausführen darf. Kurz gesagt liest sie per Regular Expressions die Tags aus und prüft die Gruppenzugehörigkeit des aktuellen Benutzers bzw. direkt den Benutzernamen. Die Extension besteht aus einer einzigen Datei zwei Dateien (die Extension und eine SpecialPage, auf der man die vergebenen Berechtigungen einsehen kann), die ich natürlich gerne zum Download anbiete. Ein Klick auf die Dateien öffnet sie auch direkt im Browser (inklusive Syntax-Highlighting). Die SpecialPage muss im Ordner includes/ abgelegt werden.

Noch ein Rise Against-Song

Und der nächste Song ist online: Injection vom neuen Rise Against-Album (via Waste of Mind). Und genau wie der letzte verdammt gut… ich kanns kaum noch erwarten, bis ich endlich das ganze Album hören kann 🙂

Und da ich auch einer von 40 Millionen bin, die Sakrileg gelesen haben, bin ich heute nachmittag zum Kino gefahren, um Karten für Donnerstag vorzubestellen. Und was muss ich dort zwischen den ganzen Kindern, die auf die Nachmittagsvorstellung von Ice Age 2 warteten, erfahren? “Der Film ist noch nicht im Computer erfasst.” Mhh… na toll. Dann werde ich wohl morgen abend nochmal vorbeischauen. Ich möchte nämlich ungern eine halbe Stunde anstehen und dann in der zweiten Reihe im Raucherbereich sitzen (wie bei Herr der Ringe III). Das macht mein eh durch die harte PC-Arbeit stark beanspruchter Nacken nicht mit 😉

Bestimmten Benutzern das Editieren von Artikeln im MediaWiki erlauben

Es widerspricht zwar dem Wiki-Konzept, einzelnen Benutzern oder Benutzergruppen den Zugriff auf bestimmte Seiten zu verwehren bzw. zu erlauben, aber gerade in Unternehmen wird diese Anforderung doch recht schnell gestellt.

Nachdem ich einige Zeit die Mediawiki-Dokumentation durchforstet habe, bin ich zwar auf einige interessante Artikel zum Thema Einschränkung der Benutzerrechte gestoßen, aber meine Anforderungen konnte ich damit nicht abbilden:

  • Es soll zwei Benutzergruppen geben: “EDV” und “normale” Benutzer.
  • Die EDV-Benutzer sollen alles machen können (Seiten lesen, editieren etc.).
  • Die normalen Benutzer sollen nur die von mir definierten Seiten lesen bzw. bearbeiten können.
  • Anonyme Benutzer sollen gar nichts machen können (außer sich anzumelden).

Weiterlesen…

FHWT-Vorlage in LaTeX

Ich habe jetzt die LaTeX-Vorlage für meine zukünftigen Hausarbeiten an der FHWT fertiggestellt. Es hat einige Zeit gedauert, sich einzuarbeiten, aber wie ich finde, habe ich ein recht gutes Ergebnis erzielt. Eine Vorschau der erstellten PDF-Datei und die gesamte Vorlage als LaTeX-Dokument gibt es hier zum Download.

Eine verbesserte Version, die ich auch für meine Diplomarbeit verwendet habe, gibt es hier: LaTeX-Vorlage für die Diplomarbeit an der FHWT

Neue Gitarre: Ovation Celebrity CC024

Nach Jahren des Spielens auf meiner allerersten Konzertgitarre habe ich mir letzte Woche endlich eine neue Westerngitarre gegönnt: die Ovation Celebrity CC024 😀

Sie hat ein eingebautes Stimmgerät (siehe Foto 2) und klingt verdammt gut. Ich musste zwar ein wenig mit der Saitenlage rumschrauben, bis das nervige Klirren der Saiten in den höheren Lagen bestmöglich eingedämmt war, aber inzwischen habe ich sie auch schon auf einem kleinen Vorspielen im Garten eingeweiht… und sie klingt einfach gut 🙂

Außerdem sieht sie auch noch verdammt cool aus in “Honey Burst”. Nun kann ich endlich auch einige Soli ohne Amp spielen. Das kommt immer gut und man ist nicht auf die unteren Bünde beschränkt. Aber bis ich Pride and Joy darauf hinbekomme, wird es wohl noch etwas dauern 😉

Ovation Celebrity CC024 Nachaufnahme des Stimmgeräts der Ovation Celebrity CC024

Nebenbei: die Bilder werden mit dem Lightbox-Plugin von ZEO angezeigt… genial, oder?

CD-Tipp ‘Hoobastank – Every Man For Himself’

Habe jetzt die neue Hoobastank-CD auf “Rotation” und muss sagen, dass sie mir nach einer gewissen Einhörzeit inzwischen sehr gut gefällt. Nach dem ersten Hören dachte ich noch: “Mensch, die verkommen auch noch zu Schmuserockern!”. Aber nach einigem Durchhören stimmt das gar nicht (zumindest nicht ganz).

Es sind schon einige langsamere Stücke auf der Platte, aber auch sehr rockige Nummern (mit einer geht es direkt los als Track 2 – Track 1 ist seltsames Gemurmel ;)). Und die Melodien gehen sofort ins Ohr, das haben die Jungs echt drauf. Der Sänger scheint auch die Kopfstimme für sich entdeckt zu haben und baut sie in so ziemlich jedem Song ein… und Instrumente wie Trompeten habe ich bislang auch noch in keinem Hoobastank-Song gehört. Die scheinen wohl mal experimentiert zu haben.

Aber es hat sich insgesamt gelohnt, denn die CD ist durchaus empfehlenswert. Hätte ich ein Punktesystem, wäre die neue CD ca. bei 7 von 10 oder so…

Rise Against

Wow. Habe gerade den neuen Song Chamber the Cartridge von Rise Against gehört… (via Waste Of Mind) ich muss sagen: Hammergeil! Wenn alle Songs des neuen Albums so genial sind, wird sich an meinem Bild von ihnen als eine meiner absoluten Lieblingsbands wohl nichts ändern 😉
In nächster Zeit kommen ja recht viele Alben heraus, an die ich große Erwartungen habe: Billy Talent, Good Riddance, Halifax, Less Than Jake und vor allem The Living End. Ich freue mich schon 🙂 Und das neue Album von Hoobastank muss ich mir auch mal besorgen, obwohl mich die Single, die im Moment im Radio läuft nicht ganz so überzeugt…

Prüfung 70-292

Mein neuestes Buch ist angekommen: Der Völk zur Microsoft Prüfung 70-292.

Nachdem ich mit den Büchern von Herrn Völk schon erfolgreich meinen MCSA für Windows 2000 gemacht habe, dachte ich mir, dass die Upgrade-Prüfung mit seiner Hilfe sicherlich auch gut zu schaffen sein wird. Habe mir gestern die ersten Fragen schonmal oberflächlich angeschaut, und Einiges war mir noch von “früher” bekannt bzw. wird recht schnell wieder aufzufrischen sein.

Es hat sich ja nun auch nicht soviel verändert von Windows 2000 Server zu Server 2003… Und da ich im Unternehmen auch sehr viel mit unserem Active Directory zu tun habe, einen SUS– und danache einen WSUS-Server aufgesetzt und das Upgrade unserer Clients auf Windows XP per RIS durchgeführt habe, dürften die meisten Fragen kein größeres Problem sein. Es kommt aber wohl wieder auf die Details an, also wo welches Logfile liegt oder auf welchem Reiter in welchem Menü die gewünschte Einstellung versteckt ist. Von daher ist eine intensive Vorbereitung schon anzuraten, auch weil die Prüfung ja nun nicht gerade kostenlos ist 😉

Meine weitere Planung wäre dann der MCSA 2003: Security, den ich mit zwei zusätzlichen Prüfungen erreichen könnte. Das Thema Sicherheit ist (nicht nur meiner Meinung nach) äußerst wichtig und ich kann die neuen Erfahrungen, die ich im Laufe des Selbststudiums wohl machen werde, auch vielleicht direkt im Unternehmen anwenden (Stichwort Verschlüsselung etc.). Da wir leider keinen ISA-Server im Einsatz haben, werde ich wohl die Prüfungen 70-299 und CompTIA Security+ ablegen müssen. Aber das wird erstmal noch eine Weile dauern…