Xenocode Sandbox-Browser – Finger weg?

Im HighResolution Weblog stand heute Morgen folgendes:

Ich habe heute morgen die IE-Varianten kurz getestet und kann nur ausdrücklich davon abraten, diese Pseudo-Sandbox-Tools zu verwenden. Auf meinem XP Rechner war nach einem einminütigen Test des Sandbox-IE6 mein lokal installierter IE7 unbenutzbar und musste vollständig neu installiert werden (auch ein Reboot zuvor hatte keine Besserung gebracht). Im selben Atemzug, in dem ich das Dilemma bemerkte, flatterten bereits ähnlich klingende Problemmeldungen von Freunden (Jens Grochtdreis, Tom Klingenberg) bei mir ein, leider in beiden Fällen für mich ca. 10min zu spät.

Mein Versuch, dort folgenden Kommentar zu hinterlassen, scheiterte, da meine Adresse (auch frisch extra dafür testweise angelegte) als Spam nicht in die Kommentare gelassen wurde…..

Daher gibts meinen Kommentar dazu jetzt hier:

Ich habe zwar keine Probleme mit den „Sandböxchen“ der Firma Xenocode feststellen können (auf meiner Testmaschine unter Parallels auf dem Mac läuft Win2000 und ein IE6, immer noch problemlos), von den bei Microsoft angebotenen virtuellen Maschinen kann ich allerdings auch abraten: Während der Entwicklung diverser Webanwendungen hat der dort verfügbare IE6 Webseiten völlig anders gerendert als die zweite herangezogene, wirkliche Windows Maschine mit dem Internet Explorer (übrigens ähnlich wie beim IETester).

Das von mir benutzte Parallels mit Win2000 / IE hat die Seiten im Übrigen genauso gerendert wie der „real“ PC.

Ich befürchte daher, dass man, um die Anwendung ernsthaft in verschiedenen Browsern testen möchte, man besser noch eine alte Kiste mit Windows parat haben sollte…. 🙁

via Xenocode Sandbox-Browser – Finger weg! – High Resolution Weblog.

Development in verschiedenen Browsern testen

Jeder Webentwickler kennt das Problem:

Webseiten sehen in unterschiedlichen Browsern immer etwas anders aus.

Hier könnte der Service der Firma xenocode, einem Anbieter für Virtualisierungslösungen, schon zumindest etwas mehr Komfort mitbringen, denn über Ihre Webseite „Run IE8/7/6, Firefox, Safari, Chrome, and Opera from the web“ können die verschiedenen Browser als „Mini System“ heruntergeladen und dann auf einer Windows-Maschine getestet werden.

So bekommt jeder Browser (z.B. der als IE8.exe verpackte Internet Explorer 8) seine eigene .exe – Sandbox und kann somit parallel zu anderen Browsern laufen.

Ich als Mac Jünger habs noch nicht getestet (beim Mac zeigt auch der Link schon an, dass es auf „meinem device“ nicht funktioniert), aber runterladen (für Parallels und die anderen Rechner im Office) werde ich sämtliche Sandboxen auf jeden Fall 🙂

Online-Tool für Int/Hex/Char-Konvertierung

Manchmal ein äußerst nützliches Tool: Der Zeichen → Hex Converter.

Für mich kam es gerade beim Einpflegen französicher Messagebundles gerade recht, dort müssen französische Sonderzeichen in die korrespondierenden HEX Werte umgewandelt werden.

Zu finden ist das kleine Tool, das zwar leider nur einzelne Buchstaben konvertiert, unter diesem Link: Online-Tools: Int/Hex/Char-Converter und Entity-Generator gegen EMail-Spam.

Internationalisierung mit CakePHP’s i18n Features

Zu meiner Ankündigung, wie die i18n Features von CakePHP richtig eingebunden werden können, gibt es bei gouranga | CakePHP I18n & l10n ein gut geschriebenes und relativ umfassendes Tutorial.

Dort werden die von Cake bereitgestellten Funktionen (den Artikel Localizing your Application gibt es übrigens hier) beschrieben, wie die verschiedenen Strings der .po Dateien aus Cake heraus aufgerufen werden können.

Was in manchen unserer Projekte auch oftmals wichtig war, ist und sein wird:
Wie können dynamische Inhalte, also solche aus der Datenbank, internationalisiert werden? Statische Strings sind mit der .po-File Variante kein Problem – aber wie sieht es mit dynamischem Content aus?

