Die fertigen Migrationsskripte

Heute war viel los und daher habe ich nicht viel mehr geschafft, als die Migrationsskripte fertig zu stellen – hoffentlich fertig :-).

Wer möchte werfe einen Blick darauf. Dargestellt ist immer nur der Inhalt der up Action.

» Den gesamten Beitrag Die fertigen Migrationsskripte lesen


Datenbanktabellen erstellen und Migrationen

Wie bereits angeklungen, verwendet Rails sogenannte Migrationsskripte, um alle Datenbankänderungen durchzuführen.

Diese werden in /db/migrate/ abgelegt. Über ein Migrationsskript kann eine Tabelle zum Beispiel erstellt, gelöscht oder geändert werden. Grundsätzlich kann man solche Migrationen natürlich per Hand anlegen, aber das geht auch einfacher mit dem Model Generator und über die Konsole mit dem Befehl

ruby script/generate model Modelname

» Den gesamten Beitrag Datenbanktabellen erstellen und Migrationen lesen


Rails konfigurieren und eine Datenbank erstellen

Jetzt wo wir die erste Anwendung erzeugt haben, wird es Zeit diese mit Leben zu füllen.

Initial spielen dabei die vier Verzeichnisse app, config, db und public eine Rolle. Widmen wir uns erst einmal dem public-Verzeichnis. Hier müssen wir zunächst nur etwas aufräumen. Alle Standardbilddateien in images werden gelöscht, ebenso wie alle JavaScript Dateien bis auf die application.js in javascripts (ich arbeite später mit jQuery und nicht prototype). Weiterhin lösche ich die index.html, die direkt in public liegt. Wenn Ihr jetzt die Seite aufruft, bekommt Ihr eine Fehlermeldung ("We’re sorry, but something went wrong. We’ve been notified about this issue and we’ll take a look at it shortly."), aber keine Panik, dass beheben wir bald.

» Den gesamten Beitrag Rails konfigurieren und eine Datenbank erstellen lesen


Git: SSH Schlüssel mit msysGit erzeugen

Zwar konnte ich in den vergangen Tagen mangels Zeit nicht viel am Projekt hier weiterarbeiten, aber dennoch geht es voran. Martin hat mir nämlich Platz auf einem seiner Server eingeräumt uns so kann ich bald auch online mit Rails loslegen.

Die Daten müssen dann natürlich auch vom lokalen Rechner auf den Server und für diesen Zweck werde ich/wir Git einsetzen, da ich damit gute Erfahrungen gemacht habe. Die Macher selbst beschreiben das Projekt so:

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. » Den gesamten Beitrag Git: SSH Schlüssel mit msysGit erzeugen lesen


WEBrick durch Mongrel Server ersetzen

Ich habe mir sagen lassen, dass es unter anderem aus Performance Gründen sinnvoll sei, den mit Ruby ausgelieferten WEBrick Server durch einen Mongrel Server zu ersetzen.

Das was ich dazu im Internet gefunden habe, lässt vermuten, dass da was dran ist. Was also muss man machen, um Mongrel zu installieren?

» Den gesamten Beitrag WEBrick durch Mongrel Server ersetzen lesen


Die Verzeichnisstruktur einer Rails-Anwedung

Ein paar Worte vorweg. Ruby on Rails ist ein Framework das nach der Model View Controller (MVC) Architektur gestaltet ist.

Bei einer derartigen Architektur, wird die Anwendung grob in drei Schichten unterteilt, die die Verantwortlichkeiten bei der Ausführung strikt trennen. Um jetzt nicht völlig vom Thema abzukommen, überlasse ich die genau Erklärung einer MVC-Architektur mal anderen, oder komme später noch einmal darauf zurück.

» Den gesamten Beitrag Die Verzeichnisstruktur einer Rails-Anwedung lesen


Die erste Rails-Anwendung vorbereiten

Jetzt wo alles so schön läuft, wird es Zeit mit der ersten Anwendung zu starten. Für die habe ich zuvor ja genug Vorbereitungen getroffen, so dass sich jetzt direkt die Frage stellt, wie das mit Ruby on Rails funktioniert.

