Thomas Hahn @ walkingtoweb.com
Thomas Hahn @ walkingtoweb.com Programmierung mit Basic und C++ ab 1987 FileMaker Pro Entwicklung seit 1992 (FileMaker Pro 2.1) Weblösungen seit 1993 Entwicklung von komplexen FileMaker Lösungen (blue.) seit 2001! FileMaker Hosting mit walkingtoweb.com seit 2001 2 Rechenzentren in Zürich mit nativen OSX Servern (MacPro, Xserve, MacMini) Serverbetreuung im Kundenauftrag (OSX only) Hostingteam von 3 festen Mitarbeitern Hostingkunden aus Europa, Nordamerika, Asien, Australien
Thomas Hahn @ walkingtoweb.com FileMaker Server 13
FileMaker Go
FileMaker Go Ihre aktuelle Datenbank ist schnell auch auf dem ipad und iphone verfügbar Direkte Anbindung an einen FileMaker Server Meist nur wenige Anpassungen notwendig Verschlüsselte Verbindung möglich Arbeit mit Barcodes, Unterschriften, Kamera Optimiert für Touch Bedienung inkl. Gesten und ios Tastatur FileMaker GO ist aktuell eine gute Lösung für mobile Anwendungen
FileMaker Go - ABER
FileMaker Go - ABER FileMaker Go11 ist nicht mehr verfügbar, weil der Herausgeber es so will FileMaker Go12 ebenfalls nicht mehr FileMaker Go13 erfordert ios 7.1 Damit kein FileMaker Go auf alten ios Geräten Zwang zu Updates, die nicht gratis sondern kostenpflichtig sind Zwang zum Kauf von Verbindungen um eine Serveranbindung zu erhalten Bis heute keine echte Synchronisation Keine native App für den Endkunden, immer nur ein FileMaker Go Dokument Es sind viele Tricks notwendig um Funktionen gut zu machen Komplexe Lösungen sind unverhältnismässig aufwendig FileMaker Go läuft nur auf ios Systemen
FileMaker Go Plattformen
ios und Android http://www.gartner.com/newsroom/id/2674215
FileMaker Go und Design? Eigene Layouts für mobile Devices? Gleiche Inhalte angepasst für verschiedene Endgeräte ausliefern? Echte Stylesheets für Layouts? iphone 6 und neue Designs? Responsive Design für ein Layout für alle Devices? Fokus auf eine Technologie, aber welche ist in zwei Jahren wichtig?
FM Sample DEMO
Und nun?
Alternativen Native ios Apps werden mit Objective C (oder neu Swift) programmiert Entwicklung mit Apple Xcode Native Android Apps werden mit Java entwickelt Entwicklung u.a. mit Eclipse und dem Android SDK Eine Alternative sind Crossplattform Tools Damit können aber nicht für jede Plattformen alle Möglichkeiten genutzt werden Sencha, PhoneGap, RhoApps, jquerymobile als HTML5/ CSS3/ JavaScript Frameworks Kombination aus HTML + CSS + JavaScript bietet die meisten Optionen Damit Entwicklung echter mobiler Apps
Beispiel PhoneGap API Kamera Kompass Geolocation Dienste Beschleunigungssensor Zugriff auf die Kontakte, Kalender, emails Zugriff auf im Device gespeicherte Bilder und Dokumente Push Benachrichtigungen Eingebauter Webbrowser Eigene mobile API für Facebook, Twitter, Yahoo, Maps
PhoneGap im Vergleich im FM Go Kamera Kompass Geolocation Dienste Beschleunigungssensor Zugriff auf die Kontakte, Kalender, emails Zugriff auf im Device gespeicherte Bilder und Dokumente Push Benachrichtigungen Eingebauter Webbrowser Eigene mobile API für Facebook, Twitter, Yahoo, Maps! (Orange markierte Einträge werden von FileMaker Go13 NICHT unterstützt)
PhoneGap OS Amazon Fire OS Android ab 2.3 BlackBerry 10 Firefox OS ios ab ios 5 Windows Phone Windows 8 Tizen Symbian Palm WebOS
Und FileMaker? Daten App User Software Zugriff FileMaker Server FileMaker PHP Device
Und FileMaker? Die App hat Zugriff auf die Filemaker Datenbank via FileMaker PHP FileMaker API für PHP IIS (Windows): Programme\FileMaker\FileMaker Server\Web Publishing\FM_API_for_PHP_Standalone.zip Apache (OS X): /Library/FileMaker Server/Web Publishing/FM_API_for_PHP_Standalone.zip Datei entzippen und hier in diese Ordner kopieren: IIS (Windows):Programme\FileMaker\FileMaker Server\HTTPServer\Conf Apache (OS X) http: /Library/FileMaker Server/HTTPServer/htdocs
PHP - FileMaker Funktionen Datensätze erstellen, löschen, bearbeiten und duplizieren Suchabfragen ausführen, auch verknüpft Feld- und Datensatzüberprüfungen ausführen, vor Ausführung Layouts ansteuern Ausschnitte und Bezugsdatensätze anzeigen Wertelisten verwenden Daten können alle Inhalte der Datenbank inkl. Containerfelder sein Ebenso lassen sich Daten streamen (Filme, Sounds, PDFs) Daten und Containerdaten können auch zurück geschrieben werden Nutzung von FileMaker Scripts direkt am Server (inkl. Plugins) Fehlerhandling via PHP und/ oder FileMaker
Hinweise zu Scripten FMS Scripte mit Schreibe Änderung Datensatz/Abfrage beenden Mit AnwenderAbbruchZulassen (Ein) kommt es zum Abbruch bei nicht unterstützten Scriptschritten Mit AnwenderAbbruchZulassen (Aus) werden nicht unterstützte Scriptschritte übersprungen Hole(ProgrammVersion) = Web Publishing Engine ist ein WebScript Scriptschritt Programm beenden schliesst die Verbindung und alle Fenster ScriptTrigger können nicht genutzt werden Legen Sie eigene Zugriffsrechte für WebScripte fest, niemals Adminrechte
FileMaker PHP Tips FMWebFrame von Tim Dietrich Erweiterung der FileMaker API um eine Vielzahl weiterer Funktionen, u.a.: ExecuteSQL - SQL Select direkt via PHP QuickFind Container - fmgetcontainer, fmputcontainer Caching Funktionen! SimpleFM von SoliantConsulting Eigene API via FileMaker Server XML Wesentlich schneller als die FileMaker API! FileMaker API for PHP 13, Buch von FormulationsPro
Mobile PHP App
ios App DEMO
FileMaker PHP-Beispiel Verbindung via File dbaccess.php //FileMaker PHP API einschließen require_once ('FileMaker.php'); //FileMaker-Objekt erstellen $fm = new FileMaker(); //FileMaker-Datenbank angeben $fm->setproperty ('database', 'FMServer_Sample'); //Host angeben $fm->setproperty ('hostspec', '10.10.10.120'); //Login definieren (Rechte als PHP User) $fm->setproperty ('username', 'web'); $fm->setproperty ('password', 'web');
Aufgabenliste - Kopfbereich (Auswahl!) <html><head> <meta charset="utf-8"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <title>blue.</title> <link rel="stylesheet" href="css/style.min.css"> <!-- Favicon --> <link href="img/icons/icon-57.png" rel="shortcut icon"> <!-- ios 7 ipad (retina) --> <link href="img/icons/icon-76@2x.png" sizes="152x152" rel="apple-touch-icon"> <!-- ios 7 iphone (retina) --> <link href="img/icons/icon-60@2x.png" sizes="120x120" rel="apple-touch-icon"> </head>
Aufgabenliste - Bodybereich (Auswahl!) <!-- Include the Filemaker DB Access --> <?php include (,dbaccess.php ); // find all Befehl erstellen und das Layout angeben $findcommand =& $fm->newfindallcommand ( Tasks'); // Suche durchführen und Ergebnis speichern $result = $findcommand->execute(); // Gefundene Datensaetze speichern $records = $result->getrecords(); <?php foreach( $records as $record ) $task_name = $record->getfield ( Task Name'); $task_id = $record->getfield ( TASK ID MATCH FIELD'); echo '<li>'; echo '<a href="list-item.php?id='. $task_id. ">'; echo '<div class="item-title">'. $task_name. '</div>'; echo '</a>'; echo '</li>';
Aufgabenliste - Detailansicht (Auswahl!) <!-- Include the Filemaker DB Access --> <?php include (,dbaccess.php ); // Get task id from GET request into variable $task_id = $_GET['id']; // find all Befehl erstellen und das Layout angeben $findcommand =& $fm->newfindcommand (,Tasks' ); $findcommand->addfindcriterion( 'TASK ID MATCH FIELD', $task_id ); // Suche durchführen und Ergebnis speichern $result = $findcommand->execute(); // Gefundene Datensaetze speichern $records = $result->getrecords(); $task_description = $record->getfield (,Description'); $task_due_date = $record->getfield (,Due Date'); $person_email = $record->getfield (,Personnel::Email'); <p><?php echo $task_due_date;?></p> <h4>beschreibung:</h4> <p><?php echo $task_description;?></p><?php }?> <h4>verantwortlich:</h4> <p><?php echo $person_name;?> / <?php echo $person_email;?></p>
Möglichkeiten?
Möglichkeiten Unabhängige Entwicklung Schnelle Möglichkeit des Plattformwechsels Direkte Anbindung an einen FileMaker Server oder andere Serverlösungen Schnelle Anpassungen durch PHP als Basis Echtes Responsive Design Arbeit mit (fast) allen Features eines Gerätes Wirklich optimiert für Touch Bedienung inkl. Gesten Mobile PHP Lösungen sind wesentlich flexibler Kostengünstigere Entwicklung und viel breitere Zielgruppe Nutzung von kostenlosen Bibliotheken mit fertigen Templates Verschlüsselte Verbindungen möglich
Sehr viele Möglichkeiten!
Ihre Fragen?
Vielen Dank!
Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages