Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Christoph Menken, Sourceverwaltung und PowerBuilder Christoph Menken Power People.

Ähnliche Präsentationen


Präsentation zum Thema: "Christoph Menken, Sourceverwaltung und PowerBuilder Christoph Menken Power People."—  Präsentation transkript:

1 Christoph Menken, Sourceverwaltung und PowerBuilder Christoph Menken Power People

2 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 2/37 Fahrplan Warum Versions Kontrolle? PB Native SCC Anforderungen Die SCC API SCC-Architektur in PB 8/9 Visual Source Safe PowerGen Fragen

3 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 3/37 Warum Versionskontrolle? Mehrere Entwickler arbeiten an den selben Quellen Kompilierte Versionen und ausgelieferte Versionen müssen zum Zweck des Rollback archiviert werden Viele Objekte, Dateien und Pibble sind zu verwalten Zusätzliche Arbeit Versionsmanagement kann in einen Full-Time-Job ausarten Ein Entwickler ist kein Bibliothekar

4 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 4/37 PB Native Verhindert konkurrierende Zugriffe Zentrale Sourcen auf einem Serverlaufwerk Lokale Arbeitskopie Möglichkeit des Offline-Arbeitens

5 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 5/37 SCC Anforderungen Sicherer Aufbewahrungsort (Repository) für beliebige digitale Dokumente Versionskontrolle über Objekt/Datei Revision Sperren und Verzweigen (Locking & Branching) Verfolgbarkeit (Traceability) der Änderungen Timetravel (Zeitreise) Integriertes Änderungsmanagement und Fehlernachverfolgung

6 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 6/37 Die SCC API Innerhalb der SCC Repository Projekt Verzeichnisse und Unterverzeichnisse Archive –Jede Änderung wird mit einer speziellen Versionsnummer versehen –Viele SCC Tools verwenden Delta oder Reverse Delta Dateiformate. d_ph.srd myApp SRC d_mc.src setup.txt DOC

7 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 7/37 Die SCC API SCC Terminologie Server Konfiguration (Server Configuration) Projekt (Project) Sicht (View) Ordner (Folder) Archive Labels Arbeitsordner (Working Folder)

8 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 8/37 Die SCC API Source Code Lebenszyklus Datei A Datei B Datei C Datei D Datei E Datei F Revision Labels, applied to specific sets of changed objects View Labels, applied to ALL objects associated to the View Änderungsmarkierungen (Revision Labels), sind bestimmten Mengen geänderter Objekte zugeordnet Sichtmarkierungen (View Labels), sind ALLEN mit der Sicht verbundenen Objekten zugeordnet

9 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 9/37 Die SCC API SCC ist eine Industrie-Standard API die von den meisten Anbietern von Sourceverwaltungssystemen unterstützt wird SCC API unterstützt: –Präzise Status Informationen der Repository-Archive –Unterverzeichnis in der Änderungshierarchie –Operationen um mehrere Objekte mit einer API Anfrage zu bearbeiten

10 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 10/37 Die SCC API weitere Terminologie Local Project Path: der lokale Projektpfad auf dem lokalen Rechner in dem die PB IDE die exportierten Source Dateien verwaltet. –Hier muss der aktuelle Workspace liegen (*.pbw) –Dieser Pfad ist für alle Targets gleich SCC Working Folder: Der Arbeitsordner, wo das SCC Werkzeug die Arbeitskopien der entsprechenden Objekte/Dateien ablegt. –Das SCC Werkzeug verwendet diesen Ordner wenn dessen Userinterface mit Archiven arbeitet. –Jede/r SCC Sicht/Ordner kann einen anderen Arbeitsordner verwenden. ACHTUNG: Dies MUSS NICHT derselbe Pfad sein!

