Fedena: Elementare Lösung für die Schulverwaltung

Fedena Dashboard

Im Gegensatz zu Moodle geht es bei Fedena nicht um web-unterstütztes Lernen, sondern schlicht und einfach um die Administration einer Schule. Konkret können damit die persönlichen Daten von Schülern und deren Eltern, Prüfungsresultate, Präsenzlisten und Stundenpläne verwaltet werden. Die auf Ruby on Rails basierende Software ist sehr übersichtlich – was nicht nur an der hübschen Oberfläche liegt, sondern auch an dem reduzierten Funktionsumfang. In den zahlreichen und ausgesprochen ausführlichen Screencasts wird zwar immer wieder darauf hingewiesen, welche tollen Features für die Zukunft geplant sind, aber im Moment scheint mir Fedena noch ein ganzes Stück davon entfernt, eine vollwertige Campus Management Application oder ein echtes School ERP (so die offiziellen Bezeichnungen) zu sein.

Aptana Studio: Entwicklungsumgebung für HTML, CSS, JavaScript, PHP, Ruby on Rails, Python und mehr

image

Lassen Sie mich zunächst eines klarstellen: Ich bin kein Entwickler. Ich habe zwar ganz gute HTML- und CSS-Kenntnisse und schreibe zur Not auch einfache PHP-Skripts, aber mein übriges Wissen über Programmierung ist rein theoretischer Natur. Insofern kann ich Aptana Studio nicht bis ins letzte Detail beurteilen – aber das, was ich verstehe, gefällt mir ausserordentlich.

Aptana Studio ist eine Entwicklungsumgebung (Integrated Development Environment IDE), die – abgesehen von Microsoft-Technologien und Java – so ziemlich alle Sprachen unterstützt, welche derzeit angesagt sind, wenn es um Web-Applikationen geht. Das beginnt bei HTML und CSS, geht weiter über JavaScript (wobei zahlreiche populäre AJAX Frameworks wie Scriptaculous, YUI, Prototype, Mootools, jQuery oder ExtJS zum Lieferumfang gehören) und schliesst auch PHP, Ruby on Rails sowie Python ein.

Die Entwicklungsumgebung glänzt mit guter Unterstützung zur Fehlervermeidung und -suche: Bereits beim Schreiben des Codes werden Syntaxfehler moniert, und es gibt einen Debugger, der die Fehlersuche zur Laufzeit ermöglicht. Elegant ist auch die Art und Weise, wie man ein Skript (z.B. PHP) direkt ausführen und erst noch in unterschiedlichen Browsern ausgeben kann – und zwar ohne dass man einen lokalen Webserver installieren müsste.

Aptana Studio basiert auf Eclipse und kann entweder als Eclipse-Plugin oder als eigenständige Applikation für Windows, Mac OS oder Linux installiert werden. Die Community Edition ist kostenlos und kann wahlweise unter der GNU General Public Licence oder unter der Aptana Public Licence genutzt werden. Interessant ist übrigens das Businessmodell von Aptana: Während die IDE kostenlos zur Verfügung gestellt wird (sofern man nicht die Pro-Version wählt) ist die Nutzung der Server in der Aptana Cloud kostenpflichtig. Und weil das Deployment mit Aptana Cloud so elegant in Aptana Studio integriert ist, wird sich wahrscheinlich manch ein Entwickler entschliessen, seine Test- und Live-Umgebungen bei Aptana zu betreiben.

Tracks: Die Aufgabenliste im Web

image

Tracks ist so ungefähr das Gegenteil von OpenGoo oder ClockingIT: Kein umfassendes Tool für die Zusammenarbeit im Team also, sondern eine reine Aufgabenliste für das Self Management.

Wenn Sie den obigen Screenshot etwas genauer betrachten, dann haben Sie Tracks schon zur Hälfte verstanden. Gegliedert in sogenannte Contexts und Projekte können Tasks angelegt, mit Notizen beschrieben und mit Tags klassifiziert werden. Ein Task kann (aber muss nicht) mit einem Zieldatum versehen werden. Ist dieses Datum noch in weiter Ferne, dann leuchtet er beruhigend grün, fällige Tasks werden orange, und überfällige rot. Erledigte Tasks wandern in der Liste nach unten und zeigen, was man bisher geschafft hat.

image

Apropos geschafft: Tracks verfügt über eine detaillierte Statistik, welche mit aufwändigen Grafiken zeigen, wieviele Tasks man wann angelegt bzw. erledigt hat. Diese Statistik sieht attraktiv aus, bietet aber viel Potential zum Selbstbetrug: Die Anzahl der Aufgaben ist bekanntlich nicht proportional zur Leistung, die man erbracht hat – „Altpapier entsorgen“ und „Steuererklärung ausfüllen“ haben da eine ganz unterschiedliche Qualität.

