9
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch Kennst du den schon? Altes und Neues von der Xpert.ivy GUI-Development Front Demonstriert am Beispiel X.MON Autoren: Kaspar von Gunten + Tamas Kis Datum: 24.4.2012 1

Autoren: Kaspar von Gunten + Tamas Kis Datum: 24.4.2012

  • Upload
    gamma

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

Kennst du den schon? Altes und Neues von der Xpert.ivy GUI-Development Front Demonstriert am Beispiel X.MON. Autoren: Kaspar von Gunten + Tamas Kis Datum: 24.4.2012. Wir haben 25 Minuten für…. Agenda. Demonstration GUI Features X.MON Einbau eigener Widgets Eigenes Look- And - Feel - PowerPoint PPT Presentation

Citation preview

Xpert.ivy Developer Day - BAM

Kennst du den schon?Altes und Neues von der Xpert.ivy GUI-Development FrontDemonstriert am Beispiel X.MONAutoren: Kaspar von Gunten + Tamas KisDatum: 24.4.20121Soreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.chSoreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.ch1AgendaWir haben 25 Minuten frDemonstration GUI Features X.MONEinbau eigener WidgetsEigenes Look-And-FeelDynamischer PanelwechselIntegration anderer AnwendungenPersistente UI-Settings

Fragen2Soreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.ch

VorgehenULC Erweiterung (Server/Client) schreibenPacken und SignierenIns clientlib/extensions/ Verzeichnis von Server oder Designer stellen

DokuDesigner Guide > Extensions > Rich Dialog Clientside Libraries > Providing Custom ULC Widgets

ACHTUNGDie Xpert.ivy Lizenz erlaubt nur die Verwendung von ULC. Fr die Entwicklung eigener Erweiterungen wird eine gltige ULC Developer Lizenz bentigt. Mehr Infos unter http://www.canoo.com > RIA SuiteGUI DevelopmentEinbau eigener Widgets3DemoSoreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.chAlle Clientside extensions mssen mit dem selben Zertifikat signiert sein.3

GUI DevelopmentZertifikat erstellen, Client signieren1. Eigenes Zertifikat erstellen:> keytool -genkeypair -dname "cn=Dev Day, ou=IvyTeam, o=Soreco, c=CH" -alias devday -keypass dev123 -keystore mykeystore -storepass sesam -validity 90

2. Die Datei build.properties im Verzeichnis clientlibs/ ergnzen:keystore.file=C:/Users/kvg/mykeystorekeystore.password=sesameopentheekeystore.alias=devdaykeystore.keypass=dev123

3. Eigene *.jar Dateien nach clientlib/extensions//clientLibs kopieren.4. Die Datei clientlib/extensions/build.xml mit Ant (im Designer) ausfhren.> [echo] Extension built successful.

5. Eigenschaften in clientlib/extensions/extension.any ergnzen.

4DemoSoreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.chGUI DevelopmentEigenes Look-And-FeelVorgehenEigenes LookAndFeel kann analog zu Clientside Libraries mitgepackt werdenEinstellung/Aktivierung auf dem Server unter Application > Configuration Properties

Eigenes LF im Rich Dialog EditorLF Contributor Plugin konfigurieren und zum Designer hinzufgenAuswahl/Aktivierung auf dem Designer unter Preferences > Java > Visual Editor5Demo

Soreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.chGUI DevelopmentDynamisches UIVorgehenRich Dialogs auf ein inneres Card Display ladenMit myDisplay.selectPanel(name) zwischen Panels hin- und herschaltenNie Panels mit removePanel(name) von einem Display entfernen (nur mit unload)DokuKeine (Public API to be released)

6

myDisplay.selectPanel(panelNames.get(ctr++ mod 3))

Soreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.chPanel API ist im Moment noch nicht public, aber kann als stabil betrachtet werden.Problem ist noch, dass die Panelnamen selber herausgefunden werden mssen (kein API). Auch ist im Moment noch nicht offensichtlich klar, welches Panel wie heisst. Diese Werte ndern sich aber,einmal herausgefunden, nicht mehr.6

GUI DevelopmentEinbetten von AnwendungenVorgehenBeliebig tief verschachtelte Komponenten schicken einen Broadcast: load(workflowUI)Implementierung Top Level Frame mit Display als Broadcast-Listener. Ohne Business Logik, aber mit Launcher-Funktionalitt7

z.B. aus anderem ProjektSoreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.chVoraussetzung: BAM ist von WF-UI AbhngigDas ganze ist robust: Wenn kein Handler vorhanden ist, dann passiert einfach nichts.

7GUI DevelopmentPersistente UI SettingsVorgehenUser-Context = Persistenter Settings-Container mit optionalem Namenivy.rd.context.setAttribute(key,value)ivy.rd.context.getAttribute(key)Kann auch zum Ablegen von Nicht-UI-Einstellungen benutzt werdenAchtung: Keine Business-kritischen Daten!DokuDesigner Guide > Rich Dialogs> Rich Dialog User Context

8DemoPro RD und User!Inklusive BeispieleSoreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.chFragen9

Soreco AG - ivyTeam Alpenstrasse 9 6304 Zug www.soreco.ch9