11 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 11/37 Die SCC API Powerbuilder spezifisch EXPORT der Quellen vor –SccAdd() Hinzufügen zur Source Control –SccCheckin() Einchecken –SccDiff() Unterscheide vergleichen IMPORT der Quellen nach –SccCheckout() Auschecken –SccGet() Hole die letzte Version –SccUncheckout()Auschecken rückgängig machen

12 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 12/37 Die SCC API Beispiel Checkout PB exportiert Kopien der Objekte als Backup (für ein evtl. Rollback) PB ruft SccCheckout() auf. Das SCC Tool schreibt die letzte Version in den lokalen Projekt Pfad PB ruft SccQueryInfo() auf um sicherzustellen, dass das Objekt erfolgreich ausgecheckt wurde PB importiert die Objekte in die entsprechende Pibble PB aktualisiert den Status Cache und aktualisiert die IDE PB commited die Transaktion & löscht die Backup-Dateien

13 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 13/37 Die SCC API Beispiel Checkin PB exportiert die Syntax der einzuchekenden Objekte in den lokalen Projekt Pfad PB ruft SccCheckIn() auf. Das SCC Tool aktualisiert die Revisionshistorie in den Archiven gibt die Datei wieder frei PB ruft SccQueryInfo() um das erfolgreiche Einchecken zu überprüfen PB aktualisiert den Status Cache und aktualisiert die IDE

14 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 14/37 SCC-Architektur Änderungen in PB8 SCC Status Information wurden aus der Pibble genommen –Beseitigt den Bedarf gemeinsam genutzter Pibbles im Netzwerk –Mit SccQueryInfo() können Status Information eingeholt werden Neue Icons in der IDE –Es gibt jetzt den Out-of-Sync Status Neuer Offline Mode SCC Operationen können über gesamte Targets durchgeführt werden Unterstützt Verzeichnis-Hierarchien und Unterprojekte Beseitigt die work Pibble

15 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 15/37 SCC-Architektur Änderungen in PB8 SCC Verbindung wurde eine Workspace Eigenschaft Unterstützt Source Verwaltung für Web Targets Erlaubt SCC Operationen über gesamte Targets Neuer CheckView Dialog Neue PBW, PBT, PBG, und PBC Dateien Ersetzt Old PBNative mit einem SCC Anbieter

16 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 16/37 SCC-Architektur Keine gemeinsamen Pibbles im Netz Privater Arbeitsbereich für jeden Entwickler –Keine Datei-Locking Probleme beim Ausführen oder Debuggen von Applikationen – Offline arbeiten ist jetzt möglich Reduziert Dateizugriffe im Netz –Status Informationen für Objekte eines Arbeitsbereichs werden nun in einer Hash- Tabelle im Speicher gehalten

17 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 17/37 SCC-Architektur SCC Status nicht in der PBL Status Information in der PBL waren unzuverlässig Registrierung von PBL erforderte einen Zugriff auf ein Netzlaufwerk und mussten zwischen den Team Mitgliedern verteilt werde –Verursacht Dateizugriffs Probleme beim Starten und Debuggen der Applikation –Uneffiziente Dateizugriffe im Netzwerk um Status Information einzuholen –Offline Arbeiten erforderte einen privaten Arbeitsbereich auf einem lokalen Laufwerk

18 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 18/37 SCC-Architektur SccQueryInfo() Ermittelt verlässliche Status Informationen direkt vom SCC Provider Status Cache wird nach Bedarf gefüllt –Performance Auswirkungen werden in einem zukünftigen Release adressiert Status Cache wird in einer Hash-Tabelle im Speicher gehalten –Sofortzugriff auf Informationen –Konfigurierbare Auffrischrate –Optionale Eigenschaft findet lokale, Out- of-Synch Objekte sind –Stellt serienmäßig den Status Cache beim schließen des Arbeitsbereichs her (.PBC file) –Offline Mode verwendet die.PBC-Datei für die letzten Status Infos