Was ferner positiv auffällt sind die vielfältigen Möglichkeiten, wie man die Aufgaben über Feeds auslesen bzw. in unterschiedlichen Formaten exportieren kann. Auf diese Weise kann man seine Aufgaben zwar in Tracks zentral verwalten, aber an ganz unterschiedlichen Orten anzeigen. Auch über ein Mobiltelefon ist Tracks gut benutzbar.

Vom Bedienungskonzept her ist Tracks eine typische Web-2.0-Applikation: grafisch attraktiv, im Funktionsumfang reduziert, und dank AJAX sehr flüssig zu bedienen. Technologisch basiert die Software auf Ruby on Rails; dieses Framework steht zwar auf vielen Shared Hosting Accounts noch nicht zur Verfügung, man kann Tracks aber auch als kostenlosen Hosted Service auf http://tracks.tra.in nutzen.

(Danke Dario für den Tipp!)

BitNami: Open Source Software testen ohne Installationsaufwand

image

Nehmen wir an, Sie wollen den Release Candidate des Open Source CMS Joomla 1.5 testen. Für die Installation möchten Sie möglichst wenig Aufwand betreiben – am liebsten so wenig wie bei der Installation einer ganz normalen Desktop-Applikation. Wie geht das?

Beispielsweise mit einem Installationspaket von BitNami. Das Projekt stellt diverse Open Source Server-Applikationen in Form von handlichen Installationspaketen (auch Stacks genannt) zur Verfügung. Ein professionell gestalteter Assistent führt durch die notwendigen Schritte, fragt Speicherort und Login-Daten ab, und installiert anschliessend selbständig alle benötigten Komponenten – nebst der Software selbst auch Webserver, Datenbank etc.

image

Beim Joomla-Paket funktioniert das erstaunlich gut, sogar unter Windows Vista, das bekanntlich sehr restriktiv ist bezüglich Sicherheit und deshalb bei Installationsprozessen gelegentlich Probleme macht. Sobald der Installer seine Arbeit getan hat, öffnet sich der Browser und Joomla ist einsatzbereit. Was aber noch viel schöner ist: Genau so einfach, wie man ein Paket installiert, kann man es per Deinstallation auch wieder entfernen.

Das Angebot von BitName umfasst diverse Klassiker wie WordPress, Joomla, MediaWiki, Drupal, phpBB, Mantis, Trac, Alfresco oder Moodle. Zudem gibt es „neutrale“ Stacks mit Apache, PHP und MySQL für Windows, Mac und Linux (WAMP, MAMP bzw. LAMP) in der Tradition von XAMPP, WOS oder The Uniform Server. Auch ein RubyStack mit Ruby on Rails für Windows ist verfügbar.

Siehe auch:

"PHP on Rails": PHP-Frameworks mit MVC-Modell

Ruby on Rails scheint derzeit DAS Hype-Thema im Bereich der Web-Programmierung zu sein (vgl. auch diverse Artikel auf Open Mind). Dabei geht leicht vergessen, dass es leistungsfähige Frameworks mit MVC-Architektur und Scaffolding-Mechanismus auch anderswo gibt, beispielsweise im PHP-Umfeld.

Symfony wurde von der französischen Web-Agentur Sensio geschaffen. Es hiess deshalb zuerst Sensio Framework, die Klassenbezeichner wurden entsprechend mit dem Prefix sf gekennzeichnet. Wahrscheinlich um diese Prefixes nicht ändern zu müssen wurde die unorthodoxe Schreibweise von Symfony gewählt. Inzwischen setzen zahlreiche Web-Applikation auf diesem Framework auf, unter anderem auch Yahoo! Bookmarks. Einen knappen Überblick über Symfony gibt es auf der Projekt-Website und bei Wikipedia. Vielleicht nicht unwichtig: Symfony läuft nur mit PHP5.

CakePHP ist schlanker als Symfony und hat deshalb den Ruf, einfacher erlernbar zu sein. Es unterstützt auch PHP4, was je nach Hosting-Umgebung ein Kriterium darstellen könnte. Einen älteren, aber umfassenen und über CakePHP hinaus erhellenden Artikel gibt es im zZine Magazine: CakePHP – A „tasty“ solution for PHP programming.

P.S. Artikel über die drei PHP-Frameworks Symfony, CakePHP und eZ Components gibt es in der aktuellen Ausgabe des T3N-Magazins.

Ruby on Rails: Lokale Entwicklungsumgebung unter Windows aufsetzen

