In diesem Vortrag zeigt Alexis Gerht das Basis-Rüstzeug zum erfolgreichen Start mit WebDirect Projekten
Mit WebDirekt gibt FileMaker uns Entwicklern eine mächtige Technologie in die Hand, um mit den bekannten FileMaker Werkzeugen & Know-How Web-Anwendungen zu entwickeln. In diesem Vortrag zeige ich die Grundlagen, die für den Einsatz von WebDirect benötigt werden. Des weiteren beleuchte ich aus eigener Erfahrung Fragen und Themen, die man sich als Entwickler früher oder später selber einmal stellen würde:
⁃ Lizenzen. Was für eine Lizenz brauche ich?
⁃ Layouts & Skripts: Was muss ich beachten. Welche Script Schritte funktionieren?
⁃ Wie funktioniert die Vaadin Engine, die FileMaker einsetzt.
⁃ Server Überlegungen.
⁃ Überlegungen Vor- und Nachteile zu konventionellen LAMP Systemen (Linux, Apache, MySQL, PHP)
⁃ ODBC auf MySQL Tabellen als Alternative?
⁃ Wie blende ich alle Werkzeug- & Steuerleisten aus, so dass die Lösung komplett wie eine WebPage aussieht?
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2018- Web direct fuer Einsteiger Alexis Gehrt
1. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
www.filemaker-konferenz.com
Oder auch “keine Angst” vor WebDirect
Alexis Gehrt
WebDirect für Einsteiger
2. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Über den Sprecher
• Alexis Gehrt
• alexis@database-designs.ch
• 1982 erster Apple //e, Apple IIgs, diverse Macs
• 1985 Matura, ETH Zürich - Elektro Ingenieur Studium
• Apple Distributor Schweiz (vor Apple Schweiz)
• Macintosh Software Distribution
• Dort seit ca. 1992 FileMaker Entwickler (inhouse)
• Im Jahr 2000 Database Designs als Einzelfirma gegründet.
• Mit-Organisator vom St. Galler 4-Ländereck FM-Stammtisch
• Kunden: Industrie, Goldschmiede, Medizin, Handel
4. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Meine “Erfahrungen”
• Was ich bis jetzt mit WebDirect gemacht habe
• Wie “alles” begann: Keine Angst vor WebDirect
• Blicke zurück auf 1 Jahr diverser Projekte: AGZS, Pflegeheim-Lösung,
Auswertung für Studie (SPSS)
• Und ich bin dennoch noch nicht “allwissend” 😉
5. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Grundlegendes zur Lizensierung
• Concurrent Lizenz vs. Team Lizenz
Team = Mitarbeiter der eigenen Firma
Concurrent = “Jedermann” Anonyme User aus dem Web
• Im Zweifel und für weitere Details: FileMaker fragen 😉
6. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
LAMP Web Lösungen
• LAMP Lösungen sind Linux, Apache, MySQL, PHP basierende Lösungen
• Dies sind unsere “Mitbewerber” weil:
- praktisch keine Lizenzen anfallen (alles kostenlos)
- weit verbreitet
• Unser Haupt-Nachteil: Lizenzkosten
• Unsere Haupt-Vorteil: Sehr schnelle und pragmatische Entwicklungsumgebung
7. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
FileMaker & ESS Lösungen
• Einfache Variante zur Integration, wenn der Kunde schon eine MySQL Lösung
hat
• ESS (External Sequel Source)
• Meist benötigt man den ODBC Treiber von Actual Technologies für MySQL etc.
• http://www.actualtech.com
8. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Vaadin Engine
• Die “Vaadin” Engine übersetzt zwischen dem Datenbank
Server und dem WebBrowser mit Standard Technologien:
- HTML5 für die Seitenstruktur
- CSS3 für das Erscheinungsbild
- JavaScript für Interaktionen (Klicks etc.)
- HTTP/HTTPS zur Kommunikation
• Hohe Geschwindigkeit, da die WPE “direkt” mit der DB
kommuniziert. Keine WAN-Latenzen. Einzig Server-Browser.
• Meiner Meinung nach der Bereich, in dem FileMaker Inc. in den
letzten Jahren die meisten Fortschritte gemacht hat.
• Bild-Quelle: https://fmhelp.filemaker.com/docs/17/en/fmwd/#works_architecture
9. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Das braucht es alles
• WebDirect läuft NUR mit einem FileMaker Server
• Wie testen? -> 3 User Developer Subscription
• Ports für http und https müssen ggf. nach aussen offen sein *
• SSL Zertifikat dringend empfohlen *
(* -> Kommt im 2. Vortrag “WebDirect Tipps und Tricks”)
10. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Datei für WebDirect Einrichten
• Sharing für WebDirect einschalten
11. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Aufrufen
• Standard URL für den Aufruf entweder als IP oder URL
• http://192.168.0.111/fmi/webd/
• http://meineurl.ch/fmi/webd/
12. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Übersicht: Layout / Skripte / Funktionen() / Trigger
• Nachfolgend eine Übersicht nach Themenbereich
gruppiert
• Auch wenn die Liste der Dinge, die nicht unterstützt
sind “relativ lang” ist, so ist es erstaunlich, was alles
geht…
• z.B. ganz simpel: Show Custom Dialog funktioniert
• Drucken via PDF sehr gut gelöst
• Kompatibilität einblenden lassen (s. Bild)
13. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Layout Gestaltung
• Die Idee, die man im Kopf behalten kann:
Nicht Kompliziertes, und es sind keine Probleme zu erwarten.
Früher gab es an den FileMaker Konferenzen noch Vorträge über die letzten Kniffe beim
Übereinander-Legen von Layout Objekten. Bei HTML5, CSS keine gute Idee.
Überlagernde Objekte gehen nicht!
• Themes nutzen: 30% Schneller
• Keine “Custom Styles für Objekte”
• Komplexität gering halten - “überschaubare” Anzahl Objekte
• Ggf. separates Layout auch wenn es das Gleiche/Ähnliche macht
• Get(ScreenWidth) Funktion nutzen oder auf fixe Grösse Layouten 1280 x 1024
• KISS: Keep it simple and stupid
• Wie wir bereits gesehen haben, es ist vieles möglich.
14. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: Fenster
• Adjust Window, Arrange All Windows, Move/Resize Window gehen alle nicht,
da wir hier in einer 1-Fenster Umgebung sind.
• New Window erzeugt ein neues "virtuelles Fenster", aber es ist immer nur 1
Fenster sichtbar.
• PopOver gehen, Card Windows nicht “richtig”.
• Freeze und Refresh funktionieren
• View As: Table View geht nicht.
• Scroll Window, Set Zoom Level Funktionen gehen nicht - das ist Browser
Sache.
15. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: Text-Funktionen
• Die sonst luxuriösen Text Editier-Funktionen sind etwas eingeschränkt
• Show/Hide Text Ruler geht nicht.
• Allow Formatting Bar geht nicht
• Perform Find/Replace geht nicht.
• Replace Field Contents zeigt keinen Dialog, geht aber sonst.
• Insert From Index funktioniert nicht
• Alle Rechtschreibeprüfung Funktionen gehen nicht.
16. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: Portale
• Go to Portal Row geht mit dem Cursor zwar in die Reihe, aber selektiert sie
nicht.
• Delete Portal Row geht. Aber wenn die Tabelle nicht in der gleichen Datei ist,
muss man ein Commit nachschieben.
• Refresh Portal funktioniert
17. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Steuerelemente ausblenden
• Toolbar ausblenden: Show/Hide Toolbars ist unterstützt.
• Show/Hide Menubar ist teilweise unterstützt, es steht aber nicht was,
• Hide Trick mit der Checkbox in den Voreinstellungen
18. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Testen testen testen
• Mit der Zeit ist man dazu verleitet, nur noch im FMPA zu programmieren.
• Unerwartete Konfigurationen Browser, Bildschimgrössen testen/abfangen
• Kommunizieren Sie dem Kunden die von FileMaker unterstützten Browser
• Mobile Browser testen
• Checkboxen können (müssen aber nicht 😠) in Chrome Probleme machen
19. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Die Sandbox des Browsers
• Der Browser ist eine Sandbox
• File I/O: Kein direkter Zugriff auf FileSystem. Download / Upload
• Wichtig: Es ist EIN Fenster im Browser aktiv. Durch die Sandbox ist dieses
auch in sich "geschlossen". Keine Kommunikation zu anderen Fenstern
• Drucken Thematik: PDF erstellen
• Copy/Paste Problematik
20. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: Copy/Paste
• Copy/Paste/Clear
• Ganz wichtig ist die Sandbox:
“Copy script step does not place data onto the Clipboard”
Funktioniert aber innerhalb der FM eigenen Script Engine/Sandbox.
21. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: Account Befehle
• Add Account Delete Account, Enable Account, Reset account
• Re-Login funktioniert - ist aber etwas "anders" im Verhalten. In
FileMaker WebDirect, setting this option to On displays the dialog box.
However, if you store the account and password in the script step, this
information is not displayed in the dialog box.
• Wieso sind diese Befehle wichtig?
• -> Der Punkt ist ja der, dass wenn man den User als Gast einloggt, dass man ja
"irgendwie" auf ein höheres Level kommen muss und/oder der User muss ein
Konto anlegen können.
22. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: File I/O Datensätze importieren
• Import Records:
- Nicht für Mobile Browser
- Die Data Source Option ist in WebDirect nicht verfügbar.
• FileMaker WebDirect unterstützt Importe nur von:
FileMaker Pro Advanced, comma-separated values, tab-separated values, DBF,
merge, und Excel Dateien.
• Export Field Contents: geht - aber ohne Spezifizieren des Pfades oder der Option die
Unterverzeichnisse zu erstellen.
• Export Records: Nur Tab, Komma, DBF, Merge, HTML Tabelle
- Nicht: FMP12, XML, XLS, or XLSX
- Nicht für Mobile Browser
• Im Browser ist das dann wie ein Download.
23. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: File I/O Export
• Insert Audio/Video, Insert PDF & Insert Picture funktioniert, aber nicht "Store as
reference"
• Insert File funktioniert
24. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: File I/O Excel/PDF
• Save Records As Excel geht nicht (auch nicht Server)
-> Server Export als Excel geht
• Save Records As PDF: Funktioniert, aber mit einigen Einschränkungen
- Nicht für Mobile Browser
- email oder automatisches Öffnen geht nicht
- Wie beim “Drucken” auf dem Desktop Rechner müssen die verwendeten
Schriften für die WebDirect Engine auf dem Server installiert sein.
• Append to PDF ist nur im gleichen Script möglich und je nach Konstellation wird
der vorherige Download überschrieben.
• Erzeugen von PDFs bzw. das Speichern der PDFs ist ein Thema
- > Server Vortrag 2
25. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: File I/O Diverses
• Script-Befehl: Get Directory geht nicht
• Close File geht nicht - anstatt dessen; Exit Application, gibt auch gleich die
Lizenz frei.
• Exit Application beendet den Browser nicht wirklich, sondern zeigt das
WebDirect Launch Center (Vortrag 2: Home URL)
• Alle Dateien werden via das Launch Center geöffnet
• Open Menü Funktionen wie Open File, Open Host, Recover File, Save a copy
as, Set MultiUser,My Apps, Alle Manage Funktionen (Container, Custom
Functions etc.) stehen natürlich nicht zur Verfügung.
26. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Skripte: Diverses 1
• Save Records As Snapshot Link speichert die IDs als Download.
• Set Use System Formats - geht nicht
• Set Web Viewer funktioniert - aber nicht die Optionen GoForward and GoBack
• Install On-Timer geht
• AVPlayer Funktionen gehen nicht (sind nur iOS)
• Beep geht nicht !?
• Dial Phone geht nicht (v.a. iOS wichtig)
• Execute SQL funktioniert - nur ohne Dialog
27. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
• Perform AppleScript, Send DDE Execute, Send Event, Speak gehen nicht
• Flush Cache geht nicht
• Open URL funktioniert: Open URL supports http, https, ldap, ldaps, ftp, file, and
mailto URL types - WebDirect unterstützt NICHT das file:// Protokoll
• Send Mail mit Einschränkungen
- keine automatisches Attachment von Files
- Immer mit Dialog
- Via email client: Nicht mehr als 2000 Buchstaben
Skripte: Diverses 2
28. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Get(Funktionen): File I/O
• Get(DesktopPath) geht nicht, Dito: DocumentsPath
• Get(DocumentsPathListing) geht nicht
• Get(FileMakerPath) geht nicht
• Get(PreferencesPath) geht nicht
• Get(TemporaryPath) geht nicht
• Get(FilePath), Get(SystemDrive) geht natürlich nicht
• Get(FileName) funktioniert
29. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
• Die folgenden Get-Funktionen sind nicht unterstützt:
• Get(HighContrastColor)
• Get(HighContrastState)
• Get(ActiveModifierKeys)
• Get(ActiveSelectionSize)
• Get(ActiveSelectionStart)
• Get(AllowFormattingBarState)
• Get(TextRulerVisible)
• Get(TriggerKeystroke)
• Get(TriggerModifierKeys)
• Get(UseSystemFormatsState)
Get(Funktionen): Texteingabe
30. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Get(Funktionen): Fenster
• Get(WindowContentWidth), Get(WindowContentHeight) *
• Get(WindowDesktopWidth), Get(WindowDesktopHeight) *
• Get(WindowWidth), Get(WindowHeight) funktionieren *
- Höhe = nur der Inhalt. Toolbars und Menüs sind Teil des Browsers
* Für die diversen Details -> siehe FileMaker Hilfe
• Get(WindowLeft), Get(WindowTop) geht nicht
• Get(WindowOrientation) geht nicht. -> Width/Height Funktionen verwenden
• Get(WindowStyle) ist immer 0, da es z.B. keine Card Windows gibt.
• Get(WindowVisible) funktioniert - es ist eh immer nur 1 Fenster "im
Vordergrund".
• Get(WindowZoomLevel) geht nicht.
31. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Get(Funktionen): Toolbars, Menübars
• Get(MenubarState) funktioniert, ist aber immer unlocked
• Get(StatusAreaState) funktioniert
• Für viele ein grosser Wunsch:
• Custom Menü's gehen nicht. Aktueller "Umweg" Die Web Lösung muss die
Menü-Führung machen.
• Das “Hamburger” Menü ist z.B. wie es der Anwender ja dann auch gewöhnt
ist.
• P.S. Für den Anwender ist es keine FileMaker Lösung, sondern eine WebSite.
32. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Get(Funktionen): System Umgebung
• Get(ApplicationLanguage), Get(ApplicationArchitecture), Get(ApplicationVersion)
• Get(ConnectionAttributes) ist meist leer, weil WebDirect auf derselben Server Maschine läuft.
• Get(SystemVersion) liefert die Info vom Browser
• Get(HostApplicationVersion) funktioniert
• Get(InstalledFMPlugins) funktioniert, da auf dem Server auch Plug-Ins installieren kann.
Dieses muss aber für WebDirect konzipiert sein.
• Get(PersistentID) geht
- Wenn während einer Session Cookies geleert werden, ändert die PersistentID
• Get(UserName): Liefert als Name: [WebDirect-<xxxxx>], <xxxxx> letzte 5 Ziffern der
PersistentID.
• Get(SystemIPAddress) ist die IP Adresse vom Netzwerk Interface, über welches die
Verbindung aufgebaut ist.
• Get(SystemNICAddress) geht nicht (kein Zugriff vom Browser)
• Get(SystemPlatform) geht natürlich und liefert 4 😉
33. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Trigger 1
• OnObjectEnter - ja, aber nicht für WebViewer
• OnObjectExit - ja, aber nicht für WebViewer
• OnObjectKeystroke - Nein
• OnObjectModify - Ja, aber nicht für Tastatur Anschläge. WebDirect unterstützt
auch hier nicht das Überwachen von Tastaturanschlägen
• OnObjectValidate - ja
• OnObjectSave- ja
• OnPanelSwitch - Ja
• OnObjectAVPlayerChange, OnFileAVPlayerChange - Nein (iOS)
• OnRecordLoad - Ja
• OnRecordCommit - Ja
• OnRecordRevert - Ja
34. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Trigger 2
• OnLayoutKeystroke - Nein
• OnLayoutEnter, OnLayoutExit - Ja
• OnLayoutSizeChange - Ja
• OnModeEnter, OnModeExit - Ja
• OnViewChange - Ja
• OnGestureTap - Nein (iOS)
• OnExternalCommandReceived - (iOS)
• OnFirstWindowOpen, OnLastWindowClose - Ja
• OnWindowOpen, OnWindowClose - Ja
35. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Drucken
• Drucken ergibt eine PDF zum Download
• Die Schriften müssen der WebDirect Engine zur Verfügung stehen.
• Print Setup - funktioniert analog den Print Optionen für PDFs. OHNE Dialog
• PreView Mode geht nicht
• Get(PageNumber) geht nicht, weil PreView nicht geht
• Get(PrinterName) geht nicht
37. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
WebDirect für Einsteiger - Alexis Gehrt
Plug-Ins
• Install Plug-In File funktioniert
• Plug-Ins müssen für WebDirect konzipiert sein
• Lizensierung normalerweise als “Server” Lizenz
38. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018
Vortrag und Sprecher
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages