FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Markus Gaegauf

Post on 13-Jun-2015

324 views 0 download

Tags:

description

Die Stiftung ProSpecieRara hat das Ziel, gefährdete Nutztierrassen vor dem Aussterben zu bewahren. Dafür sollte eine möglichst einfach bedienbare Webplattform für die seltenen Rassen und ihre Züchterorganisationen geschaffen werden, auf der die Tiere angeboten und gesucht werden können. Wichtig war dabei, dass die Verantwortlichen einer seltenen Tierrasse die Inserate prüfen und auswerten konnten. Der Vortrag stellt die von Ingeno Solutions entwickelte zweisprachige FileMaker-Lösung dar, bei der das Publikums-Frontend auf PHP und aktuellen Webtechnologien basiert. Für die Pflege der Stammdaten wird WebDirect eingesetzt. Zudem können die Administratoren direkt via FileMaker-Client zugreifen und so Auswertungen in vertrauter FileMaker-Manier erstellen. Neben den Prinzipien dieser Technologien, ihrem Zusammenspiel und der Performance findet der Passwort-freie Login besondere Beachtung: Die User werden via Link, der per E-Mail zugestellt wird, autorisiert.

Transcript of FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Markus Gaegauf

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Custom Web Publishing (mit PHP) und WebDirect in einer Lösung Arbeitsteilung und Performance

Markus Gaegauf - Ingeno FileMaker Entwicklung Christian Liebich - Ingeno Weblösungen und IT-Consulting

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Agenda

• Lösung: tierischeraritäten.ch – um was gehts?

• Wer ist Ingeno Solutions?

• Von der Aufgabenstellung zum Lösungskonzept

• Arbeitsteilung FileMaker, WebDirect und Custom Web mit PHP am Praxisbeispiel

• Webtechnologien - Warum?

• Infrastruktur und Environment der Applikation

• Praxistest: Ein Rundgang durch die Applikation

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Referenten

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Unsere Firma

FileMaker IT-Services

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Ingeno Team

Gilberto Zappatini Dipl.Ing. ETH FileMaker Developer E-Mai: gzappatini@ingeno.ch

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Beispiel: IT Support

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Beispiel: Datenbank-Entwicklung

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Bericht Schweizer Fernsehen ProSpezieRara (August 2014)

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Vision der ProSpecieRara heute...

Neben der Saaser Mutten gibt es... • 30 seltene Nutztierrassen und • 20 Zuchtorganisation kontrollieren Genetik, „Tier-Kennzeichen“ (Ohrenmarken) • jede hat eigene Lösung zur Kontrolle der Zucht - Web Sites - Excel Listen

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Vision der ProSpecieRara heute...

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Vision der ProSpecieRara Web-Plattform zur Vermittlung von raren Nutztieren in der Schweiz

Züchter/Anbieter

Züchter/Käufer

Zuchtorganisation

Einfache Erfassung / Genehmigen

Alle Organisationen unter einem Hut in gemeinsamer Plattform

ProSpecieRara (Dachorganisation)

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Vorgaben von ProSpecieRara

• Kein Login -> Kein User und PW

• Browserunabhängigkeit / Kein App oder Programm installieren

• Selektion Inserate u.a. nach Rasse und Kanton

• Standort Tier / Standort Verkäufer -> „Google Map“

• Einfacher Genehmigungsprozess durch Rassenverantwortlichen

• Mehrsprachig

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Ein Projekt für WebDirect? Zur Erinnerung:

20

Browser: Safari 6, 7 Int. Explorer 9, 10 Chrome 21

iOS: FileMaker Go

Android Win 8

FileMaker Server 13

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Browser-Aspekt: Custom Web ist ein MUSS

• Züchter (Inserenten)kein Filemaker kein WebDirekt

• Rassenverantwortliche (Zuchtorganisation)kein FileMakerkein WebDirekt

• ÜbersetzerFileMaker / WebDirekt / FM-Go