Was Locomotive für Mac OS X ist (vgl. Ruby on Rails: Lokale Entwicklungsumgebung unter Mac OS X aufsetzen), ist Instant Rails für Windows: eine bestechend einfache Methode, um Ruby on Rails auf den eigenen Rechner zu bekommen. Instant Rails ist ein Paket, das den Ruby-Interpreter, das Rails-Framework, einen Apache-Webserver sowie eine MySQL-Datenbank (inkl. phpMyAdmin-Frontend) enthält und ohne spezielle Kenntnisse installiert werden kann. Konkret muss man nur ein ZIP-Archiv mit der aktuellsten Version von Instant Rails herunterladen und in einen beliebigen Ordner entpacken. Zu beachten ist lediglich, dass der Zielordner keine Leerzeichen im Pfad hat – C:\Programme\InstantRails\ wäre also ein guter, C:\Dokumente und Einstellungen\Martin Sauter\Eigene Dateien\Ruby on Rails\ dagegen ein schlechter Pfad.

Gesteuert wird die ganze Umgebung über das Windows-Programm InstantRails.exe, das zwar keine Schönheit ist, aber seinen Zweck erfüllt. Nachdem Sie die Warnmeldung bezüglich geänderter Pfade (erscheint nur beim ersten Start) bestätigt haben, werden Web- und Datenbank-Server gestartet. Um die ganze Umgebung zu testen, benutzen Sie eine der mitgelieferten Ruby on Rails Applikationen. Starten Sie Ihren Web-Browser und geben Sie die Adresse http://127.0.0.1:3001 ein (127.0.0.1 steht für Ihren lokalen Rechner, der Port 3001 wird von der mitgelieferten Applikation „cookbook“ genutzt). Das Resultat ist eine einfache datenbank-basierte Webapplikation:

(Falls Sie stattdessen einen 502 Proxy Error erhalten: Lesen Sie die Getting Started-Anleitung inklusive den Abschnitt „Questions and Answers“.)

Um einen Blick in die MySQL-Datenbank zu werfen, benutzen Sie das web-basierte Frontent phpMySQL über die URL http://127.0.0.1/mysql/. Und um eine eigene Applikation zu entwickeln finden Sie über den „I“-Button den Befehl „Rails Applications > Manage Rails Applications…“.

Der folgende Dialog bietet unter anderem die Option „Create New Rails App…“, was eine DOS-Konsole öffnet, deren aktueller Pfad das Unterverzeichnis „rails_app“ Ihrer Instant-Rails-Installation ist (z.B. C:\Programme\InstantRails\rails_apps). Belassen Sie den Pfad fürs erste und geben Sie den folgenden Befehl ein:

rails myTestApp

Das war’s! Unter C:\Programme\InstantRails\rails_apps\myTestApp\ finden Sie nun das Skelett einer kompletten Rails-Applikation. Was Sie damit anstellen, bleibt Ihnen überlassen – vielleicht absolvieren Sie eines der zahlreichen Tutorials für Einsteiger, z.B. Four Days on Rails von John McCreesh (oder ein anderes der Top 12 Ruby on Rails Tutorials).

NetBeans 6 unterstützt neu Ruby on Rails

Die freie Entwicklungsumgebung NetBeans IDE wird in der kommenden Version 6 auch Ruby on Rails unterstützen. Das ist eine frohe Botschaft für die Ruby- bzw. Rails-Gemeinde, war doch das Angebot an guten Entwicklungswerkzeugen für das Rails-Framework bisher eher bescheiden:

Insofern ist die Ankündigung der NetBeans-Entwickler wirklich ein Lichtblick. NetBeans ist nicht nur eine sehr potente Entwicklungsumgebung mit einer starken Community (die von Sun gesponsort wird), sondern ist auch für alle wichtigen Plattformen verfügbar (Windows, Mac OS X, Linux, Solaris) und unterstützt nebst Ruby auch C, C++, Fortran und natürlich Java (weitere Informationen zu NetBeans).

Wie gut Ruby on Rails von NetBeans unterstützt wird, lässt sich bereits aufgrund dieser beiden Videos erahnen: The Basics und Advanced Editing Features. NetBeans IDE 6.0 Milestone 7 kann hier heruntergeladen werden, die Ruby-Module können über das Update-Center (Menü „Tools“) nachgeladen werden.

Ruby on Rails: Lokale Entwicklungsumgebung unter Mac OS X aufsetzen

Um Erfahrungen mit dem Open Source Framework Ruby on Rails unter Mac OS X zu sammeln, empfiehlt sich Locomotive. Damit wird die Installation so einfach wie bei einem ganz normalen Programm: Image-Datei herunterladen, als Volume mounten, Inhalt auf die Festplatte kopieren – fertig! Ab sofort hat man mit Locomotive eine übersichtliche grafische Benutzeroberfläche, um Rails-Applikationen zu erzeugen, zu starten, zu stoppen oder im Browser aufzurufen.

Für einen ersten Test legt man eine neue Rails-Applikation an (Applications > Create New…), startet sie (Run) und ruft sie anschliessend im Webbrowser auf (Applications > Preview in Browser). Jetzt sollte die Standard-Willkommensseite von Rails erscheinen: "Welcome aboard – You’re riding the Rails!"

