The Power of JavaScript

08. Oktober 2015

Anbei die Präsentationsfolien meines Vortrags auf der FileMaker-Konferenz 2015 in Hamburg. Den kompletten Vortrag – zzgl. Beispiel-Datenbank – gibt es hier zum Download.

FMK2015 The Power of JavaScript

FMK2015 Vortrag – The Power of JavaScript (PDF 14 MB)
Datenbank – JS Demo.fmp12 (2,8 MB)

The Power of JavaScript Vorschau

Audio-/Video-Aufzeichnung des kompletten Vortrags inkl. Live-Demos: zum Vortrags-Video (84 Minuten).

The Power of JavaScript
In den Tiefen des Webviewers schlummert ein mächtiges Werkzeug, welches sich für zahlreiche Anwendungsfälle in FileMaker-Lösungen nutzen lässt.

Kurzbeschreibung: JavaScript hat eine bewegte Geschichte hinter sich. Manch einer erinnert sich diesbzüglich vielleicht an die ersten Gehversuche für kleinere Spielereien auf Webseiten. Inzwischen hat sich JavaScript nicht nur zu einer ernstzunehmenden Programmiersprache gemausert, sondern gehört auch zu den Top 10 der meist genutzten Sprachen.

Tausende von frei verfügbaren Web-Frameworks auf JavaScript-Basis bieten einen reichhaltigen Fundus zur Entwicklung oder Ergänzung von eigenen Anwendungen.

Darüberhinaus gibt es nicht nur Client-basiert sondern auch Server-basiert mächtige Werkzeuge, mit denen sich unterschiedlichste Anwendungsszenarien – vom Number-Crunching bis zu hochskalierbaren Server-Diensten – effektiv umsetzen lassen.

Wie man sich diese Möglichkeiten innerhalb von FileMaker zu Nutze machen kann, erklärt dieser Vortrag anhand von Beispielen – wie z.B. interaktive Kalender, graphische Auswertungen, Batch-Verarbeitung von umfangreichen Berechnungen.

Es werden Herangehensweisen erläutert und frei verfügbare Bibliotheken für unterschiedliche Anwendungszwecke vorgestellt.

Interessant für den FileMaker-Entwicker sind die unterschiedlichen Integrations-Möglichkeiten von JavaScript in eigene Anwendungen. Hierzu werden alternative Integrations- und Schnittstellen-Methoden vorgestellt, die über die Standard-Möglichkeiten des Webviewers hinausgehen.

Aus der Praxis wird ein Beispielprojekt vorgestellt zur Lösung des TSP (Traveling Salesman Problem), wo die Möglichkeiten von JavaScript effektiv in eine FileMaker-Anwendung integriert wurden.

Mobile Internet Datentarife im hohen Norden

15. August 2014

Norwegen
Wer beruflich oder privat nach Skandinavien reist und unterwegs mobilen Internetzugang braucht, hat verschiedene Optionen.

Da die Roaming-Gebühren inzwischen europaweit gedeckelt sind, kommt u.U. ein Zusatz-Tarif des heimischen Mobilfunkproviders in Frage. Bei längeren Aufenthalten oder größeren Datenvolumen kann dies jedoch immer noch ein teures Unterfangen werden. Außerdem ist es ja häufig so, dass mehrere Geräte unterwegs im Gepäck sind, die sich einen gemeinsamen Internetzugang teilen sollen.

Daher bietet es sich an, eine Prepaid-Datenkarte für einen mobilen Router im Reiseland vor Ort zu erwerben. Teilweise sind die Möglichkeiten jedoch sehr eingeschränkt – z.B. in Dänemark oder Norwegen sind anonyme Prepaidkarten nicht überall erhältlich. Meist werden nur komplette Verträge mit Laufzeit angeboten, teilweise auch nur für Einwohner, die im Land selbst eine gemeldete Anschrift haben.

Diesen Sommer habe ich bei Reisen nach Dänemark, Schweden und Norwegen die Erfahrung gemacht, dass u.U. viel Rennerei erforderlich ist, um eine Prepaid-Karte zu erwerben. Besonders, wer in abgelegenere Gebiete fährt, tut gut daran, sich rechtzeitig in einer größeren Stadt um eine passende SIM-Karte mit Datentarif zu kümmern. Tarifupgrades gibt es z.T. später dann noch in Supermärkten oder Tankstellen unterwegs. Wer auf Nummer sicher gehen will, bucht gleich zum Reisebeginn ein ausreichend großes Datenvolumen dazu.