Zunächst einmal erstelle ich mir ein eigenes Verzeichnis unter ‘c:\Web’ mit dem Namen Rails, in dem ich alle meine Anwendungen ablegen werde. Anschließend wechsele ich in der Konsole in dieses Verzeichnis (man merkt schon, ohne die Konsole geht nicht viel in Rails). Um eine Anwendung zu beginnen und von Rails automatisch die benötigten Verzeichnisse und Dateien zu erzeugen verwendet man folgenden Befehl:

rails meinprojekt

» Den gesamten Beitrag Die erste Rails-Anwendung vorbereiten lesen


Ruby on Rails lokal installieren

Nachdem ich mich in den vergangenen Tagen erst einmal unserem Hausnetzwerk gewidmet und zudem zwei Rechner neu aufgesetzt habe, ist heute ein guter Zeitpunkt das Thema Ruby on Rails, im Speziellen, die lokale Installation auf einem Rechner, zu besprechen.

Da mein Desktop-Rechner zu Hause eh ganz neu aufgesetzt wurde, kann ich den Weg jetzt noch einmal live nachvollziehen und so sicherstellen, dass mir nichts entgeht.
Da ich hier auf einem Rechner mit Windows 7 arbeite, gelten die folgenden Ausführungen auch nur für eine solche Umgebung – andere Windows Betriebssysteme werden sich sicherlich nur marginal davon unterscheiden, aber für Mac, Linux und Co. kann das ganz anders aussehen.

» Den gesamten Beitrag Ruby on Rails lokal installieren lesen


Datenbankmodell – Version 1

So, das ist dann auf die Schnelle zusammengebaut das Datenbankmodell für die untenstehenden Funktionen. Ich bin mir sicher, dass da noch kleine Änderungen notwendig werden, aber im Großen und Ganzen sollte es so passen.

Datenbankmodell - Version 1

» Den gesamten Beitrag Datenbankmodell – Version 1 lesen


Funktionsumfangsplanung

Bevor ich mich an die technische Detailplanung mache, erst mal eine kleine Übersicht darüber, das es alles für Funktionen geben soll

  • Beiträge:
    • Titel, Anreißer, Text, Status (freigeschaltet, unveröffentlicht, gesperrt), Erstellungs- und Updatedatum, Autor, Kategorien, Tags, Anzahl der Kommentare, Permalinks
    • CRUD
    • CU: mit WYSIWYG-Editor und zentraler Medienbibliothek zur Referenzierung in den Beiträgen
    • Übersicht (Titel, Datum, Anreißer) mit Pager
    • Detailansicht mit Kommentaren, verwandte Beiträge
  • Kategorien:
    • Name, Permalink
    • CRUD, nur für Admin
    • Beitragsübersicht in einer Kategorie
  • Kommentare:
    • Referenzbeitrag, Autor (Name), Text, Webseite, E-Mail, Erstellungs- und Updatedatum, Status (veröffentlicht, gesperrt)
    • ggf. Gravatar
    • CRUD, UD nur für Admin
  • Tags:
    • Tag, Anzahl der Verwendungen, Permalink
    • werden zentral verwaltet und in den Beiträgen nur referenziert
  • Medienbibliothek:
    • Name, Beschreibung (für alt-Tag), Dateiname, Dateityp, Größe, Ausmaße (bei Bildern), Datum, Autor
    • Integration in WYSIWYG-Editor
    • später vielleicht Kategorien
  • WYSIWYG-Editor:
    • Überschriften, fest definierte CSS-Stile, Fett, Kursiv, Unterstrichen, ausrichten (links, rechts, zentriert), Listen (ungeordnet, nummerisch), Links, Bilder, Tabellen, HTML
    • sauberes HTML wichtig
  • Authentifizierung:
    • zunächst nur sehr simpel
    • feste Liste von Benutzern mit vollem Adminzugriff
  • Suche:
    • über alles
    • nur über Beiträge: Name, Anreißer, Text
    • nur über Kommentare: Autor, Text

Da später sicher noch mal Sachen dazukommen und das fürs Erste absolut genug ist, mache ich jetzt mal Schluss mit der Liste und planen den nächsten Schritt. Da es ja nur eine ganz kleine Anwendung ist, überspringe ich mal ein paar Schritte und mache mit dem Datenbankmodell weiter. Also frisch ans Werk und bis später.