Nov 23

Spielereien sind mit dem neuen Release von CakePHP 1.3.0 alpha natürlich möglich. Wer jedoch den Backofen nutzen möchte und damit die bake shell, sollte weiterhin auf die Stable-Version 1.2.5 setzen.

Bei 1.3.0 alpha funktioniert bake nicht wie es soll, da einige Klassen in der (neuen) Alpha-Version woanders auftauchen als es bislang der Fall war.

Typische Fehlermeldung: “ConnectionManager” not found (oder ähnlich)

Daher: Für den vollen Cake Genuß die Stable-Version nutzen.

Tagged mit:
Nov 22

Mit bake wird dem Programmierer bei CakePHP noch mehr Arbeit abgenommen. Es können dadurch automatisch Models, Controllers und Views erstellt werden. bake wird über die Konsole (Eingabeaufforderung) gesteuert. Dazu muss das Programm jedoch erst einmal dem System bekannt gemacht werden. Hier eine kurze Anleitung dazu:

  • Start -> Systemsteuerung -> System
  • Reiter “Erweitert” auswählen
  • Button “Umgebungsvariablen” klicken
  • Unter “Systemvariablen” den Eintrag “Path” suchen
  • Button “Bearbeiten” klicken
  • Ans Ende der Zeile (Vorsicht: Erst ein Seminkolon setzen) den Pfad zum Ordner “console” eintragen
    Beispiel: “C:\Programme\xampp\htdocs\webseite\cake\console”
  • Alle geöffneten Fenster wieder schließen
  • Die Konsole (Eingabeaufforderung) öffnen, durch Start -> Ausführen
  • “cmd” eintragen und “OK” klicken
  • Zum Ordner der CakePHP Anwendung navigieren (hier “webseite”)
  • “cake bake” eingeben und schon kann gebacken werden…

Weitere Informationen, wie dann was zu backen ist, kann auf den Seiten von CakePHP nachgelesen werden.

Tagged mit:
Nov 22

Auf dieser Seite wurde im Rahmen einer Diplomarbeit (ja, es ist meine) ein praktischer Ansatz zu automatischen Transformation von UML Klassendiagrammen zu OWL DL Ontologien entwickelt.

Mit einem XSLT Script ist es möglich, bereits bestehende UML Klassendiagramme innerhalb von Minuten in eine gültige OWL Ontologie zu überführen, ohne dass semantischer Inhalt verloren geht. Nähere Informationen dazu auf der Seite der Diplomarbeit.

Mit dem zweiten XSLT Script kann die UML als Modellierungssprache für eine OWL Ontologie genutzt werden. Die Ontologieerstellung wird somit vereinfacht und visualisiert. Es gibt in dieser Richtung andere (vermeintlich vielversprechendere) Ansätze, jedoch wird bei diesem praktischen Ansatz die Semantik der einzelnen UML Elemente beibehalten. Auch hier gibts nähere Informationen auf dieser Seite.

Tagged mit:
Nov 21

XAMPP simuliert einen Apache-Webserver und bringt auch gleich noch eine MySQL-Datenbank mit. CakePHP kann natürlich zu der lokalen Datenbank eine Verbindung herstellen. Dazu muss – wie auch bei einer Verbindung zu einer Datenbank die irgendwo im Server-Nirvana liegt – die Datei database.php im Ordner app/config/ angepasst werden.


var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'passwort',
'database' => 'datenbankname',
'prefix' => '',
);

Doch wie ist das Passwort für die lokale Datenbankinstallation? Antwort darauf gibt die Datei config.inc.php im Ordner phpMyAdmin der XAMPP Installation. Dort sind die folgenden Zeilen zu finden:


$cfg['Servers'][$i]['auth_type']     = 'http';
$cfg['Servers'][$i]['user']          = 'root';
$cfg['Servers'][$i]['password']      = 'root';

Das Passwort kann hier direkt geändert werden. Vorsicht: Aus Sicherheitsgründen, sollte der auth_type nicht auf config stehen, sondern auf http. Wenn der Rechner nicht am Netz hängt, kann die Sicherheit vernachlässigt werden.

Tagged mit:
Nov 21

… sollte – so möge man denken – auch über den Form-Helper in CakePHP definiert werden. Dass dies nicht funktioniert und auch nicht sinnvoll ist, soll der kurze Artikel verdeutlichen.

Innerhalb der Methode input können neben dem Namen des Feldes verschiedene Optionen innerhalb eines Arrays für die Eigenschaften angegeben werden. Mit maxLength zum Beispiel wird die maximale Anzahl an Buchstaben angegeben, die im Inputfeld erlaubt sind.

$form->input('name', array('maxLength' => '50'));

Eine Aussage zur Größe (zur Breite) des Feldes wird damit natürlich nicht festgelegt. Nun könnte man denken, dass mit einer Option “size” genau das erreicht wird. Ein Blick ins Manual von CakePHP zeigt jedoch, dass diese Option nicht existiert. (im Gegensatz zu der Meinung, die in diesem Post auf Nabble publiziert wird)

Und das ist auch gut so! Denn: Die Größe eines Inputfeldes ist natürlich ein Formatierungsproblem. Layout und Struktur sollten selbstverständlich weiterhin getrennt bleiben, weshalb die Größe eines Inputfeldes in einer CSS-Definition angegeben werden sollte.

Wer also zu Beginn mit der Standard CSS-Datei cake.generic.css arbeitet, der muss in dieser Datei die Angabe für die Größe (in diesem Beispiel vom Standard width:100% auf width:20% reduziert) der Inputfelder ändern.

input, textarea {
	clear: both;
	display: block;
	font-size: 140%;
	font-family: "frutiger linotype", "lucida grande", "verdana", sans-serif;
	padding: 2px;
	width: 20%;
}
Tagged mit:
Nov 21

Anfang November 2009 besuchte ich für zwei Tage die Hauptstadt Österreichs. Ein paar kurze Gedanken und Erfahrungen zu der meiner Meinung nach sehr schönen Stadt:

  • Unbedingt öffentliche Verkehrsmittel nutzen. Die U-Bahn und Straßenbahn fahren in der Regel alle 2 – 3 Minuten.
  • Ein 48 Stunden-Ticket kostet nur 10.00 Euro, nähere Infos dazu auf htp://www.wienerlinien.at. Vorsicht: Der Flughafen zählt nicht mehr zum Stadtgebiet Wien. Hier ist ein zusätzliches Ticket zu lösen. Das Ticket im Zug beim Schaffner ist teurer als am Automaten.
  • Dienstags Abend kann ich den Bachelorclub empfehlen, der Teil der Passage am Wiener Burgring ist.
  • Schloss Schönbrunn ist imposant und einen Abstecher wert.
  • Der Schnitzelwirt Wien in der Neubaugasse bietet viel Schnitzel zu kleinen Preisen. Die Bedienung war jedoch ziemlich unfreundlich. Tipp: Eine Portion Pommes Frites für zwei Personen reicht vollkommen aus, wenn jeder ein Wiener Schnitzel bestellt.

Fazit: Wien lohnt sich! Im Sommer natürlich schöner als bei verregnetem Wetter.

Tagged mit:
preload preload preload