Als Einstiegshilfe für eine Vorabauswahl der Möglichkeiten habe ich hier die von mir ausfindig gemachten Tarife aufgelistet (Stand: Sommer 2014):


Dänemark
Anbieter: Telia
Telia Talk Startpaket SIM card 29,- DKK
Telia Talk Startpaket inkl. 10 GB Volumen 299,- DKK
gesamt ca. 44,- EUR

Anmerkung: In Dänemark war es schwierigsten, einen Prepaid-Tarif zu finden. Die namhaften Anbieter vor Ort hatten nur Festverträge für Einheimische im Angebot. Rühmliche Ausnahme war Telia.


Schweden
Anbieter: 3 (drei)
Startpaket ComboSim 99,- SEK
Tarif mit 5 GB Volumen 99,- SEK
gesamt ca. 22,- EUR

Anmerkung: Schweden war in Sachen Prepaid, und was das Preis-Leistungs-Verhältnis der Datenvolumen anging, am unkompliziertesten. Auch war es leicht, eine Filiale für den Kauf von SIM-Karte und Tarif zu finden.


Norwegen
Anbieter: Netcom
SMART Kontant Startpaket 99,- NOK
Tarifupdate “Basis” mit 3 GB Volumen 299,- NOK
gesamt ca. 48,- EUR

Anmerkung: Das Angebot von Netcom war relativ neu und die Karten in mehreren Filialen ausverkauft. In manchen Städten war nichts zu bekommen. Wer die SIM-Karte schon hat, kann teilweise am Kiosk/Supermarkt/Tankstelle ein Tarifupgrade unkompliziert erwerben, welches einfach per SMS mit Freischaltcode aktiviert wird. Für den Kauf der SIM-Karte muss ein Personalausweis vorgelegt werden, wenn man nicht einheimisch ist.


Allgemeine Tipps

SIM-Karte: Die genannten Anbieter haben jeweils Einsteiger-Pakete, welche die SIM-Karte enthalten. Wer von der letzten Reise noch eine SIM-Karte des jeweiligen Anbieters übrig hat sollte diese mitnehmen. Sie kann dann für die neue Tarifbuchung wieder aktiviert werden.

Aktivierung: Meist ist es erforderlich, die SIM-Karte zu aktivieren, oder den Tarif per SMS einzubuchen. Wer nur einen mobilen Router hat, stösst hier auf Probleme! Auch mit dem eigenen Smartphone kann es Probleme geben, weil die Aktivierung dann u.U. mit dem Gerät gekoppelt ist. Als Helfer in der Not hat ein primitives altes Handy, welches mein Sohn als Spielzeug dabei hatte geholfen. Gut, wenn man ein altes Nokia-Handy o.ä. noch im Reisegepäck hat.

Router-Konfiguration: Zwischen den einzelnen Providern in den verschiedenen Ländern gibt es z.T. Unterschiede bei der Konfiguration des mobilen Routers. Für die Datennutzung ist der richtige APN (Access Point Name) des jeweiligen Providers im Router einzutragen. Falls der SIM-Karte keine Infos beiliegen einfach mal bei Google schauen – es finden sich meist schnell passende Infos im Netz.

Router: Als Beispiel für einen 3G-Mobil-Router, der mir schon gute Dienste unterwegs geleistet hat, verweise ich gerne noch einmal auf diesen früheren Beitrag im Blog:
Tipp gegen unverschämte Roaming-Gebühren im Ausland: Trekstor mobiler 3G-WLAN-Router

Das Matroschka Prinzip

19. Oktober 2013

Anbei die Präsentationsfolien des gemeinsam mit Holger Darjus gehaltenen Vortrags auf der FileMaker-Konferenz 2013 in Salzburg. Den kompletten Vortrag als PDF-Version gibt es hier zum Download.

Das Matroschka Prinzip

FMK2013 Vortrag – Das Matroschka Prinzip (PDF 24 MBytes)

Vortragsfolien Vorschau - Das Matroschka Prinzip

Das Matroschka Prinzip
Wie Sie als Entwickler Ihr Projekt zum Erfolg führen!

Kurzbeschreibung: Holger Darjus und Marcel Moré waren nahezu zeitgleich mit der Umsetzung zweier anspruchsvoller FileMaker-Projekte befasst.

