The Rosetta Blog project is aiming to become a full-featured blog. It is Copyright (c) Theodore R. Smith 2010 and licensed under the [http://www.opensource.org/licenses/bsd-license.php ”’BSD License”’].

You can see the live demo of the current code at http://www.incendiary.ws/.

=== Version 1: One-file Blog ===

In [[/Version 1|”’Version 1”’]] (276 changed lines), I implemented the Model View Controller Design Pattern in a single file, mostly for illustration purposes, with only the XHTML templates being separate.

=== Version 2: Multiple Files ===

[[/Version 2|”’Version 2”’]] (595 changed lines) splits up the monolithic file into the files and folders befitting a true [[PHPBook:Model View Controller Pattern|MVC architecture]].

=== Version 3: Configuration and Pretty URLs ===

[http://repo.phpexperts.pro/source/rosettablog/files/24 ”’Version 3”’] (556 changed lines) * implemented a [[PHPBook:Singleton Pattern|Singleton pattern]] to support site configuration files. * implemented a very procedural system for creating pretty URLs for the Drupal platform.

=== Version 4: OOP URL Handlers ===

[http://repo.phpexperts.pro/source/rosettablog/files/28 ”’Version 4”’] (201 changed lines) * refactored the pretty URL system into a [[PHPBook:Factory Pattern|Factory pattern]] for platform-specific URL handling * implemented pretty URLs for both the Rosetta and Drupal platforms.

=== Version 5: Drupal 6 Article Support ===

[http://repo.phpexperts.pro/source/rosettablog/files/38 ”’Version 5”’] (453 changed lines) * abstracted out the ArticleManager model using the [[PHPBook:Delegate Pattern|Delegate pattern]]. * implemented support for Drupal 6 articles.

[[Category:PHP_From_Beginner_to_Pro]] [[Category:PHPBook:Open Source Projects]]