Werkzeuge

Allgemeine Kriterien

Jedes verwendete Werkzeug sollte wenigstens für Open Source Produkte umsonst zu nutzen sein. Besser ist es, wenn es selbst OpenSource ist, da dann garantiert ist, daß man es auch falls der Hersteller es aufgibt noch anpassen und nutzen kann. Alle verwendeten Werkzeuge sollen auf Linux und auf Windows laufen.

Kategorien

Allgemein

Projektplanung

Programmerstellung

Dokumentation

Als eine Art Mini-CMS zur Erstellung statischer Websides verwende ich Apache Forrest. Die Inhalte der veröffentlichten Seiten erstelle ich hauptsächlich mit XMLmind.

Sonstige

Open Office

In der Projektplanung intensiv verwendet wird OpenOffice Writer, in der deutschen Installation, Version 2.0. Im Gegensatz zu vielen OpenSource Anhängern bin ich nicht der Meinung, daß Open Office ein mit Microsoft Office vergleichbares Werkzeug ist. Es ist sehr gut und kann sehr viel für den Hausgebrauch. Aber es ist professionell nur mit viel Nerven, Zeit und Kompromissen zu nutzen. Als Beispiel nur die Kleinigkeit, daß ich Farben nicht frei definieren kann, sondern aus einem vorgegebenen Set von Farben auswählen muß und dort ist eben mein LilyCaN AltRosa nicht enthalten. OpenOffice Writer ist ein Standardwerkzeug und braucht im Rahmen dieses Projekts keine weitere Beschreibung.

Eclipse

Die Basis für die gesamte Produktentwicklung ist Eclipse . Eclipse ist eines der (wenigen) Programme, bei denen ich nach der Installation tagelang immer wieder vor dem Computer saß und das Gefühl hatte, etwas Kostbares in Händen zu halten. Es ist schön. Ja SCHÖN. Es ist durchdacht. Es ist ausgewogen. Und natürlich tut es (allermeistens), was es verspricht zu tun.

Mit zunehmender Komplexität (von Eclipse) und mit zunehmender Erfahrung (von mir mit Eclipse) sehe ich auch Mängel in Eclipse - doch der grundlegende Eindruck bleibt: Eclipse ist ein Programm, das entworfen worden ist, von der Oberfläche her, vom Zusammenspiel der Komponenten her, von den Übersetzungen her, der Hilfe, ... . Bei Eclipse hat sich jemand was gedacht. Zuerst gedacht :-) - OpenOffice dagegen ist "wie gewachsen". Im Rahmen dieses Projekts betrachte ich Eclipse auch als Standardwerkzeug, das hier nicht beschrieben wird.

Subversion

Als Quellcodeverwaltungssystem verwende ich Subversion Gegenüber CVS hebt es sich meiner Meinung nach durch die atomaren Commits aus (etwas, das ich als atomare Transaktionen bezeichnen würde) - und für mich ebenso wichtig die Möglichkeit, Verzeichnisse umzubenennen und vor allem zu verschieben. Als schweren Nachteil empfinde ich, daß es lange nicht so gut in Eclipse integriert ist, wie CVS. Und daß auch die anderen erhältlichen Bedienoberflächen für CVS ausgereifter sind. Dennoch - diese Kritikpunkte werden sich im Laufe der Jahre überholen, CVS aber wird möglicherweise nie transaktionsgesichert sein.

Als ziemlich nervig empfinde ich bei Subversion die .svn Verzeichnisse in jedem Verzeichnis, das ich der Quellcodeverwaltung unterstellt habe. Auch deswegen hatte ich als weitere Alternative mit Perforce geliebäugelt - für eine Person (sozusagen als Desktop SCS) reichen die 5 möglichen Workspaces aus und für Open Source Projekte wäre eine freie Lizenzierung möglich. Es gibt eine Integration in Eclipse. Die mitgelieferten Oberflächen sind im Großen und Ganzen intuitiv. Aber die Frage, ob man nicht bei dieser Lizenz in Kamalitäten kommt, wenn man etwas anderes in Perforce speichert, hat mich beunruhigt. Wenn schon SCS, dann sollte es auch möglich sein, zum Beispiel private Kochrezepte oder Notenentwürfe dort zu speichern.

Subversion ist ebenfalls ein Standardwerkzeug, das als Werkzeug hier nicht weiter beschrieben wird. Später interessant wird sicherlich eine Seite mit Zugangsinformationen sein, wie fast alle offenen Projekte sie haben.

TortoiseSVN

Die Entscheidung für Subversion brachte die Suche nach einer BedienOberfläche mit sich, und ich suchte etwas Vergleichbares zu TortoiseCVS , früher einfach als Tortoise bekannt. Ich weiß noch, daß ich damals, als ich mich für das ähnliche TortoiseSVN entschieden habe, enttäuscht war - es erschien mir nicht an TortoiseCVS heranzureichen. Die genauen Mißstimmigkeiten zwischen mir und dem Produkt weiß ich nicht mehr, ich kann inzwischen damit arbeiten. Unumgänglich war dafür, daß es sich in den TotalCommander integrieren ließ. Aber ich sehe gerade, ich verwende Version 1.3.3 - und es gibt schon Version 1.4.1. Bestimmt ist es noch besser geworden :-) .

Ja. Nach der Neuinstallation funktionieren jetzt Revisionsgrafen (wieder?). Die Hilfe ist richtig gut. Man kann jetzt eine Produktversion (Arbeitskopie) ohne die .svn Verzeichnisse bekommen. (z.B. zum Packen). Das deutsche Sprachpaket ist fertig. Die Installation ist völlig problemlos (außer natürlich dem Neustarten von Windows). Hübsche und hilfreiche Tooltips in den Dialogen.