Was bei beiden zunächst wie eine Routine-Aufgabe aussah, entwickelte sich jeweils zu ausgedehnten Abenteuern über mehr als 2 Jahre, bei denen viele Herausforderungen zu meistern waren, die über das Standard-Repertoire eines FileMaker Datenbank Entwicklers weit hinaus gingen.

Die beiden Entwickler berichten von Ihren Erfahrungen und Erkenntnissen auf dieser Reise durch die Wirren zweier IT-Projekte.

Wie sich im Laufe Ihrer Arbeit herausstellte, gab es trotz unterschiedlicher Herangehensweisen zahlreiche Parallelen. Daraus entstand ein Austausch sowohl über kritische Projektphasen, als auch zu Lösungsansätzen auf dem Weg zum erfolgreichen Abschluss.

In der Rückschau auf die Erlebnisse und Ergebnisse Ihrer Arbeit haben die beiden eine spannende Dokumentation erarbeitet, bei der viele Aha-Erlebnisse und Best-Practices für andere Entwickler abgeleitet werden können.

Das »Matroschka Prinzip« bietet Ihnen einen Leitfaden, wie Sie die Herausforderungen in Ihren Projekten souverän meistern. Sie erhalten Antworten auf typische Fragestellungen im Spannungsfeld von verdeckten Kundenanforderungen, knappen Ressourcen und Anwenderwünschen. Profitieren Sie von den Erfahrungen der beiden indem Sie die Faktoren für eine erfolgreiche Planung, Steuerung und Umsetzung der Anwendungs-Entwicklung kennenlernen.
Anhand von Beispielen aus der Praxis erhalten Sie Einblicke in Entwicklungsstrategien und bekommen hilfreiche Anhaltspunkte für Ihre aktuellen und zukünftigen Projekte.

Entwickler-Werkzeuge

19. Oktober 2013

Anbei die Präsentationsfolien meines Vortrags auf der FileMaker-Konferenz 2013 in Salzburg. Den kompletten Vortrag – zzgl. Datenbank mit Entwickler-Tools-Verzeichnis – gibt es hier zum Download.

Vortag Entwickler-Werkzeuge

FMK2013 Vortrag – Entwickler-Werkzeuge (PDF 16 MBytes)

Datenbank – Entwickler-Tools Verzeichnis (ZIP mit FP7- und FMP12-Datei 94 KBytes)

Vortragsfolien Vorschau - Entwickler Werkzeuge

Entwickler-Werkzeuge
Unentbehrliche Helfer im Projekteinsatz

Kurzbeschreibung: Sowohl in täglichen Arbeit als Entwickler als auch im Einsatz bei umfangreichen Projekten ist es gut, wenn man neben FileMaker als Entwicklungsplattform noch weitere spezialisierte Tools parat hat, die einem das Leben erleichtern.

Dabei beschränkt sich die Auswahl inzwischen nicht mehr nur allein auf Plugins, die den Funktionsumfang von FileMaker erweitern.

Einige ausgereifte Spezialwerkzeuge z.B. zur Analyse von Datenbank-Anwendungen, Code-Bibliotheken für die Wiederverwendung von Programmcode oder Tools zur Automatisierung von Migrations- und Konvertierungs-Aufgaben bieten dem ambitionierten Entwickler einen Fundus an wertvollen Möglichkeiten.

Darüberhinaus gibt es zahlreiche Tools und Dienste außerhalb der FileMaker-Welt, mit denen sich die Entwicklungs-Phasen in Projekten sinnvoll unterstützen lassen.

In diesem Vortrag werden beispielhaft einige Einsatz-Szenarien und die verwendeten Tools vorgestellt. Außerdem werden selbstentwickelte Datenbank-Tools gezeigt, die bei der Umsetzung von Projekten für konkrete Aufgaben entstanden sind. Darunter einige Highlights wie z.B. die rekursive Visualisierung von Script-Bäumen, ein praktisches Projekttagebuch oder eine effektive TO-DO Liste.

Egal ob Einsteiger oder Fortgeschrittener – es sind sicher für jeden einige wertvolle Tipps dabei.

AppleScript asynchron ausführen

27. August 2013

Wenn ein AppleScript aus FileMaker heraus gestartet wird, wartet FileMaker solange, bis das AppleScript fertig ausgeführt wurde und setzt dann die eigene Script-Ausführung fort. In vielen Fällen ist das erwünscht, wenn z.B. auf ein bestimmtes Script-Ergebnis gewartet werden muss, welches anschließend weiter verarbeitet werden soll.

Problem: Script-Aufruf blockiert FileMaker

