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.
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Markus Gaegauf
1. Custom Web Publishing (mit PHP) und WebDirect in einer Lösung
Arbeitsteilung und Performance
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 - Ingeno FileMaker Entwicklung
Christian Liebich - Ingeno Weblösungen und IT-Consulting
2. 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
3. Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Referenten
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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...
11. Vision der ProSpecieRara
Web-Plattform zur Vermittlung von raren Nutztieren in der Schweiz
Alle Organisationen unter einem Hut in gemeinsamer Plattform
Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Züchter/Anbieter
Züchter/Käufer
Zuchtorganisation
Einfache Erfassung / Genehmigen
ProSpecieRara
(Dachorganisation)
12. 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
13. Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
14. Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker
Server 13
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
15. Browser-Aspekt: Custom Web ist ein MUSS
Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
• Züchter (Inserenten)
kein Filemaker
kein WebDirekt
• Rassenverantwortliche (Zuchtorganisation)
kein FileMaker
kein WebDirekt
• Übersetzer
FileMaker / WebDirekt / FM-Go
• Programm Administrator
FileMaker / WebDirekt / FM-Go
16. Was nicht geht mit FileMaker? (zusätzlich zu Browser-Kriterium)
Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
• Anmelden ohne Login
FM braucht zwingend Login
• Sessionhandling
Dies muss mit Custom Web gelöst werden
17. Arbeitsteilung FM <-> PHP– Wo hab ich die Wahl?
PHP
• GUI
• Formulare
• Input-Validierung
• Interaktion mit (Web-User)
• Session Handling
• E-Mail Versand
• Verwaltung Bilder
Unterstrichen: könnte auf beiden Seiten realisiert werden
Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker
• Datenbank
• Datenlogik
• Sprache
• Daten „abfüllen“
• Setzen Stati
• Batch (z.B. Ablauf Inserat)
• Schreiben History
• Prototyping
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
18. ausfüllen
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)
„absenden“
PHP schreibt Daten in
FM Erfassungstabelle
1
PHP sendet Email an
Inserenten
bestätigen
übertragen
PHP löst
FM Script aus
FM Erfass-
Tabelle
2
Tier
Adresse
Inserat
4
3
4
19. 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
20. 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
21. 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)
22. 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
23. 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
24. 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
25. Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
26. 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
27. 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
28. Technologien für die Webprogrammierung
PHP / JAVA / …
JavaScript (jQuery, Ajax, Bootstrap, Angular, …) / HTML5 / CSS3 / …
XML / JSON / ..
Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
• Serverside
• Clientside
• Transfer
• Datenbanken
Mysql / …
29. Einschränkungen für den Einsatz von FileMaker im Web
Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
• 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)
30. 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.
31. 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
Datenbanken - FileMaker vs. MySQL
• Kostenpflichtig
Dies wird durch Effizienz bei der
Entwicklung schnell wett gemacht!
• Stabiles Produkt
• Hocheffiziente Entwicklung
• Open Source
• Relational / SQL
• Begrenzte Tools zur
Datenbankadministration
32. FileMaker / MySQL / Oracle / Excel / Access / …
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
XML / JSON / LDAP / Finder / Explorer / …
33. HTML (tag-Schreibweise) JSON (hash-Schreibweise)
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”}
}
!
34. 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 Betrachter
ein Backend für die Benutzung durch den Administrator
• Derzeit wichtigste OpenSource CMS Systeme sind:
WordPress / Joomla / Typo3
35. 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:
FileMaker
Konfigurationsangaben, Sprachmodul, Batch, Logging, …
Webadministration durch Rassenverantwortlichen
36. Effizienz - Optimierte Infrastruktur
client:
Züchter
Interessent
Zuchtverein
client engine:
Browser
client engine:
E-Mail Client
device: Virtual Windows Server 2008
Client Computer
client engine:
FileMaker Pro
Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
filesystem:
Engine -Cache
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com
Webapplikation - specierara.ch
System Verteilungs Diagramm
Ingeno Solutions AG / LBC
device:
FireWall
device:
Switch
device:
Client Computer
client:
Administrator
Rassenverantwortlicher
device:
VM Host
http(s)
imap(s)
fm
location:
Datacenter Ingeno
execution engine:
Virtual Centos 6.5 - cPanel Host
execution engine:
specierara.ch - Engine
execution engine:
execution engine:
FileMaker 13 Server
artifact:
FM Web Layouts
artifact:
FM Admin Layouts
artifact:
Statistik Exporte
database:
specierara.ch DB
filesystem:
FM Container Fields
filesystem:
FM DB-Files
artifact:
Search
artifact:
Inserat
artifact:
Inserate Kontrolle
artifact:
Authentisierung
37. 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’);
38. 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();
39. 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!
);
40. 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...
41. 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
42. Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages
Markus Gaegauf, Christian Liebich
Custom Web Publ. (mit PHP) und WebDirect in einer Lösung
FileMaker Konferenz 2014 Winterthur
www.filemaker-konferenz.com