Versionskontrolle mit Tortoise und SubVersion Worum es heute geht Grundidee, wie es gedacht ist Wie es geht (Step by Step) Was Sie davon haben Worum es nicht geht Lotus Script (können Sie bestimmt) DXL (wenden wir an, gehen aber nicht in die Details) Subversion / Tortoise (wir zeigen die Zusammenarbeit mit Lotus Script, alles andere ist tausendfach im www nachzulesen) 1
Versionskontrolle mit Tortoise und SubVersion Los geht's! - Einführung Über WieLis.com Mit wem haben Sie es zu tun? Subversion und Tortoise ein starkes Team Was ist das eigentlich? Vorteile der OpenSource-Lösung Der Kern des ganzen die DXL-Klassen NotesDXLExporter und NotesDXLImporter Grundsätzliches Vorgehen Haken und Ösen Raus aus Notes - Archivierung Auslesen der Designelemente in Dateien Übergabe an Tortoise zur Archivierung 2
Versionskontrolle mit Tortoise und SubVersion...und wieder rein der Import Rücksichern der letzten Version Eine bestimmte Version zurückholen Automatisierungsmöglichkeiten Splitten und Vereinigen von Codebäumen Wozu ist das gut? Wie geht es? Ausblick / Weiterlesen Entwickeln im Team mit Subversion Archive aus Lotus Notes anlegen Weitere Infos zu TortoiseSVN 3
Los geht s! Einführung Über WieLis.com / die Notes-Werkstatt Gegründet 2002 4 Mitarbeiter Domino-Entwicklung Workflows Schnittstellen Diverse Produkte (Pico-Serie) Web-Entwicklung Intra-/Extranets Shop/Community/Schnittstellenlösungen Content Management (Flexi-CMS) Support Domino Windows Netzwerk 4
Los geht's! - Einführung Ihre Referentin - Mit wem haben Sie es zu tun? Anne Wiesmann, aw@wielis.com Studierte Diplom-Ingenieurin (FH) Technische Informatik IT-Erfahrung seit 1995 Gründerin und Mitinhaberin von WieLis.com seit 2002 5
Subversion und Tortoise ein starkes Team Was ist das eigentlich? Subversion Versionsverwaltung für Dateibäume kommandozeilengesteuert Kann ohne Datenbank arbeiten (keine Serverinstallation nötig) TortoiseSVN GUI-Oberfläche für SVN Optimal in Windows Look&Feel integriert Einfach zu bedienen (Explorer- Kontextmenü) 6
Subversion und Tortoise ein starkes Team Vorteile der OpenSource-Lösung Ohne direkte und verdeckte Kosten Große Entwickler- und Nutzergemeinde, daher wenige Bugs Gute Lokalisierung Optimale Anpassung an die Bedürfnisse der Entwickler 7
Der Kern des Ganzen die DXL-Klassen NotesDXLExporter und NotesDXLImporter Wandeln beliebige Notes-Dokumente (auch Designelemente) von und nach DXL (ein XML- Dialekt) Seit R6 vorhanden, seit R7 produktionstauglich Viele Haken und Ösen (ist halt Notes...) 8
Der Kern des Ganzen die DXL-Klassen Grundsätzliches Vorgehen Schleife über Designelemente, eins nach dem anderen exportieren: 9
Der Kern des Ganzen die DXL-Klassen Haken und Ösen (1) So weit, so einfach, aber: Dateinamen müssen gültig sein (nicht jedes Zeichen, das für Maskennamen erlaubt ist, ist auch für Dateinamen erlaubt). Nicht alle Designelemente haben einen Titel (z.b. das Datenbank-Icon) 10
Der Kern des Ganzen die DXL-Klassen Haken und Ösen (2) Der Export ist zeitaufwändig, daher sollten wir nur das exportieren, was seit dem letzten Export verändert wurde. Da wir verschiedene Arten von Designelementen exportieren wollen, legen wir entsprechende Unterordner an. 11
Der Kern des Ganzen die DXL-Klassen Haken und Ösen (3) Wenn ein Designelement gelöscht wurde, muss auch die zugehörige Datei gelöscht werden. 12
Raus aus Notes - Archivierung Auslesen der Designelemente in Dateien 13
Raus aus Notes - Archivierung Übergabe an Tortoise zur Archivierung Achtung: es muss ein ausgechecktes Archiv im Zielverzeichnis existieren 14
...und wieder rein der Import Rücksichern der letzten Version Sicher der Standardfall: Wir möchten die letzte Änderung rückgängig machen DXL-Dateien des letzten Exports liegen noch im Zielordner, daher müssen wir nur importieren. 15
...und wieder rein der Import Eine bestimmte Version zurückholen Keine Änderung am Agenten, sondern vorab in Tortoise eine bestimmte Version zur Rücksicherung bereitstellen, z.b. aus dem Log: 16
...und wieder rein der Import Automatisierungsmöglichkeiten Reines LotusScript, hier geht vieles, z.b. eine Schleife über einen Ordner Oder Sie wählen die Importdatei über einen Dateidialog aus....ihrer Fantasie sind keine Grenzen gesetzt! 17
Splitten und Vereinigen von Codebäumen Wozu ist das gut? Unterschiedliche Abarten eines Produkts pflegen Neue Features in einem Seitenzweig ausprobieren, ohne dass diese im Hauptprodukt sichtbar werden. Diese Features später leicht wieder ins Hauptprodukt integrieren. 18
Splitten und Vereinigen von Codebäumen Wie geht es? Mit der Funktion Zusammenführen von TortoiseSVN können Sie die Zweige auf DXL-Ebene wieder zusammen führen. Danach muss das Ergebnis wieder in die Domino-Datenbank importiert werden. 19
Ausblick / Weiterlesen Entwickeln im Team mit Subversion Designelemente vor Bearbeitung aus- und danach wieder einchecken Achtung: Replizierung muss deaktiviert sein. Sogar gleichzeitiges Bearbeiten klappt im allgemeinen Bei Konflikten müssen diese auf DXL-Ebene gelöst werden 20
Ausblick / Weiterlesen Archive aus Lotus Notes anlegen Kann im Prinzip automatisch erfolgen Automatik mit Vorsicht einsetzen: Gefahr von doppelten Archiven! Evtl. zuerst Zielverzeichnis anlegen 21
Ausblick / Weiterlesen Tortoise/SVN automatisieren: http://tortoisesvn.net/docs/release/tortoisesvn_de/tsvn-automation.html Allgemeine Dokumentation: http://tortoisesvn.net/docs/release/tortoisesvn_de/index.html 22
Jetzt sind Sie dran... Vielen Dank für Ihre Aufmerksamkeit! Ich freue mich auf Ihre Fragen. Anne Wiesmann Technische Leitung 04153 / 55 9 41 21 aw@wielis.com 23