• Programm AdministratorFileMaker / WebDirekt / FM-Go

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Was nicht geht mit FileMaker? (zusätzlich zu Browser-Kriterium)

• Anmelden ohne LoginFM braucht zwingend Login

• SessionhandlingDies muss mit Custom Web gelöst werden

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Arbeitsteilung FM <-> PHP– Wo hab ich die Wahl?

PHP

• GUI • Formulare • Input-Validierung • Interaktion mit (Web-User) • Session Handling • E-Mail Versand • Verwaltung Bilder

FileMaker

• Datenbank • Datenlogik • Sprache • Daten „abfüllen“ • Setzen Stati • Batch (z.B. Ablauf Inserat) • Schreiben History • Prototyping

Unterstrichen: könnte auf beiden Seiten realisiert werden

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Konzept für Prozess Inserieren FM <-> PHP

Web Formular (PHP)

ausfüllen

„absenden“PHP schreibt Daten in FM Erfassungstabelle

1

PHP sendet Email an Inserenten

bestätigen

PHP löst FM Script aus

übertragen

FM Erfass-Tabelle

2

TierAdresse

Inserat4

3

4

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Detail Prozess Inserieren FM <-> PHP

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Detail Prozess Inserieren / Use Cases

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Datenbank Struktur (Basis-ERD)

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

FileMaker Prototyping

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Anwendung WebDirect

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

FileMaker Clients für Administrator

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Filemaker und Schnittstellen

• Filemaker (Applikation)

• Web-Direct (Browser)

• PHP (Custom Web Publishing)

• SQL

• Java

• XML

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Layer Modell

• Layer 1: Filemaker DB Files

• Layer 2: Filemaker Layouts, Strukturdaten, Skripts (DB-Applikation)-> Direktzugriff mit FileMaker, FileMaker Go, Web-Direct

• Layer 3: Schnittstellen (Java, SQL, XML, PHP)-> Zugriff über das FileMaker Layout

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Technologien für die Webprogrammierung

• Serverside

• Clientside

• Transfer

• Datenbanken

JavaScript (jQuery, Ajax, Bootstrap, Angular, …) / HTML5 / CSS3 / …

PHP / JAVA / …

XML / JSON / ..

Mysql / …

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Einschränkungen für den Einsatz von FileMaker im Web

• Browserabhängigkeit mit Web-Direkt

• Abbildung von Applikationslogik (Login begrenzt auf FileMaker Berechtigungsstruktur)

• SEO Optimierung (Suchmaschinen)

• Eingeschränkter Zugang zu Client-Side Technologien(Header von Web-Direkt nur begrenzt offen für die Integration von CSS3 und JavaScript)

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

HTML Header

<html>!! <head>!! ! <title>Tierische Raritäten</title>!!! ! <!-- Google Fonts -->!! ! <link href="http://fonts.googleapis.com/css?family=Ubuntu" rel="stylesheet" type=“text/css">!!! ! <!-- Custom CSS -->!! ! <link rel="stylesheet" href="../includes/css/styles.css">!! ! !! ! <!-- Scripts —>!! ! <script src="../includes/js/modernizr-2.6.2.min.js"></script>!! ! <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>!! ! <script src="../bootstrap/js/bootstrap.min.js"></script>!! ! <script src=“../includes/js/own.js“></script>!! </head>!! <body>!! ! ………!! </body>!</html>

Filemaker gibt uns keinen Zugriff auf den Header der mit Webdirect im Browser erzeugten Webseite und verwehrt uns den Zugriff auf externe Bibliotheken.

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Datenbanken - FileMaker vs. MySQL

• KostenpflichtigDies wird durch Effizienz bei der Entwicklung schnell wett gemacht!

• Stabiles Produkt

• Hocheffiziente Entwicklung

• Open Source

• Relational / SQL

• Begrenzte Tools zur Datenbankadministration

