soreco ag - ivyteam – alpenstrasse 9 – 6304 zug – neue features in xpert.ivy 4.3 autor: bruno...
TRANSCRIPT
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.chSoreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Neue Features in Xpert.ivy 4.3
Autor: Bruno Bütler Demo: Christian StrebelDatum: 23.4.2012
1
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Themen
1. 3.9 Project Import2. ivyArchives3. Process Editor4. Project Validation5. Rich Dialog Widgets6. Html UI7. ivyScript 8. Business Calendar9. Workflow Features10. Migration von Xivy4.2
2
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
3.9 Project Import
3
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Xivy3.9 Projekt Migration
• Import Wizard für Xivy3.9 Projekte
• Auto Konvertierung Prozesse, Klassen, Scripts, Rollen, CMS …
• Konvertierungs-Protokoll
• TODO-Liste für manuelle Nacharbeiten Task-View
4
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Limiten der xivy3.9 Auto KonvertierungManuelle Konfiguration• Trigger Element, WS Process StartNeues Java Interface• PI Element, EventStart ElementNot available• DBPage Element, SOAP Element• Navigation CMS Elemente• Smart Charts• List und Recordset Iterations-Funktionen wie
inject(...), reject(...) usw.
5
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
ivyArchives
6
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Ivy Archive
Project Archive
/Ordner *.iar
• Zipped Ivy Projekt • Read only • Sourcen und SVN sind enthalten
7
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Ivy Archive
Nutzen• Austausch von Projekten zwischen
Entwicklern• Performance im Designer• Deployment als einzelne Datei
Funktionen• Pack / Unpack Projekt• Import / Export von *.iar• Deployment von *.iar
8
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
Process Editor
9
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Prozess Editor
• Gridlines– Preferences: Ein/Aus-Schaltbar,
Farbeinstellung• Zoom• Undo• Context Menu–Shortcuts• Positionierung
– Combine/Refine– Copy/Paste– Swimlane Resize
10
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
Projekt Validation
11
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Project Validation
Neues Validation Framework
• Schnelleres Feedback• Vollständigere Validierung• Klare Problem Marker
• Validierung wird ausgelöst, wenn sich eine Resource ändert. D.h. Datei gespeichert wird
• Manuelle Validierung über Menüpunkt “Validate”
12
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
Rich Dialogs Widgets
13
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Closeable Tab Display
• Tab Close Event mit Veto Möglichkeit
14
TabClosingRequestEvent closeEvent = event as TabClosingRequestEvent;
closeEvent.cancel();
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Bage Mode für RButton
• RButton mit Badge Overlay– setShowBadge(true)– setBadgeValue(int)
15
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Border Fade Effect bei Eingabe Widgets Einstellbar bei
TextField setEditable() TextArea setEditable() DatePicker setEditable() ComboBox setSelectable()
16
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
Html UI
17
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Html UI
• Page Preview
• Neue Link Referenzen im ivy.html Context– ivy.html.applictionHomeRef()– ivy.html.taskListRef()– ivy.html.processStartRef()
• Diese dienen zum customizen des Workflow UIs = eigene Implementierungen
• Konfiguration auf dem Server pro Applikation• Default Implementierung im HtmlWFUI
Projekt18
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
ivyScript
19
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 ivyScript – Einfache Typ KonvertierungenString"11.12.2013".toIvyDate() -> '11.12.2013'"11.12.2013 11:22:33".toDateTime() ->
'11.12.2013 11:22:33'"false".toBoolean() -> false
Number(1).toBoolean() -> true
ObjectObject obj = "123";obj.toNumber() -> 123
20
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 ivyScript – toType() Methode
Konvertierung einer Datanklasse oder eines Java Beans Alle Properties die gemeinsam sind, werden von TypeX zu TypeY kopiert.
TypeX x = new TypeX();x.myString = "example";TypeY y = x.toType(TypeY.class);x.myString.equals(y.myString) -> true
21
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 ivyScript – toTypedList() Methode
Konvertierung einer typisierten Liste Alle Entries in der Liste werden konvertiert.
List<TypeX> listX = ...;List<TypeY> listY = listX.toTypedList(TypeY.class);
22
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 ivyScript – einfache Typ Angabe
Definieren von Parametern oder Attributen mit “:”
• myParam:Number Definiert den Parameter mit dem angegeben Typ
• myParam: [return]öffnet den Typ Browser
23
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
Business Calendar
24
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Business Kalender
Zur Unterscheidung von Business Time und Real Time
Ein Kalender definiert die arbeitsfreien Tage• der Woche (Wochenende)• Jährliche Feiertage (z.B. 1. Januar)• Feiertage relativ zu Ostern
• Tägliche Arbeitsstunden
Mehrere, hierarchisch gegliederte Business Kalender definierbar
25
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Gültikeit von Business Kalendern
• Ein Kalender kann gesetzt werden auf – Application (ivyScript, Server Admin UI)– Environment (ivyScript, Server Admin UI)– Case (ivyScript, Prozess Element
Parameter)– Task (ivyScript, Prozess Element
Parameter)• Beim Aufruf einer ivy.cal –Methode wird der
gültige Kalender aufgelöst• Wenn keiner gesetzt ist, gilt der Default
Kalender
26
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Business Kalender API
ivy.cal API Methoden für die Berechnung von Fristen und Terminen und für die Configuration von Kalendern
• ivy.cal.getWorkDayIn(Number workDays)
• ivy.cal.get(String calendarName)
• ivy.case.setBusinessCalendar(…);
27
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
Workflow Features
28
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Workflow – Environment on Case
Auf einem Case kann ein Einvironment gesetzt werden
ICase.setActiveEnvironment(String name)ICase.getActiveEnvironment()
Reihenfolge für gültige Environment: 1. Environment des Cases.2. Environment der Session.3. Environment der Application.4. Default Environment.
29
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Workflow - Role properties
Analog zu User Properties können auch auf einer Rolle Properties gesetzt werden.
• Key/value pairs• Gespeichert in der System DB• Get/Set Script Methoden
ivy.wf.getSecurityContext().findRole("R1").setProperty(String,String)
30
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Workflow – neues WF Query-API
31
Neues API für die Abfrage von WF Daten (Tasks, Cases)• aggregieren, filtern, gruppieren, ordnen
TaskQuery query = TaskQuery.create() .aggregate().avgCustomDecimalField1() .where().customVarCharField1()
.isEqual("ivy").groupBy().state() .orderBy().customVarCharField2().descending();
Recordset rs = ivy.wf.getTaskQueryExecutor().getRecordset(query)
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xp
ert
.ivy 4
.3
Migration von Xivy4.2
32
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Migration von 4.2
Designer:Neue Versionsnummer im .mod (4.3er Projekte gehen nicht im 4.2er Designer)• Konvertiere 4.2-er Projekt• Lese Migration Notes bez. API changesServer:Projekte müssen nicht neu deployed werden• Konvertiere System Database• Check Serialization Log
Probleme mit der Serialization/Deserialization von Prozessdaten werden in 4.3 erkannt und geloggt.
33
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert
.ivy 4
.3 Migration from 4.2 – Serialization Logs2:31:48.078 ERROR [ch.ivyteam.ivy.scripting.serialization.IvyScriptSerializer] [http-8081-1] [application=2147483647, client=0:0:0:0:0:0:0:1, requestId=30, task=2, pmv=designer$Test$1, session=1, request=HTTP GET TestValid.mod/start.ivp(2.2.0.0), executionContext=SYSTEM] Missing Default Constructor for type ch.NotSerializable deserialization will return null or fail.
12:31:58.319 WARN [ch.ivyteam.ivy.scripting.serialization.IvyScriptDeserializer] [http-8081-1] [client=0:0:0:0:0:0:0:1, requestId=47, executionContext=SYSTEM] Deserialization: Could not create instance of ch.NotSerializable . Object will be initialized with null.
34
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
35
Frag
en