Ein nützliches Tutorial für diesen Ansatz findet sich z.b. hier und der dazugehörige Teil 2 hier. Wie die Stolpersteine hier aussehen und wie CakePHP ein Speichern / Updaten von i18n Einträgen behandelt kann ich später erläutern, grundsätzlich gibt es bei dieser Herangehensweise eine weitere Tabelle im Datenbankmodell, die folgendermaßen aussieht:

CakePHP i18n Tabelle

In dieser Datenbanktabelle werden sämtliche Übersetzungen der verschiedenen Models gespeichert (die Tabelle kann also ziemlich fix ziemlich „umfangreich“ werden).

Für alle, die auf dem Mac den hervorragenden und günstigen SQLEditor nutzen, gibt es hier die oben gezeigte SQS Datei, ansonsten kann die Tabelle auch im Terminal angelegt werden, indem man im Verzeichnis /console von Cake folgenden Befehl eingibt:

[source:php]
./cake i18n
[/source]

[ einige weitere andere Infos dazu auch unter dem top-to-bottom-persistent-internationalization-Tutorial auf CakePHP.org zu finden ]

Leider können HABTM Relationships erst ab Version 1.3 mit dem Translation Behavior von Cake bedient werden, heisst also: Hier muss manuell Hand angelegt werden, sobald HABTM Relationships ins Spiel kommen.

Kleiner Seitenhinweis:
Über die Konsole kann bei Cake auch ein komplettes, sog. „Baking“ stattfinden, das anhand der Datenbankkonfiguration das komplette Projekt einmal initial erstellt, mit sämtlichen Models, Controllern und Views und sämtlichen CRUD Funktionen.

Sehr gute, verschiedene Screencasts zu CakePHP (Installation, Baking,
Scaffolding, …) finden sich im Übrigen sich auf der Webseite von David Golding, seines Zeichens Verfasser des Buches „Beginning CakePHP“ (das, in meinen Augen, bei weiterm nicht mit dem CakePHP Buch von O’Reilly mithalten kann).

Projektmanagement Tools für Mac OS X

Nach der kleinen Übersicht über SVN Software mit GUI für den Mac gibt es hier eine mini Auflistung verschiedener Tools für den Mac (und teilweise anderen Plattformen) rund um das Thema Projektmanangement und Auftragsbearbeitung.

GanttProjekt

Gantt IconWer GanttProject noch nicht aus universitären Projekten kennt (daher kannte ich es), sei hier kurz die OpenSource Lösung nahegebracht, beginnend mit der Definition, was ein Gantt Diagramm ist, kopiert von Wikipedia:

Ein Gantt-Diagramm [gænt] oder Balkenplan ist ein nach dem Unternehmensberater Henry L. Gantt (1861–1919) benanntes Instrument des Projektmanagements, das die zeitliche Abfolge von Aktivitäten grafisch in Form von Balken auf einer Zeitachse darstellt.

Grundsätzlich ist GanttProject ein nettes Werkzeug um
→ den Projektablauf als Gesamtheit übersichtlich ansehen zu können, als auch
→ Abhängigkeiten verschiedener Projektteile untereinander gut visualisieren zu können.

Ich weiss nicht, ob es an der MacVersion liegt, aber man muss schon hier und da sehr tricksen um den Bugs des Programms aus dem Weg gehen zu können, wenn man bereits angelegte Projektteile editieren möchte.

In Gantt kann neben dem reinen Darstellen der Projektteile (und deren Fortschritt in Prozent) auch in gewissem Umfang eine Ressourcenplanung durchgeführt werden, d.h. also die Einbindung und Rollen der verschieden involvierten Mitarbeiter in einzelnen Teilbereichen eines Projektes vermerkt werden.

Kurz: GanttProject ist eigentlich ein sehr nettes und nützliches Tool. Ich benutze es trotzdem nicht, weil die Umsetzung für den Mac zu buggy bzw. hässlich ist und ausserdem Export- bzw. Druckoptionen für professionellen Nutzen nicht zu gebrauchen sind.

Teilweise sehen die Dialogfelder aus, als wären die komplett durchs Testing durchgerutscht:

Fehlerhaft dargestellte Dialogfelder in Gantt
Fehlerhaft dargestellte Dialogfelder in Gantt

Die Ressourcenplanung und die Projekttimeline sehen folgendermaßen aus:

Gantt Ressourcenplanung
Gantt Ressourcenplanung

Gantt Timeline
Gantt Timeline

Merlin 2