19 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 19/37 SCC-Architektur Keine work.pbl Überflüssiges Überbleibsel des alten PBNative Denkmusters –Status Informationen werden nicht länger in den Pibblen gehalten –Jeder Entwickler hat jetzt seinen eigenen Arbeitsbereich Überflüssig für SCC Operationen Einfaches Ein- und Auschecken –Beseitigt 4 Schritte zum erfolgreichen Auschecken –Beseitigt 8 Schritte zum erfolgreichen Einchecken –Erheblich einfacheres Rollback

20 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 20/37 SCC-Architektur in PB 8/9 Icons der PB 8.0 IDE IconBedeutung + Objekt befindet sich Lokal und nicht in der Sourceverwaltung. Objekt befindet sich in der Source Verwaltung und ist von niemand ausgecheckt Objekt ist vom aktuellen Anwender ausgecheckt Objekt ist von einem anderen Anwender Lokales Objekt ist mit dem Server-Objekt nicht synchron

21 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 21/37 SCC-Architektur Offline Modus Großartig für Entwickler mit Notebooks Außerordentlich Effizient Erhält Status Information vom Status Cache (.PBC file) welcher beim letzten Verlassen des Arbeitsbereichs gebildet wird Ermöglicht das offline Editieren von ausgecheckten Objekten Verwendet Read-only Attribute für nicht ausgecheckte Objekten

22 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 22/37 SCC-Architektur Operationen auf mehreren Objekten Hinzufügen mehrerer Objekte mit einem SCC API Aufruf –Schneller und effizienter –Erweiterte Attribute auf alle Objekte anwendbar Objekts aus mehreren Pibble in einem Target auschecken –In PB 7.0 nicht möglich –Kompilation in drei Durchgängen / Import löst wechselseitige Abhängigkeiten auf

23 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 23/37 SCC-Architektur Verzeichnis- hierarchien Unbedingt Erforderlich für Web Targets Erlaubt PB Entwickler Objekte in Unterverzeichnissen auf der lokalen Workstation und Archiv Laufwerken zu organisieren –Logische Anordnung von Objekten –Erlaubt Objekte mit gleichen Namen in unterschiedlichen Archivverzeichnissen

24 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 24/37 SCC-Architektur S CC Verbindung als Workspace Eigenschaft In PB 7.0. war die SCC Verbindung eine Eigenschaft der Applikation In PB 8.0 werden Applikationen als Targets betrachtet. Es können mehrere Targets gleichzeitig in einem Workspace bearbeitet werden –Die SCC Verbindung kann während des Wechsel zwischen zwei Targets innerhalb eines Workspace gehalten werden –Verschiedene Targets können sich Pibble in einem Workspace teilen Die SCC Verbindungsinformationen werden in der Windows Registry gespeichert. Dies erfordert keine.CFG Dateien und PB.INI Einträge mehr –HKCU\Software\Sybase\PowerBuilder\8. 0\Workspace\workspace_name\SourceCo ntrol

25 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 25/37 SCC-Architektur Workspace Properties Source Control Tab Neue Verbindungs- Eigenschaften

26 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 26/37 SCC-Architektur Web Targets unter Source Control PB 8.0 unterstützt Source Verwaltung für Web Targets PB Targets und Web Targets können zusammen in einem Workspace unter Source Verwaltung existieren Alle Web Target Verzeichnisse müssen im lokalen Projekt Pfad existieren

27 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 27/37 SCC-Architektur Target-Wide SCC Operations Mit PB 8.0 können SCC Operationen für ein gesamtes Target durchgeführt werden –Rechter Mausklick auf das Target Icon –Get Latest Version zur Synchronisation das lokale Target mit dem SCC Provider –Auswahl: Select Multiple Files Contained Within this Target – Der CheckView Dialog selektiert automatisch alle Objekte, die entweder lokal nicht existieren oder nicht synchron sind –Kompilation in drei Durchgängen / Import löst wechselseitige Abhängigkeiten auf