FileMaker MySQL

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Datenbank- und Datenablage Arten

• Relational

• Hierarchisch

FileMaker / MySQL / Oracle / Excel / Access / …

XML / JSON / LDAP / Finder / Explorer / …

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Datenablage und Speicherallokation

• Beim Austausch zwischen FileMaker und den Schnittstellen werden die Daten an verschiedenen Orten in den Speicher geschrieben

• Hierarchisch

<html> <head></head> <body> <h1 class=“header”>Hello FM Konferenz</h1> </body> </html>

{ “obj1”: { “name”:”Christian", “ort”:”Winterthur” } “obj2”: { “name”:”Markus", “ort”:”Winterthur”} } !

JSON (hash-Schreibweise)HTML (tag-Schreibweise)

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

CMS Systeme

• Ein CMS baut auf einer Datenbank auf

• Ein CMS hat immer:ein Frontend für die Benutzung durch den Betrachterein Backend für die Benutzung durch den Administrator

• Derzeit wichtigste OpenSource CMS Systeme sind: WordPress / Joomla / Typo3

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

tierische-raritäten.ch

• Web Frontend:PHP / Javascript (jQuery, Ajax) / HTML5 / CSS3

• E-Mail Autorisierung

• Backend:FileMakerKonfigurationsangaben, Sprachmodul, Batch, Logging, …Webadministration durch Rassenverantwortlichen

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Webapplikation - specierara.chSystem Verteilungs Diagramm

Ingeno Solutions AG / LBC

device:FireWall

device:Switch

device:Client Computer

client:ZüchterInteressentZuchtverein

client:AdministratorRassenverantwortlicher

client engine:Browser

client engine:E-Mail Client

device:VM Host

http(s)

imap(s)

fm

location:Datacenter Ingeno

execution engine:Virtual Centos 6.5 - cPanel Host

execution engine:FileMaker 13 Server

execution engine:specierara.ch - Engine

artifact:FM Web Layouts

artifact:FM Admin Layouts

artifact:Statistik Exporte

execution engine:Virtual Windows Server 2008device:

Client Computer

client engine:FileMaker Pro

database:specierara.ch DB

filesystem:FM Container Fields

filesystem:FM DB-Files

filesystem:Engine -Cache

artifact:Search

artifact:Inserat

artifact:Inserate Kontrolle

artifact:Authentisierung

Effizienz - Optimierte Infrastruktur

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Grundlagen FileMaker Zugriff mit PHP

$request = $fmHandle->newFindCommand(ENTER_ADVERT);!$request->addFindCriterion(‘__pk_ErfassIDweb’, $advertKey);!$result = $request->execute();!!if( FileMaker::isError($result) ) {!! echo $result->getMessage() ;!! die();!}!!$records = $result->getRecords();!$record = $records[0];!!$typInserat = $record->getField(‘TypInserat_n’);

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Grundlagen FileMaker Zugriff mit PHP Datenupdate

$values['Beschreibung']! = $_POST['tierBeschGesuch'];!$values['Preis_n']! ! = $_POST['gesuchterTierPrice'];!$values['Verfuegbar']!! = $_POST[‘availGes'];!…!!$FMInsertRec ! ! ! = $fm->createRecord(ENTER_ADVERT, $values);!$insertResult ! ! ! = $FMInsertRec->commit();

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Grundlagen FileMaker Zugriff mit PHP Skriptansteuerung

$FMScript = $fm->newPerformScriptCommand(!! ENTER_ADVERT,!! ‘P23ConfirmENTweb’,!! $insertNr!);

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Die Story geht weiter...

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Fragen und offene Diskussion

Markus Gaegauf, Christian Liebich Custom Web Publ. (mit PHP) und WebDirect in einer Lösung

FileMaker Konferenz 2014 Winterthur www.filemaker-konferenz.com

Vielen Dank unseren Sponsoren

Danke für das Bewerten dieses Vortrages