TortoiseSVN ist auch schon fast ein Standardprodukt, zusätzlich ist es für die Entwicklung eines Softwareprojekts nebensächlich, welche SCS-Oberfläche jemand verwendet.

Credits

Ein Werkzeug, das nicht auf Linux läuft und das Geld kostet, also keines der beiden allgemeinen Kriterien erfüllt, ist Total Commander . Da ich ohne es nicht arbeiten zu können glaube, soll er als erstes Extratool erwähnt sein.

An den allgemeinen Kriterien sollte eigentlich auch Visual Studio. gescheitert sein. Und es stellt sich ja überhaupt die Frage, wieso ich bei einem Java Projekt eine C-Entwicklungsumgebung brauche. Es ist nur der Editor. Mag sein, daß es ist, weil ich mich daran gewöhnt habe, mag sein, daß die Highlights "In allen Dateien suchen", unbenannte Lesezeichen, oder "Leerzeichen anzeigen" tatsächlich in anderen Editoren nicht zusammen zu haben sind. Aber ich glaube, den Editor zu wechseln fällt mir schwerer, als die Programmiersprache oder das Betriebssystem.

Ein wunderbares Werkzeug zum Vergleichen von Verzeichnissen und Dateien und zum Integrieren von Unterschieden in Dateien ist winmerge . Man kann damit auch die genau die Stelle in der Zeile sehen, wo der Unterschied ist. Man kann das Ergebnis des Verzeichnisvergleichs nach den verschiedensten Kriterien sortieren (einfach auf den Spaltenkopf klicken). Man kann auf alle möglichen Arten filtern (bevor überhaupt verglichen wird) - mit so einem Filter habe ich mir die .svn-Verzeichnisse von Subversion weggefiltert. Im Vergleichen von Verzeichnissen ist winmerge ungeschlagen. Und in der neuen Version 2.6.0 kann man beim Dateivergleich sogar Zeilennummern anzeigen und Lesezeichen setzen. Man kann winmerge natürlich als MergeTool verwenden - daher hat es seinen Namen. Als Merge Tool ist es intuitiv, es erlaubt das Angleichen von zwei unterschiedlichen Dateien - keine Basisdatei. Dies ist ja oft genau das was man will.

Von der Oberfläche her schöner anszusehen ist p4merge . Deswegen habe ich p4merge auch als Versionsvergleichswerkzeug in TortoiseSVN integriert. Im Gegensatz zu winmerge ist p4merge für viele Plattformen erhältlich. Es wird von der Firma Perforce zur kostenfreien Nutzung zum Download angeboten. Seine wahre Stärke zeigt p4merge im Mergen - theirs (file) against yours, regarding base - und da raus kommt mit viel Mitarbeit von einem selbst ein passendes Ergebnis. Dieses Merge Werzeug ist ausgereifter, als daß ich es beurteilen kann. Eines Tages werde ich es möglicherweise als MergeTool für Subversion integriert haben. (Wenn ich mich nicht für TortoiseMerge entscheide, was wohl das gleiche kann, aber nicht so hübsch ist.).

Die Browser mit denen ich die Seite getestet habe, sind Firefox (Version 1.5), Internet Explorer (6 und 7Beta) und Opera(Version 8), letzterer mein Alltagsbrowser. Schutz und Schirm gegen Viren und Spione gewähren mir dabei AntiVir PersonalEdition classic und Sygate Personal Firewall.

Ein MindMap Werkzeug, das jetzt in der Release 0.8 schon mehr kann als nur MindMaps zu erstellen, ist Freemind. Das Programm ist in Java geschrieben und daher auf nahezu allen Betriebssystemen lauffähig. Die erzeugten Mindmaps sind nicht so schön anzuschauen, wie die vom kostenpflichtigen Marktführer MindManager, doch es ist sehr intuitiv zu bedienen. Es kann Verzeichnisse importieren, hat einen Kalender und einen einfachen html-Export. Die Entwicklergemeinde ist aktiv und wenn wir jetzt in den VorReleases schon professionelle MindMaps erzeugen können, läßt sich für die Zukunft einiges mehr erwarten.

Komplizierteres Css-Verhalten untersuche ich gerne mit amaya, wobei ich amaya nicht als einen Browser benutzen möchte. Wäre die Grundlage für meine Seiten html und nicht xml würde ich es eventuell als Dokumenteditor verwenden. Nvu ist zu eigenwillig. Eine Hilfe bei der Anpassung der Stylesheets war auch das WebDevelopper Tools Plugin (für den Firefox). Da ich die Erzeugung der Site durch Forrest mittels der Tidy Einstellung nicht fertiggebracht habe (oder sie nicht funktioniert), hat mir tidyui geholfen, die Struktur der von Forrest erzeugten Seiten zu verstehen und anzupassen.

Ich weiß gerne darüber Bescheid, wieviele Stunden ich an meinen Projekt verbracht habe. MapleXp ermöglicht mir dies mit einfacher Bedienbarkeit. Ich kann die Projekte auch noch untergliedern und für jede gestartete Aufgabe einen Kurzkommentar angeben. Allerdings gibt es in der jetztigen Version 0.8 keine Ausgabe in irgendeiner Form (text, xml, Druck).

Immer wieder nützlich sind die TopTools, sei es für Farbinformationen oder Screenshots. Sie starten schnell, sehen gut aus und tun, was der Befehl verspricht zu tun. Von IrfanView, seit Jahren bewährt, nutze ich hauptsächlich den Thumbnails Browser. Gimp kann ich getrost als letztes würdigen, da niemand bei diesem großartigen Bildbearbeitungsprogramm auf die Idee kommen kann, die Reihenfolge enthielte eine Wertung.

Neu
Mof