350 likes | 491 Views
Neue Features in Xpert.ivy 4.3. Autor: Bruno Bütler Demo: Christian Strebel Datum : 23.4.2012. Themen. Xpert.ivy 4.3. 3.9 Project Import ivyArchives Process Editor Project Validation Rich Dialog Widgets Html UI ivyScript Business Calendar Workflow Features Migration von Xivy4.2.
E N D
Neue Features in Xpert.ivy 4.3 Autor: Bruno Bütler Demo: Christian Strebel Datum: 23.4.2012
Themen Xpert.ivy 4.3 3.9 Project Import ivyArchives Process Editor Project Validation Rich Dialog Widgets Html UI ivyScript Business Calendar Workflow Features Migration von Xivy4.2
Xpert.ivy 4.3 3.9 Project Import
Xivy3.9 Projekt Migration Xpert.ivy 4.3 Import Wizard für Xivy3.9 Projekte Auto KonvertierungProzesse, Klassen, Scripts, Rollen, CMS … Konvertierungs-Protokoll TODO-ListefürmanuelleNacharbeitenTask-View
Limitender xivy3.9 Auto Konvertierung Xpert.ivy 4.3 ManuelleKonfiguration 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-Funktionenwie inject(...), reject(...) usw.
Xpert.ivy 4.3 ivyArchives
Ivy Archive Xpert.ivy 4.3 Project Archive /Ordner *.iar Zipped Ivy Projekt Read only Sourcen und SVN sindenthalten
Ivy Archive Xpert.ivy 4.3 Nutzen Austausch von ProjektenzwischenEntwicklern Performance im Designer Deployment alseinzelneDatei Funktionen Pack / Unpack Projekt Import / Export von *.iar Deployment von *.iar
Xpert.ivy 4.3 Process Editor
Prozess Editor Xpert.ivy 4.3 Gridlines • Preferences: Ein/Aus-Schaltbar, Farbeinstellung Zoom Undo Context Menu–Shortcuts Positionierung • Combine/Refine • Copy/Paste • Swimlane Resize
Xpert.ivy 4.3 Projekt Validation
Project Validation Xpert.ivy 4.3 Neues Validation Framework Schnelleres Feedback VollständigereValidierung Klare Problem Marker Validierungwirdausgelöst, wennsicheine Resource ändert. D.h. Dateigespeichertwird ManuelleValidierungüberMenüpunkt “Validate”
Xpert.ivy 4.3 Rich Dialogs Widgets
Closeable Tab Display Xpert.ivy 4.3 Tab Close Event mit Veto Möglichkeit TabClosingRequestEventcloseEvent = eventasTabClosingRequestEvent; closeEvent.cancel();
Bage Mode für RButton Xpert.ivy 4.3 RButtonmit Badge Overlay • setShowBadge(true) • setBadgeValue(int)
Border Fade Effect bei Eingabe Widgets Xpert.ivy 4.3 Einstellbarbei TextFieldsetEditable() TextAreasetEditable() DatePickersetEditable() ComboBoxsetSelectable()
Xpert.ivy 4.3 Html UI
Html UI Xpert.ivy 4.3 Page Preview Neue Link Referenzen im ivy.html Context • ivy.html.applictionHomeRef() • ivy.html.taskListRef() • ivy.html.processStartRef() Diesedienenzumcustomizen des Workflow UIs = eigeneImplementierungen Konfiguration auf dem Server pro Applikation Default ImplementierungimHtmlWFUIProjekt
Xpert.ivy 4.3 ivyScript
ivyScript – Einfache Typ Konvertierungen Xpert.ivy 4.3 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
ivyScript – toType() Methode Xpert.ivy 4.3 KonvertierungeinerDatanklasseodereines Java Beans Alle Properties die gemeinsamsind, werden von TypeXzuTypeYkopiert. TypeX x = new TypeX(); x.myString = "example"; TypeY y = x.toType(TypeY.class); x.myString.equals(y.myString) -> true
ivyScript – toTypedList() Methode Xpert.ivy 4.3 KonvertierungeinertypisiertenListe Alle Entries in derListewerdenkonvertiert. List<TypeX> listX = ...; List<TypeY> listY = listX.toTypedList(TypeY.class);
ivyScript – einfache Typ Angabe Xpert.ivy 4.3 Definieren von ParameternoderAttributenmit “:” myParam:NumberDefiniert den Parameter mitdemangegebenTyp myParam: [return]öffnet den Typ Browser
Xpert.ivy 4.3 Business Calendar
Business Kalender Xpert.ivy 4.3 ZurUnterscheidung von Business Time und Real Time EinKalenderdefiniert die arbeitsfreienTage derWoche (Wochenende) JährlicheFeiertage (z.B. 1. Januar) FeiertagerelativzuOstern TäglicheArbeitsstunden Mehrere, hierarchischgegliederte Business Kalenderdefinierbar
Gültikeit von Business Kalendern Xpert.ivy 4.3 EinKalenderkanngesetztwerden auf • Application (ivyScript, Server Admin UI) • Environment (ivyScript, Server Admin UI) • Case (ivyScript, Prozess Element Parameter) • Task (ivyScript, Prozess Element Parameter) BeimAufrufeiner ivy.cal –MethodewirddergültigeKalenderaufgelöst Wennkeinergesetztist, gilt der Default Kalender
Business Kalender API Xpert.ivy 4.3 ivy.cal API Methodenfü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(…);
Xpert.ivy 4.3 Workflow Features
Workflow – Environment on Case Xpert.ivy 4.3 Auf einem Case kanneinEinvironmentgesetztwerden ICase.setActiveEnvironment(String name) ICase.getActiveEnvironment() Reihenfolgefürgültige Environment: Environment des Cases. Environment der Session. Environment der Application. Default Environment.
Workflow - Roleproperties Xpert.ivy 4.3 Analog zu User Properties könnenauch auf einerRolle Properties gesetztwerden. Key/value pairs Gespeichert in der System DB Get/Set Script Methoden ivy.wf.getSecurityContext().findRole("R1").setProperty(String,String)
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(); • Recordsetrs = ivy.wf.getTaskQueryExecutor() • .getRecordset(query) Xpert.ivy 4.3
Xpert.ivy 4.3 Migration von Xivy4.2
Migration von 4.2 Xpert.ivy 4.3 Designer: NeueVersionsnummerim .mod (4.3er Projektegehennichtim 4.2er Designer) Konvertiere 4.2-er Projekt Lese Migration Notes bez. API changes Server: Projektemüssennichtneu deployed werden Konvertiere System Database Check Serialization LogProblememitder Serialization/Deserialization von Prozessdatenwerden in 4.3 erkannt und geloggt.
Migration from 4.2 – Serialization Logs Xpert.ivy 4.3 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.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.