Framework Studio starten
Beim Start des Programms Framework Studio öffnet sich ein Dialog für die Verwaltung der Repositories, die Ihnen für Ihre Arbeit zur Verfügung stehen. Als Repository bezeichnet man eine Datenbank, in der die Quellcodes gespeichert werden.
Repositories pflegen und auswählen
Repository-Auswahl
Mit dem Button New können Sie ein neues Repository in die Liste hinzufügen. Anschließend geben Sie folgende Daten ein:
Button Remove
Mit dem Button Remove können Sie das ausgewählte Repository aus der Liste entfernen.
Name
Name der Verbindung, den Sie frei wählen können.
Connection Einstellungen
Sind im Kapitel Connection Einstellungen beschrieben.
Button Test Connection
Mit dem Button Test Connection können Sie prüfen, ob eine Verbindung zum Repository hergestellt werden kann.
Button OK
Um die Arbeit auf einem Repository zu beginnen, wählen Sie den entsprechenden Eintrag in der Tabelle aus und klicken auf OK.
Es öffnet sich ein Dialog, mit dem Sie sich an das Repository anmelden können (siehe Login).
Weitere Funktionalität im Hauptmenü
Unter dem Menüpunkt Repository werden die folgenden Funktionen angeboten:
Create new repository [...]
Dieser Menüpunkt ermöglicht das Anlegen eines neuen Repositories. Weitere Informationen dazu finden Sie unter Erstellen eines Repositories.
FSDemo
In diesem Untermenü werden die folgenden beiden Menüpunkte zusammengefasst:
Create FSDemo repository [...]
Es wird ein neues Repository angelegt, in dem bereits eine einfache Demo-Applikation enthalten ist (siehe auch Erstellen eines Repositories).
Create FSDemoData Database [...]
Mit diesem Menüpunkt lässt sich eine Datenbank mit Demo-Daten für die Demo-Applikation anlegen.
Unter dem Menüpunkt Licenses werden die folgenden Funktionen angeboten:
Choose License Database [...]
Mit diesem Menüpunkt öffnet sich der Choose License DB Dialog. In ihm kann die Datenbank angegeben werden, in der die Lizenz für die Benutzung von Framework Studio abgelegt ist.
Manage Licenses
Mit diesem Menüpunkt öffnet sich der Manage Licenses Dialog. In ihm kann die aktuelle Framework Studio Lizenz verwaltet oder exportiert werden, sowie neue Lizenzen importiert werden.
Erstellen eines Repositorys
Der Aufruf des Create Repository Dialogs erfolgt über das Menü Repositories.
Es gibt grundsätzlich zwei Möglichkeiten, wie ein neues Repository erzeugt wird:
Ein neues leeres Repository erzeugen, um eine eigene Anwendung zu entwickeln. Ein vorhandenes Default-Package importieren, um die darin enthaltene Anwendung in einen Broker zu generieren oder darauf aufbauend ein Customizing-Package zu erzeugen.
Warning
Es gibt immer genau ein unterstes Package. Dieses nennt sich Default-Package. Mehrere Default-Packages können nicht miteinander kombiniert werden. Es ist also nicht möglich, nachträglich ein Package zu importieren, bei dem es sich um ein solches Default-Package handelt.
Connection Type
(SqlServer, Oracle) Hier können Sie angeben, welche Art von Datenbank Sie für das neue Repository verwenden wollen.
Server Name
(Nur bei SQL-Server) Gibt an, auf welchen Server das Repository abgelegt ist bzw. abgelegt werden soll. Bei Oracle werden die Datenbanken nur mit Namen angesprochen. Diese Namen müssen im Oracle-Client hinterlegt werden.
Database Name
Gibt den Namen der Datenbank an, in der das Repository eingespielt werden soll.
Bei SQL-Server wird eine neue Datenbank erzeugt, falls diese noch nicht existiert.
Wenn die Datenbank bereits existiert, muss es sich dabei um eine leere Datenbank handeln. Es darf auch keine Framework Studio Lizenz-Datenbank sein.
Bei Oracle muss die angegebene Datenbank existieren. Die Tabellen für das Repository werden in das Profil des angegebenen Benutzers generiert.
Es dürfen in dem Profil noch keine Repository-Datenstrukturen existieren. Es darf auch keine Framework Studio Lizenz-Datenbank in diesem Profil installiert sein.
Authentication
Gibt an, mit welchem Login auf die Datenbank zugegriffen werden soll.
Repository with empty default Package
Es wird ein leeres Default-Package generiert.
Der Name des Packages wird mit „Package“ vorbelegt. Er kann später im Package Manager geändert werden. Dies sollte vor dem Start der Entwicklung gemacht werden.
I want to choose my default Package
Es wird ein vorhandenes Package importiert. Das Package kann mit dem Button ausgewählt werden. Dabei muss es sich um ein Default-Package handeln.
Der Import kann je nach Größe des Packages relativ lange dauern.
Button OK
Erzeugt das Repository.
Button Cancel
Schließt den Dialog ohne eine Aktion auszuführen.
Login
Mit dem Login-Dialog können Sie sich am zuvor ausgewählten Repository anmelden.
Listbox Package
Eine Liste der existierenden Packages. Importierte Packages werden mit dem Suffix (readonly) gekennzeichnet.
Beim Login merkt sich Framework Studio das ausgewählte Package. Es wird beim nächsten Login wieder vorbelegt.
Listbox Version
Eine Liste der Package-Versionen. Es werden die Versionen des ausgewählten Packages angezeigt. Die Versionen sind nach Versions-Nummer absteigend sortiert. Eine Sortierung ist nur dann gewährleistet, wenn übliche gültige Versionsnummern verwendet werden.
Ist eine Package-Version mit einer anderen FS-Version erstellt, dann wird dies in dieser Liste angezeigt (z.B. [FS 3.11] – diese Package-Version kann nur mit FS Version 3.11 bearbeitet werden). Ein Login ist in diesem Fall nicht möglich. Sie müssen den Package-Manager verwenden, um die Package-Version auf eine aktuellere FS-Version zu bringen.
Ist ein Package-Version versiegelt, dann wird dies in der Liste mit dem Suffix (sealed) angezeigt. Ein Login ist möglich, es kann jedoch nicht bearbeitet werden.
Beim Login merkt sich Framework Studio die zuletzt ausgewählte Version. Die Information wird für jedes Package separat gespeichert. Beim nächsten Login wird bei der Auswahl des Packages die zuletzt gewählte Version vorbelegt.
Checkbox "Show only applicable packages and versions"
Mit dieser Checkbox werden die Packages und deren Versions gefiltert. Es werden nur noch die zur Auswahl bereitgestellt, an welchen sich eingeloggt werden kann. Beispielsweise werden sealed Packages oder Versions, welche nicht passend zur FS-Version sind ausgeblendet.
Combobox User
Eine Liste aller existierenden Benutzer. Diese Combobox arbeitet mit Autovervollständigung. Man braucht also nur die ersten Buchstaben eintippen. Das ist vorteilhaft bei langen Benutzernamen.
Beim Login merkt sich Framework Studio den zuletzt verwendeten Benutzer. Diese Information wird für jede Package-Version separat gespeichert. Beim nächsten Login wird bei der Auswahl einer Version der zuletzt gewählte Benutzer vorbelegt. Wenn Sie sich als FrameworkCompiler anmelden, dann wird die letzte Vorbelegung nicht gespeichert.
Wenn Sie nach dem Öffnen des Login-Dialogs einmal einen anderen Benutzer auswählen, wird dieser nicht mehr automatisch verändert.
Der FrameworkAdministrator kann sich nicht an einem Package anmelden. Mit diesem Benutzer öffnet sich die Benutzer-Verwaltung. Wenn man diesen Benutzer auswählt, dann werden alle Optionen deaktiviert.
Weitere Informationen zu Packages und Version finden Sie unter Package Manager.
Password
Geben Sie das Kennwort des Benutzers ein.
Sollten Sie Ihr Passwort einmal vergessen, gibt es die Möglichkeit über das Menü Benutzer-Verwaltung ein neues Passwort zu vergeben.
Checkbox Get latest FrameworkCompiler workspace
Gibt an, ob der Workspace aktualisiert werden soll.
Bei einem normalen Benutzer wird der eigene Workspace auf den Stand des FrameworkCompiler Workspaces aktualisiert. Gibt es einen neueren vollständig kompilierten und abgeschlossenen FrameworkCompiler Workspace, dann ist diese Checkbox zugänglich und automatisch gesetzt. Ist der eigene Workspace bereits auf dem aktuellsten Stand, dann ist ein erneuter Refresh nicht möglich.
Enthält der Benutzer in seinem Workspace bereits aktuellere Elemente als der FrameworkCompiler, dann behält er diese. Auch vom Benutzer ausgecheckte Elemente bleiben im eigenen Workspace erhalten. Alle Elemente, deren Version vom FrameworkCompiler Workspace abweichen, werden mit der Checkbox Compile Changes automatisch kompiliert.
Checkbox Get Latest Version
Wenn Sie sich als FrameworkCompiler anmelden, dann wird der Workspace auf die "Latest Version", also auf den aktuellsten eingecheckten Stand aller Elemente aktualisiert.
Bei einer offnenen Package-Version enthält der so neu erzeugte Workspace keinen SavedCode und keine DLLs. Diese werden durch einen vollständigen Compile erzeugt. Der Framework Compiler startet somit den Compile auf der "grünen Wiese".
Bei einer Service-Release Version werden SavedCode und DLLs aus dem vorherigen abgeschlossenen Workspace kompiliert. Somit müssen nur noch die im Service-Release geänderten Elemente neu kompiliert werden.
Checkbox Get DLLs
Gibt an, ob die vom FrameworkCompiler erzeugte DLLs geholt werden sollen.
Checkbox Compile Changes
Gibt an, ob automatisch alle Elemente kompiliert werden sollen, die nicht zum FrameworkCompiler Workspace passen. Das betrifft ausgecheckte Elemente und auch z.B. nach dem Start des FrameworkCompilers eingecheckte Elemente. Während dieses Compiles wird die Compiler-Option "Use Saved Code" aktiviert und die Option "Debuggable" wird deaktiviert. Anschließend werden die Compiler-Optionen wieder auf die letzte Benutzer-Einstellung zurückgesetzt.
Diese Option kann nur in Verbindung mit Get DLLs verwendet werden.
Wenn Sie sich als FrameworkCompiler anmelden, steht diese Option nicht zur Verfügung.
Wenn der letzte FrameworkCompiler erfolgreich war und der eigene Workspace veraltet ist (älter als der vom FrameworkCompiler), dann werden bei der Auswahl einer Version oder beim Wechseln des Benutzers die Checkboxen Refresh Workspace mit der FrameworkCompiler-Option, Get DLLs und Compile CheckedOut automatisch vorbelegt.
Option AutoDebug DLLs
Diese Option ist aktiv, sobald die Checkbox Compile Changes aktiviert wird. Die initiale Vorbelegung stammt aus dem Options-Dialog, kann jedoch temporär im Login-Dialog geändert werden.
Wird bei der AutoDebug-Option All angegeben, werden alle Namespaces jedes Typen debuggable kompiliert. Wird Service, Component angegeben, werden alle vorgenommenen Änderungen (Compile Changes), Services und Components debuggable kompiliert. Wird Service, Component, Form angegeben, werden alle vorgenommenen Änderungen (Compile Changes), Services, Components und Forms debuggable kompiliert. Mit None wird die AutoDebug-Option entsprechend "deaktiviert" und nur die vorgenommen Änderungen (Compile Changes) werden normal/nicht debuggable kompiliert.
Informationen
Bei der Auswahl einer Version werden unter den Checkboxen einige Informationen ausgegeben. Diese können je nach Anwendungs-Fall variieren.
Last FrameworkCompiler succeeded
Wird angezeigt, wenn der letzte FrameworkCompiler erfolgreich war. Der letzte FrameworkCompiler wurde erfolgreich abgeschlossen, nachdem der Workspace vom FrameworkCompiler aktualisiert wurde.
Last FrameworkCompiler failed
Wird angezeigt, wenn der letzte FrameworkCompiler fehlgeschlagen ist. Es wurde ein Refresh Workspace durchgeführt, nachdem der letzte Compiler gelaufen ist.
Zusätzlich gibt es noch einige Felder, die immer verfügbar sind:
Last Refresh Workspace
Gibt an, wenn der Benutzer zuletzt seinen eigenen Workspace aktualisiert hat. Es wird die Differenz in Minuten, Stunden oder Tagen angegeben. Zusätzlich gibt es einen Tooltip mit der kompletten Datum-Zeit-Angabe.
Wenn der Benutzer noch keinen Workspace hat, dann wird (no workspace) ausgegeben.
Wenn Sie den FrameworkCompiler auswählen, dann wird diese Information ausgeblendet.
Last FrameworkCompiler refresh
Gibt an, wann der Workspace des FrameworkCompilers zuletzt aktualisiert wurde. Es wird die Differenz in Minuten, Stunden oder Tagen angegeben. Zusätzlich gibt es einen Tooltip mit der kompletten Datum-Zeit-Angabe.
Wenn der FrameworkCompiler noch keinen Workspace hat, dann wird (no workspace) ausgegeben.
Last FrameworkCompiler compile
Gibt an, wenn der letzte FrameworkCompiler erfolgreich durchgelaufen ist. Es wird die Differenz in Minuten, Stunden oder Tagen angegeben. Zusätzlich gibt es einen Tooltip mit der kompletten Datum-Zeit-Angabe. Wenn noch nie ein FrameworkCompiler gelaufen ist, dann wird (never) ausgegeben.
Note
Diese Information wird generiert, wenn man den Compiler aus dem Package-Manager heraus startet, oder mit dem Programm FSConsole.exe durchführt.
Checkbox Maintenance Mode
Ist diese Checkbox gesetzt, wird Framework Studio im Wartungsmodus gestartet (siehe Maintenance Mode).
Button Login (Eingabetaste)
Mit diesem Button erfolgt die Anmeldung am Repository. Auf einem Repository kann sich ein Benutzer nur einmal an einem Label (Package Version) anmelden. Ein Benutzer kann sich dagegen gleichzeitig an verschiedenen Labels anmelden. Dabei wird pro Benutzer nur eine Framework Studio Lizenz verbraucht. Wenn Sie mit mehreren Benutzern in einem Label entwickeln möchten, ist es erforderlich, dass sich jeder mit einem anderen Namen an dem Repository anmeldet. Wenn noch eine Anmeldung mit diesem Benutzer existiert, erscheint eine entsprechende Meldung.
Diese Meldung erscheint auch dann, wenn sich Framework Studio unkontrolliert beendet hat (oder beendet wurde) und keine saubere Abmeldung erfolgt ist. In diesem Fall ist das Übernehmen der existierenden Anmeldung unproblematisch.
Wird die Anmeldung übernommen, wird der bereits angemeldete Entwickler automatisch abgemeldet, weil ein Benutzer nur einmal angemeldet sein darf. Arbeitet ggf. noch jemand anderes mit diesem Benutzer, wird dessen Anwendung automatisch beendet.
Nach erfolgreicher Anmeldung öffnet sich das Hauptfenster von Framework Studio.
Button Cancel (Escape-Taste)
Damit wird der Anmeldevorgang abgebrochen und es wird wieder die Repository-Auswahl angezeigt.
Maintenance Mode
Um Framework Studio im Wartungsmodus zu starten, muss im Login-Dialog die Checkbox Maintenance Mode gesetzt werden (siehe Login).
Die im Folgenden beschriebenen Funktionalitäten stehen dann in Framework Studio zur Verfügung.
Upgrade Workflow Parameters
In älteren Framework Studio Versionen (bis einschließlich 2.5) wurden Parameter in Methodenaufrufen von Workflow-Links anhand ihrer Bezeichnung identifiziert. Das hatte zur Folge, dass durch Umbenennung eines Parameters die Verknüpfung zerstört wurde. An solche Parameter wurde dann automatisch der Wert "null" übergeben. Da dies meist keinen Kompilierfehler verursacht hat, wurden dadurch ausgelöste Probleme erst spät erkannt.
Mit dem Menüpunkt Tools / Upgrade all old workflow parameters wird ein Vorgang gestartet, der dafür sorgt, dass alle Parameter zukünftig über ihre Position identifiziert werden. Ein nachträgliches Umbenennen von Parametern ist dann zukünftig problemlos möglich.
Der Vorgang kann nicht mit dem Benutzer FrameworkCompiler ausgeführt werden, da alle Workflows zur Bearbeitung ausgecheckt werden. Dieser Vorgang findet im Hintergrund statt, ohne dass der Benutzer Statusmeldungen erhält.
Ist der Vorgang beendet, erscheint eine Meldung mit dem Hinweis auf die automatisch erzeugte Protokoll-Datei. In dieser Protokoll-Datei wird auch festgehalten, welche Links an einen Parameter ein "null" übergeben. Diese Links sollten daraufhin überprüft werden, ob durch den oben beschriebenen Fehler bereits ein Parameter abhandengekommen ist.
Im Anschluss müssen alle Workflows manuell eingecheckt werden. Dazu bietet es sich an, nach ausgecheckten Elementen zu suchen (siehe Registerkarte Search), da dort über das Kontextmenü alle Elemente in einem Vorgang eingecheckt werden können.