AKIOMA.DOCS! (EHEMALS DOCXFACTORY) EINFACHE DOKUMENTENGENERIERUNG MIT OPENEDGE - WWW.AKIOMA.COM - PROGRESS SOFTWARE
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
www.akioma.com AKIOMA.DOCS! (ehemals DocxFactory) Einfache Dokumentengenerierung mit OpenEdge Webinar, 22. April 2021
Introduction Housekeeping Sie können uns nicht hören? Versuchen Sie, sich mit dem Computer-Audio und nicht mit dem Telefon-Audio zu verbinden Fragen? Reichen Sie sie im Fragen-Panel auf der rechten Seite Ihres Bildschirms ein Aufzeichnung? Diese Sitzung wird aufgezeichnet und innerhalb von 24 Stunden zur Verfügung gestellt .DOCS!-Webinar 2
▪ Name Philipp Schmoldt ▪ Position CPO ▪ E-Mail philipp.schmoldt@akioma.de Als Chief Product Officer der AKIOMA Software GmbH ist Philipp für die kontinuierliche Verbesserung und Erweiterung der Produkt- und Service-Pipeline verantwortlich. Als Diplom-Informatiker verfügt er über mehr als 15 Jahre Erfahrung in den Bereichen Cloud- und SaaS- Architekturen, Geschäftsprozessoptimierung, sowie Projekt- und Kundenanforderungsmanagement. .DOCS!-Webinar 3
Die Firma Gegründet im Jahr 2013 als AKIOMA Software KG Multiple awards Wachstum > 40 % (Ø über die letzten vier Jahre) Langjähriger Progress™ Partner Namhafte Kunden aller Größenordnungen in mehreren Ländern .DOCS!-Webinar 4
Unser Produktportfolio deckt alle Aspekte moderner Portfolio Geschäftsanwendungen LOW-CODE/NO-CODE PLATTFORM AKIOMA AKIOMA.DOCS! Lösung für die Erstellung jeder Next Generation Art von strukturierten Agile Business Applications Geschäftsdokumenten wie z. B. Verträge, Berichte, Handbücher, Bewertungen. Bestandteil von AKIOMA.SWAT! TOOLS & PROZESSE Modernste Software-Entwicklungsprozesse und Architektur-Best-Practices. Cloud- Deployment, SCM-Integration, Branching- Modelle, Versionierung, CI/CD, Marktplätze DIENSTLEISTUNGEN Schulung, Beratung, Customizing .DOCS!-Webinar 5
AKIOMA-basierte Anwendungen profitieren von zahlreichen Funktionen Produkt Security: ▪ Authorization Integration: ▪ Authentication Logic: Deployment: ▪ Connectivity-Layer ▪ Single-Sign-On ▪ Business-Logic ▪ Versioning ▪ REST/ODBC/JDBC… Documents: ▪ Role-based ▪ UI-Logic ▪ Continues Integration ▪ Prebuilt connectors: ▪ Create Word/Excel/PDF… ▪ Auditing ▪ Business-Rules ▪ Continues Deployment LOW-CODE/NO-CODE PLATTFORM SAP, MS-Navision, ▪ Multi-lingual Salesforce, Office365, ▪ Docker/Kubernetes ▪ Template based Exchange… Development: ▪ Multi-Tenancy AKIOMA ▪ Richtext-Editor ▪ DocumentViewer ▪ Source code management ▪ Development workflows ▪ Hosting AKIOMA Cloud ▪ Azure, AWS… Die Lösung für die ▪ Agile processes ▪ on premise ▪ Web-based tools Erstellung agiler ▪ Templates Internationalization: Geschäftsanwendungen der End-user Customizing: ▪ Multi-Language Data ▪ UI-Languages nächsten Generation ▪ Custom-wording ▪ Custom translations ▪ Custom-logic ▪ Locales/Time zones ▪ Custom-Rules ▪ Custom-Styling ▪ Custom-Screens Marketplace: While keeping update-cabability ▪ Deploy to Marketplaces TOOLS & PROCESSES ▪ Integrate with Marketplaces Modernste Software-Entwicklungsprozesse Design: ▪ auto-provisioning und Architektur-Best-Practices. ▪ UI & UX ▪ Trials AKIOMA ist das Framework für die ▪ Multi-Windowing ▪ buy subscriptions, users… Entwicklung aller Arten von komplexen, ▪ 100+ UI-Controls ▪ Add-Ons webbasierten Geschäftsanwendungen. Onboarding: ▪ Setup ▪ Customizing ▪ Multi-Tenancy .DOCS!-Webinar 6
Winner of: Innovator‘s Award EMEA, “We attribute a considerable part of our Unsere Mission Rising Star Award success to AKIOMA” Computerwoche: Best in Cloud Award Christoph Müssener, Managing Director Lucas-Nülle GmbH EINZIGARTIGES, UNERREICHTE VOLLSTÄNDIG ABSOLUT MARKTFÜHRENDES PRODUKTIVITÄT INDIVIDUALISIERBAR ZUKUNFTSSICHER USER INTERFACE ✓ Abbildung der komplexesten ✓ Verkürzung der Time-to- ✓ Vollständig dynamisches UX ✓ Vollständige Abstraktion des Daten- und UI-Strukturen Market durch intelligente verwendeten UI-Frameworks ✓ Dynamische möglich Business-Objekte durch unsere Rendering Datendefinitionen ✓ Parallele Verarbeitung einer ✓ Einsparung von IT-Ressourcen Engine ✓ Feature-toggling beliebigen Anzahl von durch Citizen Development ✓ UI Repository unterschiedlichen ✓ Kundenspezifische Logiken ✓ Parallele Entwicklung, ✓ Erweiterbar Datensätzen ✓ Regelbasierte Screens kontinuierliche Auslieferung ✓ Model-driven ✓ Richtiges multi-windowing ✓ Updatefähig trotz individualler ✓ Reduktion der Komplexität Anpassungen stets gegeben ✓ Backend unabhängig ✓ Geeignet für und schnelle Umsetzung geschäftskritische neuer Anforderungen an Anwendungen geschäftskritische ✓ Jeder Formfaktor möglich, Anwendungen vollständig responsive .DOCS!-Webinar 7
Why AKIOMA.DOCS!? Erstellung von Office-Dokumenten seit vielen Jahren ein wichtiges Merkmal der AKIOMA- Anwendungen Nach Modernisierung und Migration von GUI zu Web/Cloud: Wir haben ein Problem... OLE Automation, ActiveX, OCX etc. sind im Web nicht verfügbar Mögliche Alternativen: Progress Appserver mit dot.net und Ähnlichem → Ansätze benötigen Word/Excel zur eigentlichen Erstellung der Dokumente Reporting-Tools Programmierung notwendig Design in proprietären Tools Ergebnis oft nicht geeignet (bspw. Angebote) Ergebnis nicht (weiter) editierbar .DOCS!-Webinar 8
Die Entscheidung Praktisch alle Kunden und Anwender kennen Word/Excel Das MS Office-Format ist dokumentiert, allerdings: es ist sehr komplex Die Spezifikation hat über 2.000 Seiten Trotzdem wählten wir den harten Weg: Wir schufen einen Weg, Word- und Excel-Dokumente eigenständig ohne Office generieren zu können 20+ person-years development Volle Flexibilität Das Ergebnis: AKIOMA.DOCS! zur Erstellung komplexer Office-Dokumente jeder Art. Verfügbar als Cloud service mit REST API Command line Bibliothek für verschiedene Programmiersprachen Dedizierte OpenEdge ABL-Bibliothek (Procedural + OO) .DOCS!-Webinar 9
Die Entscheidung Was heißt Word-Dokumente ohne Word erstellen? .docx-Dokumente sind gezippte Dateien .DOCS!-Webinar 10
Office Dokumente in Katalogqualität .DOCS!-Webinar 11
So funktioniert‘s Stepp I: Designe die Vorlage in MS Word Erstellen Sie unterschiedliche Word-Vorlagen in Ihrem CI für jede Art von Dokument und Inhalt (Struktur, Layout, Bilder, Inhaltsverzeichnis etc.). Keine Einschränkungen: Nutzen Sie jede Word-Funktionalität, die Sie wollen. Das Video dazu finden Sie hier .DOCS!-Webinar 12
So funktioniert‘s Stepp II: Erstelle den Dokumenteninhalt Machen Sie sich keine Gedanken über Layout und Styling: Konzentrieren Sie sich ganz auf Inhalt und Struktur Ihrer Dokumente. Nutzen Sie alle leistungsstarken Funktionalitäten von AKIOMA.Docs! bereichsübergreifend mit all Ihren Kollegen - ohne eine einzige Zeile Code. Das Video dazu finden Sie hier .DOCS!-Webinar 13
So funktioniert‘s Stepp III: Generiere das Geschäftsdokument Wählen Sie die richtige Vorlage für den Druck des Angebots und lassen Sie AKIOMA.Docs! die Arbeit machen: 1. Die Strukturanalyse Das Video dazu finden Sie hier .DOCS!-Webinar 14
So funktioniert‘s Step III: Generiere das Geschäftsdokument Wählen Sie die richtige Vorlage für den Druck des Angebots und lassen Sie AKIOMA.Docs! die Arbeit machen: 1. Die Strukturanalyse 2. Inhalt und Daten dazuladen 3. Office-Dokument erstellen Das Video dazu finden Sie hier .DOCS!-Webinar 15
So funktioniert‘s Stepp IV: Überzeugen Sie Ihre Kollegen und Kunden Liefern Sie Ihrem Kunden ein 100 % gültiges und professionelles Office-Dokument auf Basis der von Ihnen gewählten Vorlage mit hunderten von Seiten, Bildern, Texten, Diagrammen, Unterkapiteln und das in Sekunden… Das Video dazu finden Sie hier .DOCS!-Webinar 16
OpenEdge Beispielapplikation Integration Verkauf von komplexen Produkten OpenEdge Backend + Web-UI Entwickelt mit der AKIOMA Low-Code/No-Code-Plattform AKIOMA.DOCS! zur Erstellung von anspruchsvollen Angeboten Schauen wir uns eine OpenEdge-Anwendung an, die AKIOMA.DOCS! zur Erstellung von Dokumenten verwendet. .DOCS!-Webinar 17
Live-Demo .DOCS!-Webinar 18
Features AKIOMA.DOCS! unterstützt insbesondere folgende Word- Funktionalitäten: Beliebige strukturierte/verschachtelte Dokumente Kopf- und Fußzeilen Unterschiedliche Seitenabschnitte (z. B. mit unterschiedlichen Ausrichtungen, Papiergrößen etc.) Inhaltsverzeichnis, Bilder, (verschachtelte) Tabellen Beliebigen HTML-formatierten Text Integration kompletter (Sub-)Word-Dokumente Diagramme, Barcodes, QR-Codes Macro-Support … .DOCS!-Webinar 19
Live-Demo .DOCS!-Webinar 20
Integration von Progress OpenEdge Integration Dedizierte Bibliothek für ABL Integrierbar mit nur wenigen Zeilen Code Prozedural und/oder objektorientiert Extreme Performance (100+ Seiten pro Sekunde) Läuft auf allen Progress-unterstützten Betriebssystemen (Windows, Linux, Unix) Umgebungen: GUI-client, TTY, Appserver, PASOE, Web Beachte: Veraltete DocxFactory-Version bringen aktuellen PASOE zum Absturz .DOCS!-Webinar 21
Integration ohne Coding Integration Die einfachste und schnellste Art DOCS zu nutzen: Erstellung des Templates in Word Export der Daten als JSON Nutzung der Merge-Funktionalität per CLI → Kein Coding notwendig .DOCS!-Webinar 22
Coding-Stuff .DOCS!-Webinar 23
OE-Integration: Word Code Sample 1 {slibooxml/slibdocx.i} do on error undo, leave: etime(yes). Compile .DOCX to .DFW run docx_compileIfChanged(search("samples/templates/special_fields.docx"), ""). Load the template run docx_load(search("samples/templates/special_fields.dfw")). run docx_setClipboardValue("Webinar", “Date", "2021-04-22T10:00:00"). run docx_setClipboardValue("Webinar", "Active", no). run docx_setClipboardValue("Webinar", “Logo", search("samples/webinar_logo.png")). run docx_setClipboardValue("Webinar", “Description", Load the parts, fields "An unordered list:" + and the values "" + "List item" + "List item" + "List item" + ""). Paste it to the document run docx_paste("Webinar"). Save to .docx run docx_save(session:temp-dir + "special_fields_new.docx"). message "Completed (in" round(etime(no) / 1000, 3) "seconds)". end. /* on error undo, leave */ if docx_getLastErrorFlag() then message docx_getLastErrorDesc() view-as alert-box. .DOCS!-Webinar 24
OE-Integration: Word (objektorientiert) Code Sample 1 DEFINE VARIABLE i AS INTEGER NO-UNDO. ETIME(TRUE). Load the template WordProcessingMerger:loadTemplate("/opt/DocxFactory/exercises/templates/word_paging.dfw"). WordProcessingMerger:paste("Account"). DO i = 1 to 10: WordProcessingMerger:paste("Withdraw"). END. /* 1 to 10 */ DO i = 1 to 9: WordProcessingMerger:paste("Deposit"). END. /* 1 to 9 */ WordProcessingMerger:paste("Total"). Loading and pasting WordProcessingMerger:paste("Summary"). Parts, fields and values DO i = 1 to 3: WordProcessingMerger:setClipboardValue("Comment", "Comment", "CommentLine1~n" + "CommentLine2~n" + "CommentLine3~n" + "CommentLine4~n" + "CommentLine5"). WordProcessingMerger:paste("Comment"). END. /* 1 to 3 */ Save to .docx WordProcessingMerger:saveDoc("/tmp/word_paging.docx"). CATCH oErr AS Progress.Lang.AppError: MESSAGE oErr:ReturnValue VIEW-AS ALERT-BOX. END CATCH. .DOCS!-Webinar 25
OE-Integration: Excel Code Sample 2 /* (c) Copyright AKIOMA Software GmbH */ {slibooxml/slibxlsx.i} {slib/slibos.i} {slib/sliberr.i} define var cError as char no-undo. define var cErrorMsg as char no-undo. define var cStackTrace as char no-undo. It‘s a query open query qOrder for each Customer no-lock, each Order where Order.CustNum = Customer.CustNum no-lock, each OrderLine where OrderLine.OrderNum = Order.OrderNum no-lock, first Item where Item.ItemNum = OrderLine.ItemNum no-lock. /* 1. Every file starts out as a template */ etime( yes ). run xlsx_copyTemplate( input "stXlsx", /* Stream name */ input "samples/templates/replace_pivot.xlsx" ). /* Template file */ /* The field columns location and ranges are defined in Excel, using named ranges. */ /* 2. Replace template data with temp-table data */ run xlsx_replaceLongRange( input "stXlsx", /* Stream name */ input query qOrder:handle, /* Dataset or temp-table/query/buffer handle */ input "OrderNum = Order.OrderNum," /* = mapping */ Lets have a look to + "LineNum = OrderLine.LineNum," + "OrderDate = Order.OrderDate," the relevant part + "ItemName = Item.ItemName," + "CustName = Customer.Name," + "Country = Customer.Country," + "ExtendedPrice = OrderLine.ExtendedPrice", input "", /* Buffer can-do list */ input "" ). /* Field can-do list */ /* 3. Save file */ run xlsx_save( input "stXlsx", input os_getNextFile( session:temp-dir + "replace_pivot_new.xlsx" ) ). /* os_getNextFile( ) adds a counter to the file name incase the file already exists */ .DOCS!-Webinar message etime( no ) view-as alert-box. 26
OE-Integration: Excel Code Sample 2 /* 1. Every file starts out as a template */ etime( yes ). run xlsx_copyTemplate( input "stXlsx", /* Stream name */ Load the template input "samples/templates/replace_pivot.xlsx" ). /* Template file */ /* 2. Replace template data with temp-table data */ run xlsx_replaceLongRange( input "stXlsx", /* Stream name */ input query qOrder:handle, /* Dataset or temp-table/query/buffer handle */ input "OrderNum = Order.OrderNum," /* = mapping */ + "LineNum = OrderLine.LineNum," Merge data + "OrderDate = Order.OrderDate," + "ItemName = Item.ItemName," + "CustName = Customer.Name," + "Country = Customer.Country," + "ExtendedPrice = OrderLine.ExtendedPrice", input "", /* Buffer can-do list */ input "" ). /* Field can-do list */ /* 3. Save file */ run xlsx_save( Save to .xlsx input "stXlsx", input os_getNextFile( session:temp-dir + "replace_pivot_new.xlsx" ) ). /* os_getNextFile( ) adds a counter to the file name incase the file already exists */ message etime( no ) view-as alert-box. .DOCS!-Webinar 27
Zusammenfassung Template-Gestaltung komplett in Word/Excel, ohne Programmierung Sämtliche Word-Funktionalitäten stehen zur Verfügung Beliebige strukturierte/verschachtelte Dokumente, inkl. Kopf- und Fußzeilen Unterschiedliche Seitenabschnitte (z. B. mit unterschiedlichen Ausrichtungen, Papiergrößen etc.) Inhaltsverzeichnis, Bilder, (verschachtelte) Tabellen Beliebigen HTML-formatierten Text Diagramme, Barcodes, QR-Codes Macro-Support Die Vorlage enthält nicht nur einfache Platzhalter, sondern auch Bereiche AKIOMA analysiert die Word-Vorlage und zerlegt sie in ihre Einzelteile Die Daten werden mit den einzelnen Teilen zu einem neuen Dokument zusammengeführt .DOCS!-Webinar 28 Slide 28
Zusammenfassung The only way for generating business documents easily and efficiently .DOCS!-Webinar 29
Contact us Kontaktieren Sie uns für eine Trial-Version oder einen Proof of Concept! AKIOMA Software GmbH CEO & Founder Chief Product Officer Mönchsbergstraße 1/2 71691 Freiberg am Neckar Mike Liewehr Philipp Schmoldt Fon: +49 (0) 7141 / 30 995 - 10 Fax: +49 (0) 7141 / 30 995 – 19 +49 (7141) 30995-10 +49 (7141) 30995-10 www.akioma.de Mike.Liewehr@akioma.de Philipp.Schmoldt@akioma.de mike.liewehr@akioma.de www.akioma.de www.akioma.de .DOCS!-Webinar 30
Questions? Please ask! Mike Liewehr Philipp Schmoldt +49 (7141) 30995-10 +49 (7141) 30995-10 Mike.Liewehr@akioma.de Philipp.Schmoldt@akioma.de
Sie können auch lesen