The Power of SVG Marcel Moré Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Marcel Moré Daten-Stylist • gibt seit 24 Jahren FileMaker-Anwendungen eine klare Kontur • hat den scharfen Blick fürs visuelle Erscheinungsbild • frisiert Ihre Daten mit Programmiersprachen in 17 Colorationen • immer die passende Grafik-Bibliothek für den unverwechselbaren Look... @mmore Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com The Power of SVG The Power of SVG Was Euch in den nächsten 90 Min erwartet: • • • • Worum geht es? Was ist SVG? Was kann man damit machen? Wie geht das in FileMaker? Worum geht es? Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Was wäre wenn... Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Was wäre wenn... ...wir eine Möglichkeit hätten, Script-gesteuert Grafiken zu erstellen Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Was wäre wenn... ...wir Daten direkt in grafische Darstellungen übersetzen könnten Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Was wäre wenn... ...wir in der Lage wären, mit der grafischen Repräsentation zu interagieren Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Was wäre wenn... ...diese grafische Darstellung sogar in der Lage wäre, weitere scriptgesteuerte Aktionen auszulösen Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Natürlich würden wir... ...uns wünschen, dass alles plattformübergreifend funktioniert: auf Mac, Windows, iOS und in Webdirect Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com ...und es sollte gleichermaßen performant auf «Desktop» und «Mobile» funktionieren Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com ...am besten auch Auflösungsunabhängig, um keine unnötigen Verrenkungen für unterschiedliche Displaygrössen, Retina, etc. aufwenden zu müssen! Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com ...bestimmt wäre das alles ziemlich kompliziert? Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Aber, was wäre wenn... ...es so einfach wäre, dass es jeder sofort in seinen Lösungen einsetzen könnte? Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com ...vielleicht sogar mit vorgefertigten Lösungsbausteinen für verschiedene Anwendungszwecke, die man einfach nur zusammenstöpseln braucht.. Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Lasst diese Vorstellung für einen Moment auf Euch wirken.... Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Was würdet Ihr damit anfangen? Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com vielleicht... • ausgefeilte Benutzeroberflächen bauen • interaktive Diagramme erzeugen • grafische Widgets erstellen • Pläne, Modelle, Strukturen visualisieren - direkt aus der Datenanwendung heraus Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Was wäre wenn... ...das alles keine Phantasie wäre – sondern längst nutzbare Technik, die wir nur aufgreifen brauchen, um die tollsten Dinge damit in der Realität umzusetzen... Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Willkommen bei SVG !!! eine alte Technik neu übersetzt und mundgerecht aufbereitet für den Einsatz mit FileMaker Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG im Überblick Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Was ist SVG? • SVG = Scalable Vector Graphics (englisch für skalierbare Vektorgrafik) • SVG ist die vom World Wide Web Consortium (W3C) empfohlene Spezifikation zur Beschreibung zweidimensionaler Vektorgrafiken. SVG, das auf XML basiert, wurde erstmals im September 2001 veröffentlicht. Einige der gebräuchlichsten Webbrowser können ohne nachträgliche Installation von Erweiterungen einen Großteil des Sprachumfangs darstellen. • Als XML-Dokument wird eine SVG in einer Baumstruktur aus verschiedenen Elementen und diesen Elementen zugewiesenen Attributen aufgebaut. • Alle grafischen Elemente in SVG bauen auf einfachen Grundelementen, so genannten grafischen Primitiven auf. Durch Kombination mehrerer grafischer Primitive lassen sich komplexe Objekte erzeugen. Quelle: h(ps://de.wikipedia.org/wiki/Scalable_Vector_Graphics Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Was ist SVG? • SVG = Scalable Vector Graphics (englisch für skalierbare Vektorgrafik) • skalierbare Grafik SVG ist die vom World Wide Web Consortium (W3C) empfohlene r se ow br eb W im Spezifikation zur Beschreibung zweidimensionaler Vektorgrafiken. SVG, das auf XML basiert, wurde erstmals im September 2001 veröffentlicht. Einige der gebräuchlichsten Webbrowser können ohne nachträgliche Installation von Erweiterungen einen Großteil in Form einer des Sprachumfangs darstellen. chreibung XML-‐Besaus • Als XML-Dokument wird eine SVG in einer Baumstruktur verschiedenen Elementen und diesen Elementen zugewiesenen Attributen aufgebaut. • Alle grafischen Elemente in SVG bauen auf einfachen he sc afi gr Grundelementen, so genannten grafischen Primitiven auf. Durch te enkomplexe delem Grun Kombination mehrerer grafischer Primitive lassen sich Objekte erzeugen. Quelle: h(ps://de.wikipedia.org/wiki/Scalable_Vector_Graphics Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Dokument <svg width="640" height="480"> ! </svg> Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Dokument DEMO FILE <svg width="640" height="480" ! xmlns="http://www.w3.org/2000/svg" ! xmlns:svg="http://www.w3.org/2000/svg"> ! ! <rect x="25" y="25" width="200" height="200" fill="yellow" stroke="blue" /> ! <circle cx="225" cy="125" r="75" fill="red" /> </svg> Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Grundelemente • Rechteck • Kreis • Ellipse • Linie • Polygonzug • Polygon • Text • Bild Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Grundelemente • Rechteck <rect x="25" y="25" width="200" height="200" /> • Kreis <circle cx="125" cy="125" r="75" /> • Ellipse <ellipse cx="125" cy="125" rx="100" ry="50" /> • Linie <line x1="50" y1="50" x2="200" y2="200" /> • Polygonzug <polyline points="50,150 50,200 200,200 200,100" /> • Polygon <polygon points="50,150 50,200 200,200 200,100" /> • Text <text x="50" y="50" font-size="50">Hello!</text> • Bild <image x="20" y="20" width="200" height="140" ! xlink:href="image.png" /> <element parameter="wert" /> Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Grundelemente • Pfad <path d="M 100 100 L 300 100 L 200 300 z" /> <path d="M100,800 C175,700 325,700 400,800" /> Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Grundelemente • Pfad <path d="M 100 100 L 300 100 L 200 300 z" /> <path Marcel Moré The Power of SVG M d="M100,800 L Z C Q A moveto C175,700 325,700 400,800" /> lineto closepath curveto curveto (quadraLc Bézier) ellip;cal arc FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Attribute • X,Y • Höhe, Breite, Länge, Radius • Füllfarbe • Füllregeln • Linienfarbe • Liniendicke • Linienregeln • Farben • Farbverläufe • Muster • Zeichensatz • Schriftgröße Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com weitere Möglichkeiten • Koordinatensysteme • Gruppierungen • Transformationen • Maskierungen • Transparenz • Filter-Effekte • Animation • Interaktion • Verlinkung • Metadaten h(ps://sarasoueidan.com/demos/interacLve-‐svg-‐coordinate-‐system/ Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com CSS Stile <svg> ! ! ! <circle cx="100" cy="125" r="25" /> <circle cx="200" cy="125" r="50" /> <circle cx="300" cy="125" r="75" /> </svg> Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com CSS Stile DEMO FILE <svg> ! ! ! <circle class="demo" cx="100" cy="125" r="25" /> <circle class="demo" cx="200" cy="125" r="50" /> <circle class="demo" cx="300" cy="125" r="75" /> </svg> <style type="text/css"> ! .demo { fill: red; stroke: #000; stroke-width: 8px; } </style> h(ps://wiki.selStml.org/wiki/SVG/SVG_und_CSS Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG als Teil des DOM • Objekte über IDs / Klassen adressierbar • Zuweisung von CSS-Regeln • Verlinkungen <a xlink:href="">...</a> • Veränderung von Objekten per JavaScript • Objekte können genauso erzeugt und manipuliert werden, wie jedes andere HTML-Element Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG als WEB-Standard • allgemein gültiger WEB-Standard • semantische Auszeichnungen / Meta-Tags • ist für Suchmaschinen lesbar • normaler Content innerhalb des Browsers (alle Plattformen) • direkt im FileMaker Webviewer darstellbar Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG-fähige Grafikprogramme Adobe Illustrator Inkscape Sketch www.adobe.com/Illustrator inkscape.org www.sketchapp.com Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Editoren im Web svg-‐edit github.com/SVG-‐Edit/svgedit svg-‐edit.googlecode.com Marcel Moré The Power of SVG Boxy SVG boxy-‐svg.com Method Draw Vector Paint github.com/duopixel/Method-‐Draw editor.method.ac vectorpaint.yaks.co.nz Chrome Web Store FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Grafiken im WEB • Google - erweiterte Bildersuche http://www.google.de/advanced_image_search?hl=de • SVG Cliparts https://openclipart.org/ http://www.123rf.com/clipart-vector/ http://www.shutterstock.com/vectors?language=de • SVG Icons http://www.flaticon.com/ • SVG Maps http://www.datamaps.eu/ https://www.amcharts.com/svg-maps/ http://wiki.openstreetmap.org/wiki/SVG Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Tools • SVGO - SVG Optimizer https://github.com/svg/svgo • SVG OMG - GUI Version of SVGO https://github.com/jakearchibald/svgomg • SVG NOW for Adobe Illustrator https://github.com/davidderaedt/SVG-NOW • canvg - SVG to Canvas Converter https://github.com/canvg/canvg • cloudconvert: EPS to SVG Converter https://cloudconvert.com/eps-to-svg • font-blast - SVG Icon from Font Extractor https://github.com/eugene1g/font-blast • SVG to PNG Converter http://draw-svg.appspot.com/drawsvg.html#svgPNG: Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Libs • Snap SVG http://snapsvg.io/ • Raphaël http://raphaeljs.com/ • infoviz http://infoviz.org/ • D3 https://d3js.org/ • Processing http://processingjs.org/ • vivus http://maxwellito.github.io/vivus/ • SpirographN https://github.com/seedcode/SpirographN Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Hintergrundinfos • Beschreibung des Standards • SVG 1.1 http://www.w3.org/TR/SVG11/ • SVG 2 http://www.w3.org/TR/SVG2/ • SVG Primer http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html • SVG History http://www.w3.org/Graphics/SVG/History • The Fall and Rise of SVG http://blog.siliconpublishing.com/2015/12/the-fall-and-rise-of-svg/ • Das SVG-Format (Inkscape, mit weiteren Links) https://inkscape.org/de/entwickeln/das-svg-format/ • Buch: SVG Essentials (J. David Eisenberg, O'Reilly 2002) https://books.google.de/books?id=shuDAgAAQBAJ http://commons.oreilly.com/wiki/index.php/SVG_Essentials Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Links • The Art Of The SVG Filter And Why It Is Awesome https://www.smashingmagazine.com/2015/05/why-the-svg-filter-is-awesome/ • SVG Tutorials https://docs.webplatform.org/wiki/svg/tutorials • Understanding SVG Coordinate Systems and Transformations https://sarasoueidan.com/blog/svg-transformations/ • Clipping in CSS and SVG https://sarasoueidan.com/blog/css-svg-clipping/ • How to use CSS and SVG clipping and masking techniques https://getflywheel.com/layout/css-svg-clipping-and-masking-techniques/ • Techniques for Creating Textured Text http://tympanus.net/codrops/2013/12/02/techniques-for-creating-textured-text/ DEMO FILE • Styling Text With SVG Filters https://www.codeschool.com/blog/2016/04/21/styling-text-with-svg-filters/ Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Links • SVG Authoring Guide (Draft) http://w3c.github.io/svgwg/specs/svg-authoring/ • Building better Interfaces with SVG DEMO FILE http://slides.com/sarasoueidan/building-better-interfaces-with-svg#/ • The 37 Best Tools For Data Visualization http://www.7wdata.be/article-general/the-37-best-tools-for-data-visualization/ • 30 Best Tools for Data Visualization https://codegeekz.com/30-best-tools-for-data-visualization/ • The Graphical Web (SVG Konferenz) http://2016.graphicalweb.org/ • Introduction to D3 (Vortrag Mitschnitt, inkl. SVG Einführung) https://www.youtube.com/watch?v=8jvoTV54nXw • Getting Started with D3.js (Vortrag Mitschnitt) https://www.youtube.com/watch?v=EYmJEsReewo Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com FileMaker + SVG Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com FileMaker + SVG SVG Icons in Bu(ons seit Version 14 Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Icons in Buttons • seit FileMaker Version 14 • eigene SVG Icons nachladbar h(ps://fmhelp.filemaker.com/docs/14/en/svg/ h(p://www.alchemyg.com/14-‐points-‐for-‐glyphindor/ h(ps://scalefm.com/2015/06/charmed-‐by-‐svg/ h(ps://www.dbservices.com/arLcles/filemaker-‐custom-‐bu(on-‐icons/ h(ps://filemakerexamples.co.uk/resources/svg-‐icon-‐pack/ h(p://www.indats.com/KnowledgeCenter/ h(p://thebrainbasket.com/?p=404 Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Icon Libraries h(p://www.iconshock.com/ h(p://www.flaLcon.com/ h(ps://picons.me/ h(ps://icons8.com/ h(ps://nucleoapp.com/ h(ps://icomoon.io/ h(p://iconmonstr.com/ h(p://fontello.com/ h(ps://github.com/Xaviju/inkscape-‐ open-‐symbols Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com nice! Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com nice! but... ... there is so much more!!! Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com FileMaker + SVG SVG Grafik im Webviewer SVG Icons in Bu(ons seit Version 8.5 seit Version 14 Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com typische Szenarien Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Szenarien • User Interface • Gestaltungselemente • Auswertungen / Charts • interaktive Modelle • Pläne / Karten Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com warum SVG? FileMaker kann das doch selber! Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Widgets DEMO FILE h(p://justgage.com/ jqxGauge Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com custimized GUI DEMO FILE h(ps://sarasoueidan.com/tools/circulus/ Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Charts Quelle: h(p://www.fusioncharts.com/charts/combinaLon-‐charts-‐dual-‐y/ Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Charts Quelle: h(ps://www.amcharts.com/demos/stacked-‐bar-‐chart-‐with-‐negaLve-‐values/ Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Charts Quelle: h(p://bl.ocks.org/mbostock/5944371 Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Charts Quelle: h(p://mbostock.github.io/protovis/ Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Charts Quelle: h(ps://www.jasondavies.com/parallel-‐sets/ Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com interaktive Modelle DEMO FILE Quelle: h(ps://commons.wikimedia.org/wiki/File:Human_body_front_and_side.svg Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Sitzplatz Belegungen Quelle: h(ps://de.wikipedia.org/wiki/Theater_in_der_Josefstadt Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Raumpläne TUTO RIAL Quelle: h(ps://www2.informaLk.uni-‐hamburg.de/fachschal/wiki/index.php/InformaLkum Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Gebäudepläne 5 Quelle: h(p://www.leuphana.de/services/lageplaene.html Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Karten Marcel Moré The Power of SVG DEMO FILE FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com You get the idea ... Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG in FileMaker Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Code erzeugen • SVG Code besteht aus Text • kann per Script-Befehl erzeugt werden • kann in Feldern und Variablen per Formel berechnet werden • kann per JavaScript im Webviewer generiert werden • kann von externer URL geladen werden Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Code manipulieren • SVG Objekte manipulieren in Bezug auf • • • • • Marcel Moré The Power of SVG Sichtbarkeit Position, Größe Stile, Farben Effekte, Filter Animationen FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com 1. SVG Code erzeugen Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Wo liegt der Code? • Webviewer • eingebettet in HTML (optional) • wird ausgeführt, sobald der Webviewer im Layout dargestellt wird <html> <body> <svg> <circle cx="100" cy="125" r="25" /> </svg> </body> </html> Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Wo liegt der Code? • URL mit Verweis auf SVG-Dokument <html> <body> <svg> <circle cx="100" cy="125" r="25" /> </svg> </body> </html> Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Wo liegt der Code? • URL mit Verweis auf SVG-Dokument • Data URL kann auf Variable verweisen Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Wo liegt der Code? • URL mit Verweis auf SVG-Dokument • Data URL kann auf Variable verweisen • "data:text/html," & $$ SVG Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Wo liegt der Code? • Warum ist es nützlich, den Code in einer Variable zu haben? • Datenübergabe! Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Datenübergabe • Code liegt als Text in einer Variable vor • Daten können als Platzhalter direkt in den Code eingebettet werden • Austauschen ( $$ SVG; "<meinwert>"; "50" ) <html> <body> <svg> <circle cx="100" cy="125" r="<meinwert>" /> </svg> </body> </html> Marcel Moré The Power of SVG <html> <body> <svg> <circle cx="100" cy="125" r="50" /> </svg> </body> </html> FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Code Berechnen • Script-Schleife schreibt Text in eine Variable • Daten werden aus Feld / Variable gelesen und in Text geschrieben • Ergebnis verketten $$ SVG = $$ SVG & $neues Element Variable setzen [ $Werte ; Wert: "80¶124¶230¶69¶85¶20¶34¶136¶80¶100¶44¶12" ] Variable setzen [ $i ; Wert: 1 ] Variable setzen [ $$SVG ; Wert: "<svg>" ] Schleife (Anfang) ! Variable setzen [ $$SVG ; Wert: $$SVG & "<rect x=\"0\" y=\"" & ($i-1)*10 & "\" width=\"" & LiesAlsZahl(ElementeMitte($Werte; $i; 1)) & "\" height=\"8\" />" ] ! Variable setzen [ $i ; Wert: $i+1 ] ! Verlasse Schleife wenn [ $i>ElementeAnzahl ( $Werte ) ] Schleife (Ende) Variable setzen [ $$SVG ; Wert: $$SVG & "</svg>" ] Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Code Berechnen DEMO FILE • Script-Schleife schreibt Text in eine Variable • Daten werden aus Feld / Variable gelesen und in Text geschrieben • Ergebnis verketten $$ SVG = $$ SVG & $neues Element <svg> <rect x="0" <rect x="0" <rect x="0" <rect x="0" <rect x="0" <rect x="0" <rect x="0" <rect x="0" <rect x="0" <rect x="0" <rect x="0" <rect x="0" </svg> Marcel Moré The Power of SVG x y="0" width="80" height="8" /> y="10" width="124" height="8" /> y="20" width="230" height="8" /> y="30" width="69" height="8" /> y="40" width="85" height="8" /> y="50" width="20" height="8" /> y="60" width="34" height="8" /> y="70" width="136" height="8" /> y="80" width="80" height="8" /> y="90" width="100" height="8" /> y="100" width="44" height="8" /> y="110" width="12" height="8" /> y FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com 2. Interaktion mit SVG Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com SVG Code manipulieren – Wie? • Code Templates mit Parametern befüllen • SVG Code dynamisch erzeugen • Inhalt im Webviewer neu laden (austauschen) • CSS Regeln (MouseOver) • JavaScript (komplexere Manipulation & Interaktion) Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Interaktion mit SVG – Wozu? • Objekte ein-/ausblenden • Mouse-Over Effekte • Links zu FileMaker-Scripten • Links zu JavaScript-Funktionen Marcel Moré The Power of SVG (hier wird's interessant !!!) (z.B. Drag&Drop) FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Kommunikation mit dem WebViewer • Click auf SVG-Element soll ID an FileMaker liefern und weitere Aktionen auslösen • HTML-Link mit FMP URL • MBS Plugin Funktion WebView.InstallCallback h(p://blog.marcel-‐more.de/2015/10/08/the-‐power-‐of-‐javascript/ h(ps://blog.beezwax.net/2015/08/07/communicaLng-‐ with-‐a-‐web-‐viewer-‐in-‐filemaker/ h(p://www.mbsplugins.eu/WebViewInstallCallback.shtml Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Kommunikation per FMP URL • HTML-Link mit FMP URL erlaubt Script-Aufruf in FileMaker mit Parameter-Übergabe: • <a href="fmp://$/ MeineDatenbankdatei ?script=MeineAktion ¶m=MeineID"> <...> </a> h(p://www.twdesigns.com/fmp_url_protocol/ Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Kommunikation per FMP URL • HTML-Link mit FMP URL erlaubt Script-Aufruf in FileMaker mit Parameter-Übergabe: FMPURL-‐Protokoll • Net Adress: "$" = local file <a href="fmp://$/ MeineDatenbankdatei Dateiname (Extension opLonal) ?script=MeineAktion Scriptname Trenn-‐Zeichen ¶m=MeineID"> Scriptparameter (Sonderzeichen müssen URL codiert werden!) <...> HTML-‐Element, das verlinkt werden soll </a> h(p://www.twdesigns.com/fmp_url_protocol/ Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Kommunikation per FMP URL • HTML-Link mit FMP URL hat in SVG eine angepasste Notation wegen XML-Namespace: • <a href="fmp://$/MeineDB?…"> <circle cx="100" cy="125" r="25" /> </a> • <a xlink:href="fmp://$/MeineDB?…"> <circle cx="100" cy="125" r="25" /> </a> h(ps://www.w3.org/wiki/SVG_Links Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Demo Marcel Moré The Power of SVG DEMO FILE FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Download • • Vortragsfolien Demo-Dateien: DEMO FILE SVG Menu.fmp12 SVG Text Effects.fmp12 SVG Backgrounds.fmp12 SVG Demo.fmp12 • • SVG Balkendiagramm.fmp12 http://blog.marcel-more.de/ Konferenz-Server Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Beispiele Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Hardware Liste mit Raumplan-‐Ansicht Hardware Liste mit Raumplan-‐Ansicht Hardware Liste mit Raumplan-‐Ansicht Hallenplan für Lagerhalle Lagerhalle Heatmap Auswertung Hallenplan Regalgruppen Hallenplan Picking-‐Routen h(p://blog.marcel-‐more.de/ 2015/10/08/the-‐power-‐of-‐ javascript/ VOR-‐ TRAG Visualisierung Regal-‐Böden FileMaker Eingabe RedakLonssystem für technische Zeichnungen FileMaker Eingabe RedakLonssystem für technische Zeichnungen FileMaker Eingabe RedakLonssystem für technische Zeichnungen Shop Ausgabe RedakLonssystem für technische Zeichnungen Shop Ausgabe RedakLonssystem für technische Zeichnungen Shop Ausgabe RedakLonssystem für technische Zeichnungen Shop Ausgabe RedakLonssystem für technische Zeichnungen Beispiele zeigen direkte Verknüpfung von Datenanwendungen in FileMaker mit grafischer Repräsentation als SVG Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com in 5 Schritten zum interaktiven Raumplan Marcel Moré The Power of SVG TUTO RIAL FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com interaktiver Raumplan – so geht's 1. Vorlage erstellen, z.B. in Adobe Illustrator 2. ID's an den Objekten vergeben 3. SVG Sourcecode bereinigen 4. CSS Regeln für Hervorhebungen hinzufügen 5. Template in FileMaker einbinden Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com 1 1 Neue Ebene erstellen Umrandungen als Overlay-‐Objekte anlegen 2 Name in Ebenen-‐Dialog eingeben = SVG Objekt-‐ID 3 3 3 überflüssigen Code enxernen! <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http:// www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg ... <html> <body> ... </svg> </body> </html> HTML Tags hinzufügen 3 überflüssigen* Code enxernen! <defs> ! <rect id="SVGID_1_" width="1190.55" height="1683.78"/> </defs> <clipPath id="SVGID_2_"> ! <use xlink:href="#SVGID_1_" overflow="visible"/> </clipPath> <g clip-path="url(#SVGID_2_)"> ! <defs> ! ! <rect id="SVGID_3_" y="0.001" width="1190.551" height="1683.779"/> ! </defs> ! <clipPath id="SVGID_4_"> ! ! <use xlink:href="#SVGID_3_" overflow="visible"/> ! </clipPath> </g> *einige Code-‐Teile funkLonieren im Webviewer nicht = leeres Fenster 4 hier steht die ID class ergänzen <rect id="RAUM-1-1-4" class="Selector" x="207.661" y="160.485" fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#FF0000" stroke-width="5" stroke-miterlimit="10" width="116.125" height="144.178" /> 4 <!-- CSS Stile für Raum-Selektion --> <defs> <style type="text/css"> <![CDATA[ SLl für SelekLon alle RAUM-‐IDs unsichtbar machen Raum-‐Umrandung für gewünschte ID sichtbar machen .Selector { fill: red; fill-opacity: 10%; stroke-opacity: 70%; } *[id^='RAUM-'] { ! visibility: hidden; } #RAUM-1-1-12 { ! visibility: visible; } ]]> </style> </defs> 5 HTML Template in einem Texxeld #RAUM-<raum-id> { !visibility: visible; } er für ID Platzhalt 5 der SVG-‐Plan lebt im Webviewer 5 Raum-‐Umrandung für ID sichtbar machen: #RAUM-<raum-id> { ! visibility: visible; } #RAUM-1-1-12 { ! visibility: visible; } 5 Click in Portalreihe setzt neuen ID-‐Wert in Template ein Wo liegen die Herausforderungen? Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Herausforderungen • sich aufraffen, über den Tellerrand der FileMaker-Welt zu schauen! • Einschränkungen bei der Implementierung im Webviewer, optional Plugin erforderlich • komplexere Aufgaben erfordern JavaScript • die richtigen Bausteine finden (Recherche: Vorlagen, Frameworks, Libs) Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Plattform-Unterstützung FM Pro FM Go Webdirect SVG anzeigen ✔ ✔ ✔ SVG Interaktion ✔ ✔ – Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Plattform-Unterstützung SVG anzeigen SVG Interaktion FM Pro FM Go Webdirect ✔ ✔ ✔ ✔ – ✔ 1) 2) 3) 1) FMP URL erst ab Version 13.0v2 sinnvoll anwendbar http://isolutions-inc.com/2014/04/05/fmp-url-scheme-and-the-13-0v2-improvement/ http://www.twdesigns.com/fmp_url_protocol/ 2) ältere Versionen v11 - v13 mit Hilfe von MBS-Plugin umsetzbar https://www.mbsplugins.eu/WebViewInstallCallback.shtml 3) mehrere gleichzeitig installierte FMP Versionen für FMP URL problematisch Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Plattform-Unterstützung SVG anzeigen SVG Interaktion FM Pro FM Go Webdirect ✔ ✔ ✔ ✔ ? ✔ 1) 2) 1) FMP URL in Webdirect nicht mit Webviewer nutzbar https://community.filemaker.com/thread/165366 2) umständlicher Hack bekannt, der aber nicht für UI nutzbar ist http://pausepdx2014.wikispaces.com/Passing+URL+Parameters+to+WebDirect http://www.soliantconsulting.com/blog/2015/01/extending-webdirect-url-parameters Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Plattform-Unterstützung FM Pro FM Go Webdirect SVG anzeigen ✔ ✔ ✔ SVG Interaktion ✔ ✔ – durchgängige pla{orm-‐ übergreifende Unterstützung derzeit nicht gegeben... Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com «Missing Link» Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Feature Request • Native Schnittstelle zwischen FileMaker und Webviewer • Webviewer API • Script-Aufruf FileMaker –> JavaScript • Script-Aufruf JavaScript –> FileMaker würde nahezu unbegrenzte Möglichkeiten für InterakLvität schaffen! Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Feature Request • Native Schnittstelle zwischen FileMaker und Webviewer • HTML Platzhalter für $Vars und FM::Felder • wie z.B. in 4D möglich http://www.4d.com/docs/CMG/CMG02070.HTM http://dddd.mettre.de/svgdynamics.shtml würde TemplaLng für dynamischen SVG-‐Code stark vereinfachen! Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com 36 please vote !! h(ps://community.filemaker.com/ ideas/2113 Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Warum SVG in FileMaker nutzen? Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Warum SVG in FileMaker • vektorbasierte Grafik, auflösungsunabhängig (Screensizes, Retina) • Grafiken Script-gesteuert generieren • geht weit über das Repertoire von FileMaker Bordmitteln hinaus • nahtlose Integration mit HTML, CSS, JavaScript • viele vorgefertigte Lösungsbausteine verfügbar Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Fazit ist Standard ist Mainstream ist cool !!! geht in FileMaker Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com FileMaker + WEB-‐Standards = Dreamteam! Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com Danke für Euer Interesse Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages Marcel Moré The Power of SVG FileMaker Konferenz 2016 Salzburg www.filemaker-konferenz.com
© Copyright 2024 ExpyDoc