Presentation Michael Dänzer

Download Report

Transcript Presentation Michael Dänzer

Neue Features
in Xpert.ivy 4.3
Autor: Bruno Bütler
Demo: Christian Strebel
Datum: 23.4.2012
1
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert.ivy 4.3
Themen
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
3.9 Project Import
ivyArchives
Process Editor
Project Validation
Rich Dialog Widgets
Html UI
ivyScript
Business Calendar
Workflow Features
Migration von Xivy4.2
2
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert.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 Konvertierung
Manuelle Konfiguration
• Trigger Element, WS Process Start
Neues Java Interface
• PI Element, EventStart Element
Not 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
Xpert.ivy 4.3
ivyArchives
6
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert.ivy 4.3
Ivy Archive
Project
/Ordner
Archive
*.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
Xpert.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
Xpert.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
Xpert.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
TabClosingRequestEvent closeEvent = event as
TabClosingRequestEvent;
closeEvent.cancel();
14
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
TextArea
DatePicker
ComboBox
setEditable()
setEditable()
setEditable()
setSelectable()
16
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert.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 Projekt
18
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert.ivy 4.3
ivyScript
19
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch
Xpert.ivy 4.3
ivyScript – Einfache Typ Konvertierungen
String
"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
Object
Object 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
Xpert.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
Xpert.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
31
Workflow – neues WF Query-API
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
Xpert.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 changes
Server:
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 Logs
2: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.IvyScriptDeserializ
er] [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
Fragen
35
Soreco AG - ivyTeam – Alpenstrasse 9 – 6304 Zug – www.soreco.ch