Hochgelobt und mit Preisen ausgezeichnet ist die Software Merlin 2 von ProjectWizards, die zwar etwas Geld kostet aber für den Einsatzbereich und den gebotenen Leistungsumfang mit 145 Euro pro Lizenz immer noch erstaunlich günstig ist.

Was wird geboten?

Zuerst: Die Software soll „von Projektmanagern für Projektmanager“ entwickelt worden sein. Hierdurch ist vermutlich gemeint, dass die wichtigen Funktionen alle astrein vorhanden sind. Auf der Webseite gibt es eine Art Tour, die wichtige Features aufzeigen möchte.

Import von Mindmap Dateien möglichPunkt 1 sieht für mich schon höchst interessant aus: Mindmaps können als Projektgrundlage importiert werden (und zwar aus verschiedenen Formaten). Das ist mitunter sehr sinnvoll als auch ein Feature, das nicht jedem sofort im Kopf aufblitzt.

Desweiteren können sämtliche MS Project Dateiformate (und viele andere) mit Merlin im- und exportiert werden.

Merlin synchronisiert sich bidirektional mit iCal. Ich persönlich hasse ja eierlegende Wollmilchsäue, die regelmäßig versuchen, noch einen weiteren Kalender auf den Mac zu kriegen, obwohl Mac User mit iCal einen perfekten Kalendar dauernd und hervorragend im System integriert parat haben. Also: bidirektionales Synchronisieren = Top.

Für diejenigen Projektteilnehmer, die oft unterwegs sind, bietet Merlin auch eine Webschnittstelle an, mit der sämtliche Änderungen sowohl off- als auch online bei allen Beteiligten direkt erscheinen sollen. Klingt interessant, benötigt aber auch einen kleinen Aufpreis für das Web-Add-on.

BudgetübersichtAusserdem können verschiedene Finanzoptionen übersichtlich angezeigt werden (= Budgetplanung ist hier das Stichwort) als auch zum Projekt gehörige Dokumente und Adressen per Drag and Drop in entsprechende Projektordner gelegt werden.

 

Dokumente per Drag and Drop einbindbarDas Einbinden der Adressen erfolgt neben der Integration des MacOS Addressbuches auch über Entourage oder andere evtl. vorhandene Adressbücher.

Auch Merlin wird übrigens von Spotlight auf dem Mac indiziert. Sämtliche Integrationsfeatures gibt es im Übrigen auch auf der Projektwebseite zu bewundern.

Fazit: Ich habe die Software bisher noch nicht getestet, bin aber der festen Überzeugung, hier in den nächsten Wochen ein wenig Geld investieren zu wollen / müssen 🙂

TimeLog 4

TimeLog 4 integriert sich nur in einen Mac, auf dem mindestens Leopard läuft.
Ältere Betriebssysteme können nur noch den Vorgänger (Version 3) nutzen, die ich weder runtergeladen noch angesehen habe, kann also nichts zu den Unterschieden los werden. Grundsätzlich hat TimeLog weniger mit Projektmanagement als vielmehr etwas mit Zeiterfassung zu tun – was man also schick damit machen kann ist die nach Kategorien, Kunden und Projekten unterteilte fast automatisch ablaufende Zeiterfassung der Arbeit in bestimmten Projekten.

Generell gibt es in der Software eine Timeline (stündlich, täglich, monatliche Ansicht), auf der die Arbeit an den einzelnen Projekten vermerkt wird.

Man kann Ordner aus iCal angeben, die dann zu Kunden zugewiesen und somit auch automatisiert abgerechnet werden können (wenns immer so einfach wäre), oder aber Zeit a lá Mite für Projektarbeit erfassen. Für die Zeiterfassung kann man sogar bestimmte Applications tracken lassen, so dass auch wenn mal vergessen wurde, die Zeituhr mitlaufen zu lassen, nachvollzogen werden kann, wie lange gearbeitet wurde.

Eine generelle Projektplanung hab ich in TimeLog nicht entdecken können, handelt sich also eher um ein Zeiterfassungs-Tool und weniger um komplettes Projektmanagement. Ein kleines Video, wie das ganze aussieht, findet sich auf der Entwicklerwebseite.

Mite

Mite LogoMite ist ein online Tool, das mittels vieler Schnittstellen und komfortabler, fancy Web zwo nulliger Oberfläche ebenfalls den Krampf der Zeiterfassung während des Bearbeitens von Projekten angehen möchte.

So können Daten zu Arbeitszeiten z.B. per Jabber Message oder Twitter (und anderen Diensten) an die Mite API geschickt werden.