28 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 28/37 SCC-Architektur SCC-relevante Dateien *.PBWWorkspace *.PBTTarget *.PBGObjektbeschreibung einer Pibble *.PBCOffline Status Cache *.PRPUsed by PBNative Nur PBT und PBG Dateien werden in der Source Verwaltung registriert

29 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 29/37 SCC-Architektur PBNative als SCC Provider Das alte PBNative wurde entsprechend der PB 8.0 SCC Anforderungen ersetzt Das neue PBNative fungiert als SCC Provider –Anstelle einer registrierten Pibble wird nun eine Verzeichnishierarchie auf einem Netzlaufwerk verwendet –Verwendet *.PRP Dateien im Archivverzeichnis um den Checkout Status zu protokollieren –Nur die letzte Revision wird im Archivverzeichnis gespeichert –Keine Revisionshistorie –SccDiff() kann verwendet werden

30 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 30/37 SCC-Architektur Visual Diff Konfiguration unter PBNative Mögliche Visual Diff Tools: PBDelta Perforce P4diff.exe Microsoft Windiff.exe (Visual Studio Tools)

31 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 31/37 Verzeichnis- hierarchie Alle Targets eines Workspace, die unter Sourceverwaltung sind, müssen auf dem selben Laufwerk bleiben Am Besten legt man den Workspace (*.PBW) in den lokalen Projekt Pfad. Alle Targets (*.PBT) und Objekte die zu den entsprechenden Targets gehören sollten in Unterverzeichnissen des lokalen Projekt Pfads liegen.

32 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 32/37 Aufsetzen der SCC Integration in PB8 Alle Targets unter Sourceverwaltung in einem Workspace müssen auf dem gleichen Laufwerk liegen. Der Workspace (*.PBW) muss im lokalen Projektpfad liegen. Alle Targets (*.PBT) und Objekte die mit jedem Target verbunden sind sollten in Unterverzeichnissen des lokalen Projekt Pfads liegen. Die PB Objekte werden zunächst von einer Workstation registriert und dann wird die komplette Verzeichnisstruktur auf jede weitere Maschine kopiert. Für Web Targets wird der File > New > Target > Source Controlled Web Target Assistent verwendet.

33 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 33/37 Tips & Hinweise Wenn Speicherplatz kein Problem ist, sollte Delete PowerBuilder-generated Object Files nicht aktiviert sein –Perform DIFF on status update wird schneller ausgeführt – Das SCC Tool meldet nicht den Objekt Status Missing Nicht die Select All-Schaltfläche im Get Latest Version-Dialog verwenden Einige wichtige 3 rd -party Werkzeuge: –PowerGen- –PBDelta-

34 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 34/37 PB9 Erweiterungen SCC Operationen können auf Pibble Ebene durchgeführt werden Abfrage … exists in the local project path. Press OK to overwrite … kann unterdrückt werden Erweiterter Checklist-Dialog Erweiterte SCC Historie Erweiterte Status Ermittlung Erweiterte PBNative Konfiguration Erweiterung des List View im Library Painter 3 SCC Protokollierungslevel

35 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 35/37 Visual Source Safe Volle Unterstützung der SCC API Problemlose Integration in PB8/9 Userverwaltung mit unterschiedlichen Rechtestufen Objectsharing zwischen verschiedenen Projekten Labeling, VisualDiff, History

36 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 36/37 PowerGen Optimize Regenerate Create Exe, PBDs, DLLs Build Export Source Control Integration

37 Christoph Menken, PBUGG-Treffen Freiburg Sourceverwaltung und PowerBuilder Folie 37/37 Kontakt Sind noch Fragen offen? Bei Rückfragen oder Anregungen bitte an: Christoph Menken Power People Inh. Ludwin Feiten Am Borsigturm 50 D Berlin fon +49 (0) fax +49 (0)


Herunterladen ppt "Christoph Menken, Sourceverwaltung und PowerBuilder Christoph Menken Power People."

Ähnliche Präsentationen


Google-Anzeigen