CouchDB als Versionsverwaltung?
Könnte man auf Basis von CouchDB nicht eine verteilte Versionsverwaltung implementieren? Mir sind einige Gedanken gekommen, weshalb die Idee funktionieren könnte und welche Vorteile sie bietet.
Bereits aus der Beschreibung von CouchDB geht hervor, dass CouchDB auf schemafreien Dokumenten (also weshalb nicht Programmcode?) arbeitet. Außerdem lassen sich mehrere CouchDB-Server (also warum nicht einen[...]
- Weiterlesen
- Kommentare (0)
- Tags: couchdb, darcs, idee, projekt
Internetbasierte Kennwortverwaltung
Seit einigen Tagen ist das Thema der internetbasierten Kennwortverwaltung bei mir wieder aktuell. Wer sich genauer auf meinem Blog umgeschaut hat, wird sicherlich das Projekt OpenPassword entdeckt haben, was meinen damaligen Prototypen der internetbasierten Kennwortverwaltung darstellt. Bevor ich aber diesmal Code schreibe, werde ich die Motivation und einige andere Ideen, die ich für dieses Pro[...]
- Weiterlesen
- Kommentare (0)
- Tags: idee, projekt, web
Bifrost heißt ab sofort Biphrost
Als ich gestern Abend versuchte, auf Wunsch eines Benutzers, ein Projekt mit dem Namen "Bifrost" zu registrieren, wurde ich darauf aufmerksam, dass es bereits ein Projekt mit demselben Namen bei SourceForge gibt. Kurzerhand habe ich beschlossen, das Projekt in Biphrost um zu benennen. An der Aussprache ändert sich nichts, nur an der Schreibweise, die übrigens an PH(P) erinnern soll. Heute hab[...]
- Weiterlesen
- Kommentare (0)
- Tags: biphrost, php, projekt
Biphrost 0.1.2 veröffentlicht
Ab sofort lässt sich Bifrost runterladen. Es haben sich einige Funktionalitäten verändert:
- Dispatcher:
- Fehler beim Finden von Einstiegspunkten wurde korrigiert.
- Ein übergebener URL "/" wird nicht mehr zu "/index".
- Application-Klasse:
- Basis-URL wird nicht mehr übergeben.
- Include-Pfad wird nicht verändert.
- Das Setzen eines Dispatchers ist nun möglich.
- MyApp-Klasse:
- Include-Pfad wird verändert für den Aut[...]
- Weiterlesen
- Kommentare (0)
- Tags: biphrost, php, projekt
Biphrost: Application
Bei der Application-Klasse handelt es sich um das Herzstück jeder Bifrost-Applikation. Die Funktionalitäten sind schnell beschrieben:
- Die Verwaltung von Pfaden (Templates, Einstiegspunkte, Applikationscode).
- Verwaltung und Wahl eines geeigneten Dispatchers (i.d.R. aufbauend auf dem Pfad der Einstiegspunkte).
- Verwalten eines prototypischen Transfer-Objekts.
- Transfer-Objekte vorbereiten und nachber[...]
- Weiterlesen
- Kommentare (0)
- Tags: biphrost, php, projekt, web
Biphrost: Template
Wie fast jedes Framework verfügt auch Bifrost über eine Template-Engine. Im Gegensatz zu vielen anderen Entwicklungen stellt die Template-Klasse aus Bifrost lediglich einen leichtgewichtigen Wrapper für PHP-Templates dar. Ziel ist es nicht, möglichst viele Funktionalitäten bereitzustellen, sondern einen Container anzubieten, der in den Einstiegspunkten mit Daten gefüllt wird und am Ende der [...]
- Weiterlesen
- Kommentare (0)
- Tags: biphrost, php, projekt, web
Biphrost: Dispatcher
Der Dispatcher wurde, wie der Name bereits suggeriert, zum Abfertigen von Anfragen entworfen. Dazu benötigt er den Einstiegspunkt-Algorithmus, der in einer iterativen Variante implementiert wurde und somit verständlicher ist als die rekursive Variante und sich in der Methode findEntrance befindet:
$components = ($uri == '/' ? array('index') : array_filter(explode('/', $uri)));
$dir = $this->[...]
- Weiterlesen
- Kommentare (0)
- Tags: biphrost, php, projekt, web
Biphrost 0.1.1 veröffentlicht
Ab sofort ist es möglich, Bifrost runterzuladen.
Die Änderungen beinhalten:
- Dispatcher:
- Der Einstiegspunkt-Algorithmus wurde durch eine iterative Variante ersetzt.
- findEntrance ist nun öffentlich, was für Rechtesystem Relevanz hat.
- URLs dürfen nur noch ohne Query-Strings übergeben werden.
- Sollte ein Einstiegspunkt nicht existieren, wird das Transfer-Objekt nicht abgefertigt.
- Transfer hat ein dispat[...]
- Weiterlesen
- Kommentare (0)
- Tags: biphrost, php, projekt
Biphrost: Transfer
Die eigentliche Aufgabe der
Transfer-Komponente besteht im Transport von Daten zwischen
verschiedenen Schichten, weshalb die die Transfer-Klasse das Data-Transfer-Object-Entwurfsmuster
implementiert. Ein wesentlicher Aspekt dieses Entwurfsmusters ist das
Fehlen jeglicher Funktionalität, wenn man vom Zugriff und dem Halten
der Daten absieht.
Nebeneffekt dieses Konzepts ist das Vermeiden von g[...]
- Weiterlesen
- Kommentare (0)
- Tags: biphrost, php, projekt, web
Biphrost: Überblick
Dieser Artikel soll einen kurzen Überblick über die wesentlichsten Aspekte von Bifrost liefern. Es handelt sich dabei um folgende Themen:
- Ordnerstruktur
- Komponenten
- Abarbeitung von Anfragen
Nach dem Entpacken des Bifrost-Archivs erscheint folgende Ordnerstruktur:
- application: Sammelordner für eine bestimmte Applikation.
- application/code: Code für die Applikation und Bibliotheken sind Inhalt [...]
- Weiterlesen
- Kommentare (0)
- Tags: biphrost, php, projekt, web