Rails-Befehle führt man über das Terminal aus. Dabei ist es entscheidend, dass man nicht das Standard-Terminal benutzt, sondern dasjenige von Locomotive (Applications > Open Terminal). Was man zudem noch braucht, ist ein Editor, um die Ruby-Skripts zu bearbeiten: Ruby-on-Rails-Entwickler nutzen typischerweise den kostenpflichtigen TextMate, für den Anfang tut es aber auch jeder andere Editor, der zumindest ein Syntax-Highlighting für Ruby bietet (z.B. Smultron).

Locomotive installiert standardmässig eine SQLite-Datenbank. Allerdings lässt sich sehr einfach eine MySQL-Datenbank nachinstallieren – was aus zwei Gründen eine gute Idee ist: Erstens beziehen sich viele Anleitungen auf eine MySQL-Datenbank, und zweitens ist MySQL im produktiven Betrieb sowieso Standard. (Wie man MySQL und den grafischen Datenbank-Manager CocoaMySQL unter Mac OS X installiert.)

Abschliessend müssen Sie nur noch die Datenbank-Parameter in der Datei config/database.yml hinterlegen, damit Ihre Ruby-on-Rails-Applikation auch auf die Datenbank zugreifen kann. Als Adapter wählen Sie dabei "mysql", als host "localhost" – die übrigen Parameter erschliessen sich von selbst.

Ruby on Rails: Version 1.2 veröffentlicht

Das Open Source Web Framework Ruby on Rails steht neu in der Version 1.2 zur Verfügung. Die Verbesserungen betreffen primär REST-Architekturen, MIME Types, HTTP Status Codes und Unicode-Zeichensätze. Oder wie es in der Ankündigung im offiziellen RoR-Weblog Riding Rails etwas blumig heisst:

„We got the RESTful flavor with new encouragement for resource-oriented architectures. We’re taking mime types, HTTP status codes, and multiple representations of the same resource serious. And of course there’s the international pizzazz of multibyte-safe UTF-8 wrangling.

That’s just some of the headliner features. On top of that, there’s an absolutely staggering amount of polish being dished out. The CHANGELOG for Action Pack alone contains some two hundred entries. Active Record has another 170-something on top of that.“

An gleicher Stelle wird auch klargestellt, dass der Sprung von 1.1 auf 1.2 ein „massive upgrade“ darstellt, weil zentrale Teile des Frameworks neu geschrieben wurden. Die Version 1.2 soll zwar rückwärtskompatibel sein, trotzdem werden Entwickler ermahnt, ihre Applikationen nach dem Upgrade gründlich zu testen.

Was ist eigentlich Ruby on Rails?

Ruby on Rails (oder kurz: Rails) ist ein Framework für die Programmiersprache Ruby – vergleichbar mit PEAR für PHP. Während es Ruby schon seit Mitte der 90er Jahre gibt (und insbesondere in Japan verbreitet ist), ist das Rails-Framework noch jung: Es wurde Mitte 2004 erstmals der Öffentlichkeit vorgestellt. Spätestens nach dem Google/O’Reilly Open Source Award 2005 und dem Artikel im Wired Magazine („The Hottest Hacker on Earth“) wurde Ruby on Rails rasch populär. Es hat den Ruf, die Entwicklung von Web-Applikationen besonders einfach und elegant zu machen.

Die zentrale Person hinter Ruby on Rails ist der Däne David Heinemeier Hansson, einer der Partner von 37signals. Er ist der Entwickler der populären Web-2.0-Applikationen Basecamp, Backpack und Ta-da List. Heinemeier Hanson ist beispielsweise in diesem Promotion-Video zu sehen, das Apple über 37signals produziert hat:

Ruby on Rails ist für die Entwicklung von datenbank-basierten Web-Applikationen konzipiert und erleichtert Benutzeroberflächen mit AJAX. Um es zu nutzen benötigt man einen Webserver (Apache, lighttpd, Mongrel) und eine Datenbank (MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2, Firebird). Rails läuft grundsätzlich auf allen Betriebssystemen, ist aber primär in der Unix/Linux-Welt zuhause und wurde ursprünglich auf Mac OS X entwickelt.

Ruby on Rails besteht im Prinzip aus drei Komponenten: Der Sprache Ruby, dem Paket-Manager RubyGems und dem Rails-Framework. Wer möglichst rasch zu einer Testumgebung für Ruby on Rails kommen will, greift zu Locomotive (für Mac OS X) bzw. Instant Rails (für Windows), welche Webserver, Datenbank, Ruby und das Rails-Framework in einem einfach installierbaren Package bereitstellen. Als Entwicklungswerkzeug werden der kommerzielle TextMate (für Mac OS X) oder RadRails für Eclipse empfohlen.