Zeiterfassung ist Fundament realistischer Rechnungen, Kalkulationen & Zeitpläne.
Eine gern gehasste Notwendigkeit, deren Nervfaktor mite den Kampf ansagt.
Mit Funktionalität, Flexibilität & Eleganz.

Mite war ursprünglich komplett kostenlos nutzbar, mittlerweile fällt dafür – glaube ich – eine durch den Nutzer relativ frei zu definierende Gebühr an.

Was mir an Mite nicht gefällt ist die Tatsache, dass Informationen zu Projekten, Arbeitsaufwänden und Teams, die nicht unbedingt für Augen ausserhalb eines Unternehmens gedacht sind, auf unternehmensfremden Server gespeichert werden.

Hier muss jeder selbst wissen ob er damit leben kann (he – GoogleMail hat auch jeder 2. – ich möchte nicht wissen, wieviel Angebote, Rechnungen und andere sensiblen Daten dort täglich rumgeschickt werden).

Was mir an Mite allerdings gefällt ist die schicke Oberfläche, die übersichtlichen Statistiken, die simple Benutzerführung und die Möglichkeiten des Datenexports.

Verschiedene Bereiche von Mite sieht so aus (Screens von der Mite Homepage):

Team Reports

Zeiterfassung mit Mite

 

Zeiten erfassen

 

iTaskX

Über iTaskX bin ich zufällig gestolpert und kann auch wenig dazu sagen, ausser den Fakten, die der Hersteller selbst zum Besten gibt: Der wichtigste Punkt ist wohl die Möglichkeit des Datenaustausches zwischen MS Project und iTaskX.

Weiterhin schick scheint die Oberfläche zu sein, die sich sehr an die gewohnte Mac Umgebung anlehnt.

Verschiedene Diagrammarten sind hier ebenso möglich wie eine Ressourcenplanung und die Erstellung von Gantt Charts, ausserdem wird die Durchsuchbarkeit mit Spotlight hervorgehoben als auch die umfangreichen Exportfunktionen zu iCal, Excel, MS Project, usw.

Da ich die Software nicht getestet habe und somit keine weiteren Fakten dazu zum Besten geben kann, empfehle ich Interessierten den Blick auf den umfangreichen Filmbereich auf der Webseite des Herstellers: Einführungsvideos zu iTaskX

Zum Schluss

Wie sich iTaskX zu Merlin oder anderen Programmen (völlig von mir unterschlagen: OmniPlan) schlagen kann bzw. schlägt kann ich auch nicht beurteilen.

Allerdings erhält Merlin bei testberichte.de mit einer Wertung von 1,4 ein „Sehr gut“, während iTaskX mit 2,6 eher mittelmässig abschneidet. Zu Omniplan gegenüber Merlin kann ich neben der Note 3,0 (also auch nach iTaskX) nur subjektive Forenbeiträge heranziehen.

Eine umfassende Auflistung weiterer Tools rund um das Thema Projektmanagement gibt es auf der englischen Wikipedia Seite.

Syntax Highlighting in WordPress Blogs für CakePHP Beiträge

Nach anfänglich großen Tönen ist zwar weiterhin nicht viel passiert, aber wo ich jetzt ein WordPress Plugin um in einem Beitrag Syntax Highlighting mitzuliefern gefunden habe kann jetzt die Artikelflut losgehen.

Durch umfangreiche Arbeiten mit CakePHP in den letzten Wochen könnten verschiedene Themen aus unterschiedlichsten Bereichen interessant sein, die ich ggfls. in den nächsten Tagen Wochen mal vorstellen könnte:

  • Wie sieht eine sinnvolle Entwicklungsumgebung in Teams von Entwicklern aus? Wie kann man also mit Eclipse und SVN und anderen Techniken besser und schneller gemeinsam mit weniger Fehlern entwickeln.
  • Wie kann ich die CakePHP config so anpassen, dass ein Deployment auf unterschiedlichen Servern sinnvoll funktioniert (z.B. für verschiedene Server für Development, Testing und Live)
  • Wie nutzt man die CakePHP Auth Component richtig (immer wieder ein heisses Thema)?
  • Wie binde ich die i18n Features von CakePHP richtig ein?
  • Wie kann man die Pagination von CakePHP mit weiteren, eigenen Parametern oder Filtern versorgen?
  • Wie kann ich die Performance von CakePHP Projekten weiter verbessern?

Falls bei dem ein oder anderen Thema besonderes Interesse bestehen sollte – immer her mit Kommentaren.