Portfolio On Rails

MultiMediaTechnology, 2010

Über Portfolio On Rails

Das Portfolio on Rails ist die Umsetzung des bestehenden Portfolios des Mediacubes, sowie das von MMT und MMA, in Ruby on Rails. Das jetzige Portfolio wurde in PHP programmiert. Die Idee dieser Umsetzung ist, die Verwaltung, sowie die Erweiterung des Portfolios für die Zukunft zu erleichtern. Ruby on Rails bietet durch das MVC-Prinzip eine gute Struktur die den Überblick auch für Dritte begünstigen Ich habe mich für dieses Projekt entschieden, da ich mir sicher war das dies einen großen ...

Das Portfolio on Rails

ist die Umsetzung des bestehenden Portfolios des Mediacubes, sowie das von MMT und MMA, in Ruby on Rails. Das jetzige Portfolio wurde in PHP programmiert. Die Idee dieser Umsetzung ist, die Verwaltung, sowie die Erweiterung des Portfolios für die Zukunft zu erleichtern. Ruby on Rails bietet durch das MVC-Prinzip eine gute Struktur die den Überblick auch für Dritte begünstigen

Ich habe mich für dieses Projekt entschieden, da ich mir sicher war das dies einen großen Lernerfolg für mich bedeuten würde. Das ist mein erstes großes Ruby on Rails Projekt.

Das bestehende Portfolio basiert auf einer MySql-Datenbank, diese übernahm ich. Das besondere daran war, dass die Datenbank nicht Rails-kompatibel ist und somit nicht leicht zu implementieren war. Dies bereitete mir einige Probleme. Rails erstellt Tabellen aus den Migrationen, ich habe somit keine Migrationen verwenden können. Da Rails automatiesiert primary-keys vom typ (table-name_id) und diese dann auch so erwartet, musste ich die primary_key, die_foreign_keys sowie den eigenen Tabellennamen manuell setzten. Mit Anweisungen in den Models, wie z.B. set_primary_key :pid

Das Design der Seite wurde vom bisherigen Portfolio übernommen und musste von mir richtig eingebaut werden.

Ich habe alleine gearbeitet und benutze für die User-Stories den Pivotaltracker,, und als Versionsverwaltungssystem Git. Mein Repository ist: ssh://user@repos.mediacube.at/opt/git/portfolioonrails.git/

Technisches

Verwendete Plugins und Gems:

1.Plugins

gravatar_image_tag

Da die User-Fotos vom dem Anbieter Gravatar abgerufen werden, benötigte ich dieses Plugin um die User-Fotos dar stellen zu können. Mit gravatar_id('email die bei gravatar verwendet wird') werden die User-Fotos angezeigt.

improved_mysql_schema_dumper

Die Datenbank enthält eine Tabelle(person_macht_werk) die nur eine VIEW ist. Damit man diese Tabelle bei den Tests verwenden kann benötigt man diese Plugin. (an dieser Stelle Danke an Michael Raidel für den Hinweiß zu diesem Plugin)

paperclip

Paperclip ist ein bekanntes Plugin, welches auch als Gem verfügbar ist, welches den Upload von Dateien erleichtert. Es wird hier im Backend für die Medienanhänge an die Werke verwendet.

ssl_requirement

Da das Projekt auch einen https Bereich hat, verwende ich dieses Plugin. Dadurch ist sichergestellt das gewisse Seiten nur auf https verfügbar sind. Mit dem Befehl 'ssl_required :index, :show' den man in einem bestimmten Controller angibt, stellt man klar das die Actions index und show nur unter https laufen.

2.Gems

aws-s3

Die Mediendatein des Portfolios werden extern auf einem Amazon S3 Server gespeichert. Dieses Gem stellt eine Verbindung zu dem angegebenen Bucket her und ermöglicht somit in Verbindung mit Paperclip den Upload.