Manchmal ist es jedoch unnötig oder sogar hinderlich, wenn der Script-Ablauf in FileMaker durch das gestartete AppleScript blockiert wird. In diesen Fällen wäre es hilfreich, wenn man das AppleScript “asynchron” starten könnte, so dass beide Scripte parallel abgearbeitet werden können. In diesem Fall kann das FileMaker-Script bereits enden, während das AppleScript noch weiter läuft.

Mit den Bordmitteln von FileMaker lässt sich dieses Verhalten nicht ohne weiteres erreichen. Der Befehl “AppleScript ausführen” kennt keine Option für die asynchrone Ausführung.

Machbar wäre dies allerdings mit dem Befehl “Event senden”, welcher wahlweise die Option zum Abschalten anbietet “Beendigung des Events abwarten”. Leider hat Apple in den neueren OSX Versionen das Dateiformat der AppleScript-Dateien in sogannte “Pakete” geändert. Dies sind Ordner, welche weitere Datei-Ressourcen enthalten, im Finder jedoch als ausführbare Dateien angezeigt werden. Speichert man ein AppleScript als “Programm” ab, so wird der gespeicherte Paket-Ordner – obwohl richtig dargestellt – im Auswahl-Dialog des FileMaker Befehls “Event senden” nicht mehr erkannt. Hier handelt es sich offensichtlich um einen Bug in FileMaker (siehe FileMaker Forum).

Event senden Optionen

Workaround

Mit einem kleinen Trick ist allerdings möglich, das gewünschte Verhalten trotzdem zu erreichen. Der Ablauf gestaltet sich dann folgendermassen:

Wir bauen uns ein Starter-Script innerhalb von FileMaker mit Hilfe des Befehls “AppleScript ausführen”. Das Starter-Script übergibt die Kontrolle an ein Shell-Script, welches das AppleScript über die Systemfunktion ‘osascript’ ausführt. Indem die Standard-Ausgabe auf “DevNull” umgeleitet wird, verhält sich das gestartete Script wie ein Hintergrundprozess!
Einzige Einschränkung: Als Hintergrundprozess darf das Script keine GUI-Interaktionen erzeugen. Dialoge müssen daher z.B. an den Finder delegiert werden (siehe Beispiel-Datei).

Hier nochmal der Ablauf schematisch:

  1. per ‘do shell script’ wird ein Shell-Sript gestartet
  2. per ‘osascript’ wird eine externe AppleScript-Datei ausgeführt
  3. mit dem Zusatz ‘&>/dev/null&’ (Standard-Out umleiten auf DevNull) verhält sich der Script-Aufruf wie ein Hintergrund-Prozess

So sieht der fertige Befehlsaufruf des Starter-Scripts aus:

do shell script "osascript " & the quoted form of(POSIX path of "/Users/myaccount/Desktop/Test.scpt") & " &>/dev/null&"

So kommt das Kommando in der Unix-Befehlszeile an:

osascript "/Users/myaccount/Desktop/Test.scpt" &>/dev/null&

Beispiel-Datei

Nachfolgend gibt es eine Beispiel-Datei zum Download, welche das unterschiedliche Verhalten (synchron/asynchron) verdeutlicht. Das beigefügte ZIP-Archiv enthält die FileMaker-Demo im Format .fp7 und .fp12 sowie eine AppleScript-Datei “Test.scpt”, welche zum Start der Demo auf den Desktop kopiert werden muss.

In der FileMaker-Beispieldatei sind zwei Scripte enthalten, die sich per Copy&Paste in eigene Anwendungen übertragen lassen:

  • AppleScript asynchron als Hintergrund-Prozess starten [Dateipfad]
  • AppleScript synchron starten mit warten auf Scriptende [Dateipfad]

Mit Hilfe des Auswahlfelds “Scriptmode” und dem Button “Demo-Script starten” in der Demo-Datei lassen sich beide Varianten testen.

AppleScript asynchron FileMaker Demo

Download Demo-Ordner:
AppleScript-asynchron.zip (25 KBytes)

weitere Infos

Hintergrund-Infos zu den verwendeten Techniken finden sich unter folgenden Links:

Hinweis: sofern auf dem Computer eine ältere Version der Adobe-Suite installiert ist, kann es bei der Verwendung des Befehls ‘osascript’ zu Fehlermeldungen wegen inkompatibler Libraries kommen. In diesem Fall sollte die aktuelle 64-Bit Version des ‘Adobe Unit Types.osax’ installiert werden (siehe Link).