FIleMaker Magazin

Werbung
© 1994 – 2016 K&K Verlag GmbH, Hamburg
201601
Einzelausgabe PDF € 12,00 | www.filemaker-magazin.de
Das unabhängige Magazin für FileMaker Anwender und Entwickler
Eigene iOS-Apps
erstellen
Jetzt auch mit FileMaker
Datenbanken mit Emotionen
Emojis
Universaltalente
Platzhalter
Eigene Prioritäten setzen
Freies Sortieren
Bedingt aktivieren
© 1994 – 2016 K&K Verlag GmbH, Hamburg
Tasten
SSL-Zertifikate akzeptieren
FileMaker Server
FMM_201601
Impressum
FileMaker Magazin
Ausgabe FMM_201601
Verlag
K&K Verlag GmbH
Große Brunnenstraße 43
22763 Hamburg
Deutschland
Telefon +49 40 5896579 -70
Telefax +49 40 5896579 -77
E-Mail [email protected]
URL
www.filemaker-magazin.de
Twitter FMM_online
Facebook
www.facebook.com
/FileMakerMagazin USt.ID DE170926882
Herausgeber & Redaktion
Klemens Kegebein (v. i. S. d. P.)
Autoren dieser Ausgabe
Thomas Hirt
Arnold Kegebein
Klaus Kegebein
Jörg Köster
Christian Schmitz
Thomas Siebert
Jörg Wenzel
Mitarbeiter dieser Ausgabe
Layout, Satz, RZ
Irene Karger, Thordsen-Verlag oHG
Lektorat
Sindy Meyer
Druck
Druckerei WIRmachenDRUCK GmbH
Mühlbachstraße 7
71522 Backnang, Deutschland
Anzeigen
Gabriela Rajski-Gerigk-81
[email protected]
Aboservice
Telefon +49 40 5896579-81
E-Mail [email protected]
Buchhaltung
Maria Gerigk-Bruhn-82
[email protected]
Marketing & Redaktion
Gabriela Rajski-Gerigk-81
[email protected]
Vertrieb/Lizenzberatung
Holger Kuhn-85
[email protected]
Vertrieb/Kundenservice
[email protected]
Bankverbindungen
Hamburger Sparkasse
BLZ 200 505 50
Kto.-Nr. 1293/122 998
IBAN DE83 2005 0550 1293 1229 98
SWIFT HASPDEHHXXX
Hinweis für unsere Schweizer Kunden:
Wir haben unser Postfinance-Konto
auf­gelöst. Bitte zahlen Sie per SEPA-Über­
weisung auf unser vorstehendes Konto
bei der Hamburger Sparkasse.
Das FileMaker Magazin ist eine unabhängige
Zeitschrift und erscheint seit Dezember 1994
im K&K Verlag in Hamburg (HRB 58514).
Das FileMaker Magazin ist als Abonnement und
im Einzelverkauf erhältlich. Es erscheinen sechs
Ausgaben im Jahr. Das Abonnement verlängert
sich um ein Jahr, wenn nicht bis sechs Wochen
vor Ablauf schriftlich gekündigt wird.
Der Preis für ein FMM Basis-Abo (PDF-Abo
ohne Online-Abozugang) beträgt zur Zeit € 56;
FMM Premium-Abo (druckbares PDF, OnlineZugang, Beispieldateien) € 85; FMM PremiumAbo+Print (wie FMM Premium-Abo, jedoch
zusätzlich gedruckte Ausgaben; inkl. Versand)
€ 112 (alle Preise inkl. MwSt.).
Zusatzinformationen wie Beispieldateien usw.
zu dieser Ausgabe finden Sie im Abonnenten­
bereich im Internet unter www.filemakermagazin.de/abonnentenbereich/weblinks
Es gilt die Anzeigenpreisliste vom 1.1.2015. Für
unverlangt eingesandte Beiträge übernimmt
der Verlag keine Haftung. Nachdruck, auch in
Auszügen, nur mit schriftlicher Genehmigung
des Verlages. Produkt-, Waren- und Firmen­
namen werden ohne Gewährleistung der frei­
en Verwendbarkeit benutzt.
Der Verlag übernimmt keine Haftung für mög­
liche Fehler in den veröffentlichten Beiträgen.
Gerichtsstand ist Hamburg. Namentlich ge­
kennzeichnete Beiträge geben nicht unbe­
dingt die Meinung der Redaktion wieder.
Inserenten
Telefon
E-Mail
Internet
Seite*
Sindy Meyer, Hamburg
+49 151 74202175 [email protected]
Arnold Kegebein, Hamburg
+49 40 85372010
[email protected]
www.kegebein.net
[x] cross solution, Germering
+49 89 84102570
[email protected]
www.fm-crosscheck.com
31
Klaus Kegebein, Lübeck
+49 451 7076671
[email protected]
www.kegebein.de
36
[email protected]
www.monkeybreadsoftware.de
36
Christian Schmitz Software GmbH, Nickenich +49 2632 958955
14
26
Wir bitten unsere Leser um freundliche Beachtung der Anzeigen dieser Ausgabe. Der gedruckten Auflage dieser Ausgabe liegt der FMM Jahreskalender 2016 bei.
Inseratswünsche senden Sie bitte an [email protected] oder rufen uns an unter +49 40 589657970.
*Die hier abgedruckten Seitenzahlen sind nicht rechtsverbindlich. Redaktionelle Gründe können Änderungen erforderlich machen.
Zeichenerklärungen
Bei einem Beitrag mit dem Zeichen Weblink finden Sie Beispieldateien
auf un­se­ren Internetseiten. Wenn Sie das Symbol Webshop sehen,
können Sie das Produkt beim K&K Verlag erwerben, z. B. über unseren
Internetshop. Dieses Symbol
bedeutet, dass Sie dort detaillierte In­for­
ma­tio­nen zu dem beschriebenen Buch oder Artikel lesen.
Ab sofort zeigen wir mit Zeichen am Beginn eines Beitrages, wie wir einen
Artikel einordnen. Mac bedeutet, dass sich der Artikel vorwiegend an
Anwender des Betriebssystems Mac OS richtet. Zeigt der Beitrag das Symbol
Win , sind vor allem die Nutzer der Plattform Windows angesprochen.
Pro bedeutet: Dieser Beitrag richtet sich an Anwender, die FileMaker
Pro besitzen, mit Pro Advanced markierte Tipps können nur mit der
2
Entwicklerversion FileMaker Pro Advanced nachvollzogen werden. Server
betrifft den Server, bei Web geht es um die Internet­funktionen Go und
behandelt FileMaker auf den mobilen Geräten iPhone, iPod touch und iPad.
Wir halten uns bei der Schreibweise von Begriffen i. d. R. an die Form, die
FileMaker in der Software verwendet, also Script und Scripts statt Skript
und Skripte, Plugin statt Plug-in usw.
Bei Internetadressen verzichten wir auf „http://“, wenn bereits durch das
„www“ am Beginn deutlich wird, dass es sich um eine Webseite handelt.
Müssen wir eine lange Internetadresse umbrechen, dann setzen wir dies so,
dass keine zusätzlichen Zeichen erscheinen.
FMM_201601
Inhalt
Titel
Fotolia
Editorial
Titelbild. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Christian Schmitz
Winfried Huslik
3.1.1945 – 4.2.2016
Mobile Lösungen
iOS App SDK. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Eigene iOS-Apps auf Basis von FileMaker
Gewusst wie
Klaus Kegebein
Freies Sortieren. .
Arnold Kegebein
Tasten bedingt deaktivieren . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Durch Anklicken eine Reihenfolge festlegen
. . . . . . . . . . . . . . . . . . . . 15
Eine in FileMaker vermisste Funktionen nachbilden
In eigener Sache
FMM Redaktion
FMM Titelwahl 2015. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
… wer war der Schönste im letzten Jahr?
Tipps & Tricks
Thomas Siebert
Jörg Köster
Putzige Emojis. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Die Strichmännchen werden erwachsen
Platzhalter im Fokus. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Tipps & Tricks
FileMaker Server
Beliebige SSL-Zertifikate für FileMaker Server 13
und 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wie man FileMaker Server dazu bringt, Zertifikate aller gängigen
Certificate Authorities zu akzeptieren
Thomas Hirt
. . 23
Grundlagen
Jörg Wenzel
FileMaker und SQL. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Sekt oder Selters – Transaktionen, Teil 11
FileMaker Stammtische
4
Plugins und Tools
10
Kleinanzeigen
26
Aktuelle Versionen 31
Neuigkeiten
32
Adressen
35
FMM_201601 Lieber Winfried!
Eben noch haben wir uns in Ham­
burg bei der FileMaker Konferenz
gesehen, wenn auch schon unter
besonderen Umständen: Dich hatte
es gleich nach dem Ankunftsabend
aus der Spur geworfen. Den FMM
Award, den ich Dir eigentlich am
Abend vor Publikum überreichen
wollte, musste ich Dir ins Kranken­
haus bringen. Und nun das …
Kennen gelernt haben wir uns vor
unglaublichen 21 Jahren! Du hast
die Formulare für unsere aller­
erste FileMaker Lösung geliefert:
„Überweisungen ausfüllen“ hieß ­das
in FileMaker Pro 2.1 geschriebene
Produkt und es konnte … Über­
weisungen bedrucken.
Jahre später haben wir Deine
Produkte FMDiff und FMvis verkauft
– Tools, auf die FileMaker Entwickler
und auch viele Kunden bald nicht
mehr verzichten konnten und
wollten – dafür hast Du auch den
FMM Award bekommen!
Weil Du die Struktur von FileMaker
Dateien entschlüsselt hattest,
­konntest Du so manchem E­ ntwickler
aus größter Pein helfen, wenn
eine Datei rettungslos verloren
schien: Bei Dir gab es Hoffnung auf
Datenrettung, selbst wenn FileMaker
schon abgewinkt hatte!
Wir haben uns auf vielen Konfe­
renzen in Deutschland und den USA
getroffen, Dich zu erkennen war nie
schwer: Du hast gern breite Hosen­
träger getragen, oft in bayerischer
Optik.
Du wirst mir und vielen anderen in
lebendiger Erinnerung bleiben.
Alter Freund, mach’s gut!
[email protected]
3
FileMaker Stammtisch
FileMaker Stammtische
Deutschland
Berlin
1. Donnerstag des Monats
Pforzheim
1. Donnerstag des Monats
Jan Lankwitz
[email protected]
Braunschweig
2./3. Mittwoch des Monats
Martin Hille
Horst Baselt
[email protected]
[email protected]
Marcel Moré
[email protected]
Rhein/Main
1. Donnerstag des Monats
Hamburg
1. Donnerstag des Monats
Thorsten Seliger
[email protected]
K&K Verlag
[email protected]
Koblenz
2. Donnerstag, alle 2 Monate (gerade)
Christian Blaes
[email protected]
Köln
alle 2 Monate nach Vereinbarung
Roland Schneider
filemakerstammtischkoeln.wordpress.com
Leipzig
1. Donnerstag des Monats
Dr. Karsten Wallberg
[email protected]
München
Armin Egginger
Saar-Lor-Lux (Saarbrücken) 1. Donnerstag des Monats
Marcus Diederich
www.filemaker-stammtisch-saarlorlux.de
Ulm
2. Donnerstag des Monats
Martin Schwarz
[email protected]
Schweiz
1. Donnerstag des Monats
Bern
Arthur Bonino
Markus Schneider
2. Donnerstag des Monats
[email protected]
[email protected]
[email protected]
St. Gallen
1. Donnerstag des Monats
Mutterstadt
1. Donnerstag des Monats
Norbert Faul
[email protected]
Nürnberg
3. Freitag des Monats
Alexis Gehrt
Otmar Strässle
Zürich
[email protected]
[email protected]
3. Dienstag, alle 2 Monate
Manfred Petzold
[email protected]
Philipp Althaus
www.filemaker-stammtisch-zuerich.ch
Oldenburg
3. Mittwoch in Quartalsmitte
Markus Schall
[email protected]
Österreich
Wien
Robert Zimmel
Stefan Pusch
Berlin
Genau: Besuchen Sie doch mal eines der FileMaker Treffen, die
sich seit vielen Jahren im deutschsprachigen Raum e­ ta­bliert
haben. Sie finden meist an einem festen Wochentag einmal
monatlich statt, oft am 1. Donners­tag des M
­ onats.
Braunschweig
Die Treffen wenden sich an das gesamte Spek­trum der FileMaker Anwender: an Einsteiger ebenso, wie an er­fahrene Ent­
wickler. Und Neuzugänge sind immer willkommen! Denn erst
so ergibt sich die oft sehr produktive Mischung, von der alle
pro­f itieren können.
Leipzig
Köln
Koblenz
Hofheim
(Rhein/Main)
Nürnberg
Saar-Lor-Lux
(Saarbrücken)
Mutterstadt
Pforzheim
Ulm
Zürich
München
Wien
Essen und trinken in gemütlicher Runde gehören dazu. Hauptsache aber ist FileMaker. Mal als zwangloses „Show and Tell“,
mal als der regelmäßige Austausch zu Diskussionsrunde, mal
mit einem Vortrag zu speziellen Teilgebieten. Diese werden vom
– übrigens ehrenamtlich tätigen – Veranstalter, namhaften
Gastreferenten oder einem der Teilnehmer selbst bestritten.
Neben neuen Erkenntnissen zu FileMaker soll sich auch schon
der ein oder andere ­Geschäftskontakt eingestellt ­haben.
Wann und wo?
Alle FileMaker Stammtisch Termine sowie alle uns bekannten
­Änderungen finden Sie in unserer T­ ermin­vorschau im Internet
unter
St. Gallen
Bern
www.filemaker-magazin.de/filemaker-stammtische
Stand: 29.02.2016
4
[email protected]
[email protected]
Wo können Sie sich allmonatlich gratis motivieren,
coachen und begeistern lassen? Oder Ihre Erfahrungen,
Fragestellungen oder Probleme mit anderen FileMaker
Anwendern teilen?
Hamburg
Oldenburg
1. Donnerstag des Monats
Dort gibt es auch Kontaktadressen zu den jeweiligen Veranstaltern, die Sie gern in ihren E-Mail-Verteiler aufnehmen und
regelmäßig zu einem Treffen in Ihrer Nähe einladen werden.
FMM_201601
© 1994 – 2016 K&K Verlag GmbH, Hamburg
Mobile Lösungen
Christian Schmitz
(Jg. 1981) entwickelt seit 11 Jahren Software und
seit 2006 auch FileMaker Plugins. Außerdem Plugins
für Real Studio und allerlei Software für Mac OS X,
Windows, Linux und iOS.
[email protected]
iOS App SDK
Eigene iOS-Apps auf Basis von FileMaker
Anfang Januar hat FileMaker still und heimlich ein neues
Tool auf die Webseite gestellt. Das „iOS App SDK“ ermöglicht es erstmals, eine angepasste FileMaker Go Anwendung unter eigenem Namen zu veröffentlichen.
Mithilfe des SDKs (= Software Development Kit) haben Entwickler nun die Möglichkeit, mit Xcode eine eigene iOS-Anwendung zu kompilieren. Das eigentliche Programm kommt
komplett von FileMaker, aber die Verpackung kann angepasst
werden. Ähnlich einer Runtime betten Sie dabei eine Datenbankdatei als Startdatei in die App ein, die beim Start aufgerufen wird und weitere lokale Datenbanken öffnen oder sich
mit einem FileMaker Server verbinden kann.
Ihre selbstgebaute iOS-App …
n hat einen eigenen Namen und eine eindeutige Bundle-ID.
n hat ein eigenes Programm-Icon.
n hat eigene Grafiken für den Startbildschirm.
n hat eine FileMaker Datenbank als Startpunkt, die zum
FileMaker Server verbindet oder eine lokale Lösung
bereitstellt.
n hat ein eigenes URL-Schema zum Aufruf aus anderen
Anwendungen, zum Beispiel einen Link in einer E-Mail.
n kann direkt auf iPhones oder iPads installiert werden.
n kann über Mobile Device Management in einer Firma
verteilt werden.
n kann eventuell sogar im iOS App Store angeboten w
­ erden.
Das Ganze ist allerdings nicht für jedermann umsetzbar,
denn es gibt Vorraussetzungen: Zum einen benötigen Sie das
iOS App SDK, das Sie bei FileMaker laden können, sowie
Xcode aus dem Mac App Store. Zusätzlich müssen Sie sowohl bei Apple als auch bei FileMaker zahlender Kunde sein
und eine FileMaker Developer Subscription (79 €/Jahr) soFMM_201601 wie eine Apple Developer Subscription (99 €/Jahr) haben.
Weiterhin sind Kenntnisse zur Benutzung von Terminal und
Xcode durchaus hilfreich.
Schritt für Schritt
Wenn Sie über die oben genannten die Mitgliedschaften
verfügen und sich bei Apple im „Member Center“ einloggen
können, gehen Sie dort zu „Certificates, Identifiers & Profiles“. Im Abschnitt „Devices“ können Sie alle Ihre iOS-Geräte
anmelden, die für die Entwicklung infrage kommen.
Xcode installieren Sie über den Mac App Store und geben
Ihre Apple-ID in den Voreinstellungen bei Accounts an. Dort
können Sie auch gleich ein Zertifikat zum Entwickeln anfordern. Alternativ haben Sie die Möglichkeit, diese Zertifikate
auf der Webseite anzulegen, auf der Sie Ihre iOS-Geräte angemeldet haben.
Übrigens ist es hilfreich, zum Entwickeln eine separate AppleID zu benutzen, die Sie nicht für private Zwecke verwenden
– also weder für den Mac App Store noch für iTunes. Diese
Apple-ID benutzen Sie für die Mitgliedschaft im Apple Entwickler Programm und zum Login bei Xcode.
iOS SDK laden und auspacken
Im nächsten Schritt laden Sie das iOS SDK von der FileMaker
Website (siehe Links) herunter – die Datei iOSAppSDK.tbz
ist etwa 44 MB groß – und entpacken es per Doppelklick
mit dem Archivierungsprogramm. Anschließend können
Sie die iOS App SDK EULA.pdf lesen, die zum Beispiel die
Information enthält, dass Sie mit jedem Programm auch die
­Lizenzbedingungen von FileMaker mitliefern müssen.
5
Mobile Lösungen
App-ID
iOS-Projekt anlegen
Da die Bundle- bzw. App-IDs für Programme eindeutig sein
müssen, schreibt man in der Regel eine Domain rückwärts
– zum Beispiel „de.monkeybreadsoftware.myapp“ – und verwendet für jede App eine neue ID. Bei „App Services“ klicken
Sie bitte die Häkchen für „iCloud“ und „Data Protection“
mit „Complete Protection“ an. Das sind Services, die Ihre
FileMaker App braucht.
Öffnen Sie das Programm Terminal auf Ihrem Mac und verwenden Sie dort den Befehl „cd“, um den Ordner zu wechseln.
Geben Sie dazu „cd“ ein und ziehen Sie den iOS SDK Ordner
vom Finder in das Terminal-Fenster. Wenn Sie dann die Eingabetaste drücken, sind Sie im Terminal in dem Ordner. Mit
dem Befehl „pwd“ geben Sie den aktuellen Pfad aus und mit
„ls“ können Sie sich die Liste der Dateien im Ordner ansehen.
Geben Sie den Befehl „makeprojdir“ nach diesem Schema ein:
In den Xcode-Voreinstellungen können Sie bei den Accounts
ein „Provision Profile“ für die App laden. Sollte das nicht
funktionieren, haben Sie die Möglichkeit, auf der Website ein
„Provision Profile“ für die Entwicklung anzulegen und dann
zu laden. Per Doppelklick auf das Profil installieren Sie dieses.
./makeprojdir <NewAppDir> <appName> <bundleIdentifier>.
Hinter „makeprojdir“ kommt der Name des neuen Projektordners, anschließend der Name des Programms und dahinter der „Bundle Identifier“, also die App-ID, die Sie eben
angelegt haben. Sollte ein Teil davon Leerzeichen beinhalten,
übergeben Sie diesen Text mit Anführungszeichen, zum Beispiel „Meine App“.
./makeprojdir MyApp MyApp de.monkeybreadsoftware.myapp
Der neue Ordner enthält nun einige Einträge:
n MyApp.xcodeproj – die Xcode-Projektdatei
n MyApp – der Ordner mit den App-Bestandteilen
n iOSAppSDKResources – die Bestandteile aus dem iOS
SDK von FileMaker
n app.entitlements – die „Entitlements“-Datei, wo einige
der App-Services explizit erlaubt werden
Im „MyApp“-Ordner befinden sich:
n Solution Files – der Ordner mit den FileMaker Datenbanken
n Launch Screen.storyboard – das Storyboard für den
Programmstart – hier kommt später das Startbild hinein
n Info.plist – die Datei mit zentralen Einstellungen für die
iOS-App
n CustomAppMedia.xcassets – der Container, in dem die
ganzen Assets, also Bilder, enthalten sind
n configFile.txt – die Konfigurationsdatei
n Base.lproj – die Main-Storyboard-Datei, die FileMaker
benötigt
Eigene Datenbank
Register App ID.png – Die Apple-Webseite zum Registrieren einer App-ID.
6
Sie haben schon eine fertige FileMaker Datenbank, die gut
unter FileMaker Go funktioniert? Dann können Sie das
Xcode-Projekt öffnen und die Datenbank hineinziehen. Im
Navigationsbereich, der sich im linken Teil des Projektfensters befindet, klicken Sie bei „Custom Application Resources“
auf das kleine Dreieck, um die Unterbereiche zu öffnen. Unter „Solution Files“ finden Sie die Datei Placeholder.fmp12,
die Sie mit Ihrer eigenen Datenbank ersetzen können. Falls
Sie mehrere Datenbanken haben, ist das auch kein Problem
– fügen Sie diese einfach hier ein und folgen Sie den nächsten
Schritten um festzulegen, welche Datei beim Start aufgerufen
werden soll:
FMM_201601
Mobile Lösungen
Öffnen Sie die Datei ConfigFile.txt, die sich oberhalb des Solution-Files-Ordners befindet, indem Sie sie anklicken. Diese
Datei enthält Befehle, die sowohl Mensch als auch Maschine
lesen können: Zeilen, die mit „#“ beginnen, sind Kommentare,
die erklären, worum es geht. Der Eintrag „launchSolu­tion“ in
Zeile 8 gibt an, welche Datenbank beim Start geöffnet wird.
Geben Sie hier den Namen Ihrer Datenbank exakt an und achten Sie auch auf die Groß- und Kleinschreibung. Beim Eintrag
„helpURL“ können Sie einen Link zu einer Hilfe­seite angeben
– fehlt dieser, wird im Menü kein Hilfe-Eintrag angezeigt.
( + B ) drücken, woraufhin der Compiler Ihnen darüber
sowie über fehlende Bilder Auskunft gibt.
Die Konfigurationsdatei, in der Sie die Einstellungen für Ihre FileMaker App
festlegen.
Der Eintrag „alwaysOverwrite“ erlaubt es, die Datenbank bei
jedem Start zu überschreiben. Damit sie überhaupt bearbeitet werden kann, kopiert FileMaker die Datenbankdatei aus
dem App-Ordner in den Dokumenten-Ordner. Nun kann es
für eine Demoversion durchaus nützlich sein, die Datenbank
bei jedem Start überschreiben zu lassen, damit das Programm
alles vergisst, doch für die meisten Anwendungen sollte diese
Option deaktiviert bleiben.
Icons und Bilder
Für das Programm-Icon brauchen Sie einige Bilder. Bestellen
Sie Ihr Icon am besten direkt beim Grafiker als 1024x1024
Pixel großes PNG-Bild mit Transparenz – dann können Sie
alle benötigten Größen durch Verkleinern auf 29, 40, 50, 57,
58, 72, 76, 80, 87, 100, 114, 120, 144, 152, 167 und 180 Pixel erzeugen. Man braucht nicht alle Bilder, da man ja nicht
unbedingt alle iOS-Versionen unterstützt oder nur iPad bzw.
iPhone. Wenn Sie alle Bilder einfügen, kann das so aussehen
wie in der Abbildung rechts.
Die minimalen Anforderungen für ein iPhone sind 120x120
Pixel für 2x Auflösung (Retina) und 180x180 Pixel für 3x
­(Retina beim iPhone 6s). Bei einem iPad werden minimal
76x76 Pixel für 1x und 152x152 Pixel für 2x benötigt. Für den
App Store benötigen Sie noch ein 1024x1024 Pixel großes
Icon.
Um die Bilder einzufügen, öffnen Sie in der Navigationsleiste
des Xcode Projekts den Eintrag „CustomAppMedia.xcasset“
und wählen Sie den „Asset Editor“ aus. Wenn Sie auf den
­ersten Eintrag namens „AppIcon“ klicken, erscheint rechts
der Editor, in den Sie Bild für Bild aus dem Finder via Drag
& Drop hineinziehen. Um herauszufinden, ob Sie die richtigen Bildgrößen haben, können Sie zwischendurch „Befehl-B“
FMM_201601 App Icons – In Xcode fügt man Icons in sämtlichen Größen ein, die jemals irgendwo
gebraucht werden.
Launch Image
Weiter geht es im „CustomAppMedia.xcasset“, wo Sie das
„LaunchImage“ anklicken und dort jeweils ein Bild für 1x,
2x und/oder 3x eintragen können. Dieses Bild wird beim Programmstart gezeigt und eventuell an den Rändern passend
zum Bildschirm beschnitten. Daher empfiehlt sich es sich, ein
quadratisches Bild mit Programmlogo oder Ähnlichem in der
Mitte und viel Rand drumherum zu verwenden.
Alternativ können Sie auch verschiedene Bildgrößen für die
einzelnen Gräte nehmen – vom iPhone 4S (640x960 Pixel
für 2x) bis zum iPhone 6 Plus (2208x1242 Pixel für 3x). Vorzugsweise bleiben Sie bei dem Universal Set von FileMaker
mit drei Bildern, statt das ausführliche mit 20 Bildern zu verwenden.
Security Shield Image
Wenn Ihre Anwendung das „fmreauthenticate“-Recht zum
wiederholten Anmelden benutzt, benötigen Sie noch ein Bild
für den Bildschirm, den man während des Verbindungsaufbaus sieht. Dieses Bild sollte maximal 120 Pixel groß sein.
Einstellungen
Nun müssen noch einige Einstellungen im Projekt durchgeführt werden. Klicken Sie dazu in der Navigationsleiste auf
das Projekt, woraufhin auf der rechten Seite die Einstellungen mit Reitern zu sehen sind. Ganz links sollte das Target
mit Ihrem App-Namen ausgewählt sein. Im Reiter „Gene7
Mobile Lösungen
ral“ können Sie die Versionsnummer festlegen, die dreiteilig
anzugeben ist (z. B. 1.0.1). Falls Sie die App später im App
Store veröffentlichen möchten, müssen Sie dort die Nummer
exakt gleich eintippen, da Apple sonst den Upload verweigert.
Weiter unten definieren Sie, welche Geräte Sie unterstützen –
voreingestellt ist Universal, was iPhones und iPads beinhaltet.
Im zweiten Reiter namens „Capabilities“ geben Sie an, was
das Programm kann. Aktivieren Sie „Data Protection“, sodass
FileMaker die Datenbank verschlüsselt ablegen kann.
Wenn Sie ein URL-Schema definieren möchten, können Sie
das im Reiter „Info“ tun. Klappen Sie den Bereich „URL Types“ auf und fügen Sie mit „+“ ein Schema hinzu. Den „Identifier“ denken Sie sich aus, es empfiehlt sich aber wieder die
reverse Domain-Benennung, zum Beispiel „de.monkeybreadsoftware.myapp.url“. Weiterhin benötigen Sie einen Namen
für die URL, der nicht „fmp“ sein darf. Wählen Sie beispielsweise „myapp“ als Namen, beginnen die URLs später mit
„myapp:“.
FMM im Simulator – Die Website des FileMaker Magazin im iOS-Simulator
Auf das iPhone
Um die App auf das iPhone zu bekommen, muss zunächst
ganz oben in der Toolbar das iPhone als aktives Ziel ausgewählt werden.
General Settings – Die allgemeinen Einstellungen zur iOS App in Xcode für Ver­
sion, minimale iOS-Version, Geräteauswahl und diverse andere Optionen.
Starten
Wenn Sie alles richtig eingestellt haben, lässt sich das Programm nun erstellen. Starten Sie den Vorgang entweder mit
der Tastenkombination
+ B oder mit dem Menübefehl
Product ➝ Build.
Da sich Xcode bei mir die Provision-Profile leider nicht
selbst geladen hat, musste ich nachhelfen: Dafür bin ich auf
der Apple-Website „Certificates, Identifiers & Profiles“ auf
„App ID Development“ gegangen, habe den „+“-Knopf angeklickt und „iOS App Development“ ausgewählt. Im nächsten Schritt fragt der Assistent nach der App-ID, woraufhin
ich meine App aus der Liste ausgewählt habe. Anschließend
habe ich mein Zertifikat angegeben, bei den Geräten oben das
Häkchen für „Select All“ angeklickt und dem neuen Profil einen Namen gegeben. Das war schon fast alles – danach musste
ich das Profil nur noch generieren, herunterladen und mit einem Doppelklick installieren. Viel passiert dabei nicht, außer
dass es im Ordner „~/Library/MobileDevice/Provisioning
Profiles“ eine neue Datei gibt.
Mit
+ R bzw. dem Menübefehl Product ➝ Run starten
Sie das Programm im Simulator – dort können Sie Ihre Anwendung testen, den Bildschirm rotieren lassen, den HomeButton drücken und vieles mehr.
iOS Simulator
Der iOS Simulator ist ein nützliches kleines Programm, das auch ohne
Xcode läuft. Er liegt im Ordner /Applications/Xcode.app/Contents/
Developer/Applications/, aber man kann sich ein Alias an einer günsti­
geren Stelle anlegen.
Wenn man den Simulator startet, kann man dort auch einige AppleAnwendungen benutzen. Die App Karten funktioniert durchaus und die
News-App gibt es sonst nicht in Deutschland. Für alle Web-Designer ist
es außerdem interessant, die eigenen Webseiten mit den Bildschirmauflösungen der verschiedenen iOS-Geräte in Safari anzuschauen.
8
Auswahl iPhone – Über das Target-Menü lässt sich auswählen, wo genau das
Programm laufen soll – auf einem Gerät oder im Simulator.
FMM_201601
Mobile Lösungen
Mit
+ R bzw. dem Menübefehl Product ➝ Run startet
das Programm auf dem iPhone. Wenn der Simulator aufgeht,
schauen Sie bitte noch einmal, ob das Gerät im Popup-Menü
oben ausgewählt ist. Wenn man dort anstelle des Geräts einen
der Simulatoren auswählt, startet das Programm im Simulator.
Installation
Möchte man das Programm auf einem anderen iPhone oder
iPad installieren, benötigt man die Gerätenummer (UDID).
Die findet man zum Beispiel in iTunes, wenn man in der
Übersicht des entsprechenden iPhones auf die Seriennummer
klickt – mit einem Rechtsklick kann man sie auch direkt kopieren. Mithilfe dieser UDID kann man das Gerät auf der
Apple Website zum „Provision Profile“ hinzufügen, das neue
Profil herunterladen und installieren. Anschließend erzeugt
man eine neue App, die jetzt auch auf einem anderen iOSGerät laufen darf.
Zum Installieren kann iTunes oder Xcode verwendet werden.
Bei Xcode ist das iPhone mit den installierten Programmen
im Fenster „Organizer“ zu sehen und das neue Programm
kann über den „+“-Knopf hinzugefügt werden. Wenn alles
passt, startet das Programm auf dem iPhone durch Antippen.
Updates
Nun stellt sich noch die Frage, wie man Programm und Datenbank aktualisiert. Dafür gibt es mehrere Szenerien: Hat
man lokal nur eine Datenbank, die direkt zu einem Server
weiterleitet, dann sind die lokalen Daten kein Problem und es
macht überhaupt nichts, wenn die lokale Datenbank bei einer
neuen App-Version überschrieben wird.
Erstellt man eine neue Version der App (mit neuer Versionsnummer) und verteilt diese, dann ergeben sich für die lokale
Datenbank im Dokumenten-Ordner mehrere Varianten. Hat
die neue Datenbank in der App den gleichen Namen wie die
alte, wird sie normalerweise nicht übertragen und die alte Version bleibt auf dem Gerät. Eine Datenbank mit neuem Namen
MyFile.01.fmp12 wird dagegen übertragen.
Es ist also hilfreich, sich Gedanken über Updates zu machen.
Vielleicht könnten Sie dafür sorgen, dass die Datenbank
schaut, ob eine ältere Version vorhanden ist, und die Daten
dann in diese Version übertragen werden. Oder Sie legen
Daten und Scripts in verschiedenen Datenbanken ab. Daran
merkt man schon, dass das iOS-SDK wohl für Datenbanken
auf einem FileMaker Server geschrieben ist. In diesem Fall
muss die lokale Datenbank nur die Auswahl des Servers speichern und die Verbindung anstoßen.
iOS App Store
die Entwickler nicht viel ändern – sie können nur die Layouts
und Scripts variieren, falls jemand aus dem Review Team eine
Taste bemängelt.
Eventuell meckert Apple, wenn die App nicht den Richtli­nien entspricht. Zum Beispiel fordert die App standard­
mäßig durch einen Eintrag in der info.plist das Recht, Musik
im Hintergrund abzuspielen. Wenn man in der App aber keine Musik abspielen kann, ist das Recht nicht notwendig und
sollte entfernt werden.
Bis Redaktionsschluss haben es einige Programme erfolgreich
durch den Review-Prozess und in den App Store geschafft.
Zu bedenken bleibt auch, dass es eventuell schlecht wäre,
wenn die App direkt zu einem FileMaker Server verbindet
und mal eben 10.000 Leute das Programm ausprobieren. So
viele Lizenzen für gleichzeitige Verbindungen haben Sie vermutlich nicht.
Die Datenbank extrahieren
Noch ein Hinweis: Jeder kann sich die App laden und die ipaDatei auspacken. Es handelt sich dabei nur um ein ZIP-Archiv
mit anderer Endung, sodass Benutzer Zugang zur Datenbankdatei bekommen und diese einfach in FileMaker Pro öffnen
können. Es empfiehlt sich also möglicherweise, im Startscript
zu überprüfen, ob die Plattform iOS ist und ob die App richtig heißt. Dazu kann man zum Beispiel „Get(FileMakerPath)“
verwenden und schauen, ob der Name der App im Pfad vorkommt. Falls jemand die Datenbank mit FileMaker Pro öffnet, kann sich Ihre Lösung selbst beenden.
Ausblick
Mit dem neuen iOS SDK hat FileMaker einen interessanten
Weg gezeigt, um einen Mehrwert für die Plattform zu bieten.
Endlich können FileMaker Entwickler ihre iOS-Lösung unter eigenem Namen anbieten, ohne dass die Kunden zunächst
FileMaker Go installieren müssen.
Gespannt bin ich auf weitere Neuerungen. Besonders interessant fände ich die Möglichkeit, Bibliotheken einzubinden.
So wäre ein MBS Plugin für iOS doch bestimmt wünschenswert. Mal sehen, was sich hier im Laufe des Jahres noch tut!
Links
iOS App SDK Ankündigung
https://community.filemaker.com/docs/DOC-6727
iOS App Download Seite
https://community.filemaker.com/docs/DOC-6672
iOS App SDK Instructions
http://help.filemaker.com/app/answers/detail/a_id/15531
Technisch dürfte es möglich sein, eine iOS-SDK-Anwendung
im App Store zu veröffentlichen. Aktuell gibt es mehrere
Entwickler, die das probieren und wir sind gespannt, was das
Apple Review Team dazu sagt. Am Programm selbst können
FMM_201601 9
Plugins und Tools im Vertrieb des K&K Verlags
1 Lizenz
myFMbutler
79, 00 1)
Clip Manager Express 1.1, e
11…14 Adv –/W €
70, 21
48, 00 1)
Clip Manager 5, e
10…14 Adv M/– €
70, 21
37, 00 1)
myFMbutler AutoSender 3.2, e
11…13 Server M/W € 296, 31
39, 00 1)
DoSQL 2.0, e
11…14
M/W €
34, 51
39, 00 1) NEU myFMbutler PrinterSwitch 3.0, e
9…14
M/W €
70, 21
48, 00 1)
New Millennium Communications
1 Lizenz
58, 00 1)
DialogMagic 9.0, e
7…9
M/W $
99, 95 1)
48, 00 1)
FMrobot 2.2 (Win)/1.7 (Mac), e
7…11 Dev/Adv M/W $ 199, 95 1)
37, 00 1)
MediaManager 14.0, e
9…13
M/W $ 129, 95 1)
58, 00 1)
Metadata Magic 2.0, e (für 10 Dateien)
5/6
M/W $ 199, 95 1)
48, 00 1)
SecureFM 13.0, e mit MenuMagic
7…13
M/W $ 159, 95 1)
48, 00 1)
Productive Computing
1 Lizenz
1 Lizenz
AddressBook Manipulator 4.0, e
8…14
M/– $
74, 95 1)
12, 13
M/W $ 495, 00 1)
Change Printer 4.0, e
8…14
M/W $
74, 95 1)
10 user/Firma
Exchange Manipulator 4.0, e
8…14
–/W $ 1.599, 95 1)
7…14
M/W $
95, 00 1)
File Manipulator 3.0, e
8…14
M/W $
59, 95 1)
7…14
M/W $
95, 00 1)
FM CreditCard 1.0, e.
8…13
M/W $ 149, 95 1)
7…14
M/W $
95, 00 1)
iCal-Manipulator 1.0
8…13
M/–
59, 95 1)
7…14
M/W $ 395, 00 1)
Outlook Manipulator 7.0, e (Preis pro Jahr)
8…14
–/W $ 120,00 1)
7…14
M/W $
95, 00 1)
Outlook Manipulator for Mac 1.0, e
8…14
M/– $
99, 95 1)
7…14
M/W $ 195, 00 1)
PDF Manipulator 3.0, e
8…14
M/W $
74, 95 1)
7…14
M/W $
95, 00 1)
qutic development
1 Lizenz
7…14
M/W $ 195, 00 1)
FM-iCal-Connector 4.0
8.5…14 (32)
M/– €
89, 00
7…14
M/W $
95, 00 1)
Scodigo
1 Lizenz
1 Lizenz
Scodigo SmartPill Edition 3.0, e
12, 13
M/W $
89, 00 1)
7…13
M/W $
85, 00 1)
Troi Automatisering
1 Lizenz
7…14 (32/64)
M/W $
85, 00 1)
Troi Activator 3.6, e
12…14
M/W $
89, 00 1)
7…14 (32)
M/W $
65, 00 1)
Troi Dialog 6.1, e
12…14
M/W $
59, 00 1)
7…14 (32)
M/W $
65, 00 1)
Troi Encryptor 3.0, e
12…14
M/W $
79, 00 1)
7…14 (32)
M/W $
65, 00 1)
Troi File 8.0, e
12…14
M/W $
99, 00 1)
7…14 (32)
M/W $
35, 00 1)
Troi Grabber 2.3, e Developer License
10…12 Adv M/W $ 999, 00 1)
7…14 (32/64)
M/W $
35, 00 1)
Troi Serial 4.0, e Developer Lic. Mac+Win
12…14
M/W $ 999, 00 1)
7…14 (32)
M/W $
35, 00 1)
Troi Text 3.5, e
12…14
M/W $
49, 00 1)
7…14 (32/64)
M/W $
65, 00 1)
Troi URL 4.1, e
12…14
M/W $
79, 00 1)
7…14 (32/64)
M/W $
65, 00 1)
WorqSmart früher: Waves in Motion
1 Lizenz
1 Lizenz
eAuthorize 5.2, e
7…13
M/W $ 250, 00 1)
7…14 Adv M/W € 185, 00
Events 4.5, e
7…12
M/W $
89, 00 1)
7…14 Adv M/W € 459, 00
Bitte prüfen Sie vor dem Kauf, ob das gewünschte Plugin mit Ihrer FileMaker Version und Ihrem Rechner­
7…14 Adv M/W € 1.099, 00
betriebssystem kompatibel ist! Alle Angaben dieser Übersicht (auch zur Kompatibilität) geben wir ohne Gewähr!
1 Lizenz
Alle Preise gelten bei Lieferung via E-Mail.
11, 12
M/W $
59, 00 1)
7…12
M/W $
59, 00 1)
Hinweise und Zeichenerklärungen:
7…12
M/W $
59, 00 1)
1) = Verkaufspreis in € ergibt sich wie folgt: Preis in Dollar lt. Tageskurs in € zzgl. 19% MwSt.
10…14
M/W $
69, 00 1)
M/W = für Mac und Win verfügbar
8…12
M/W $
59, 00 1)
e
=englisch
dt
=deutsch
10…12
M/W $
39, 00 1)
Adv
= FileMaker Pro Advanced ist erforderlich
1 Lizenz
NEU = Neue Version
7…13
–/W € 399, 00
NEU = Neu im Vertrieb
1 Lizenz
M/* = für Mac; für Win in Vorbereitung
–/W = nur für Win
7…14
–/W €
39, 00
M/– = nur für Mac
7…14
–/W €
49, 00
7… = kompatibel mit FileMaker 7 bis …
7…14
–/W €
59, 00
14
= kompatibel mit FileMaker 14
(32/64) = für FileMaker 14 in 32 und 64-Bit-Version verfügbar
7…14
–/W €
49, 00
7…14
–/W €
49, 00
Upgrades
7…14
–/W €
39, 00
Bitte sprechen Sie uns an, wenn Sie Ihre vorhandenen Plugins und Tools auf die aktuelle Version upgraden
7…14
–/W €
39, 00
wollen: Wir nennen Ihnen gerne die Preise und sagen Ihnen, wie Sie an die Produkte gelangen!
7…14
–/W €
39, 00
Weitere Lizenzarten
7…14
–/W €
79, 00
Preise für Entwickler-, Firmen- und Weltweit-Lizenzen nennen wir gerne auf Anfrage.
Demoversionen finden Sie in unserem Downloadbereich: www.filemaker-magazin.de
7…14
–/W €
49, 00
1 Lizenz
K&K Verlag GmbH · Große Brunnenstraße 43 · 22763 Hamburg · Telefon +49 40 589 65 79 70
Telefax +49 40 589 65 79 77 · E-Mail: vertrieb@filemaker-magazin.de · www.filemaker-magazin.de
7…14
M/W $ 399, 00 1)
7…14
M/W $ 399, 00 1)
8…12
M/W $
8…11 Adv M/W $
7…12
M/W $
10…12
M/W $
8.5…12
M/W $
7…12
M/W $
8.5…10
M/W $
7…12
M/W $
7…12
M/W $
7…12
M/W $
8.5…12
M/W $
7…12
M/W $
7…14
M/W €
117, 00
Wichtig: Bitte testen Sie immer die Kompatibilität und alle gewünschten Funktionen eines Plugins oder Tools vor dem Kauf, indem Sie die Demoversion laden und installieren!
10
FMM_201601
Stand: 25.02.2016
24U Software
24U Phidgets 1.0, e
24U SimpleChart 1.2, e
24U SimpleCode 2.1, e
24U SimpleDialog 4.1, e
24U SimpleFile 2.0, e
24U SimpleHASP 1.1, e
24U SimpleHelp 4.0, e
24U SimpleHighlight 2.0, e
24U SimpleSound 3.0, e
24U SimpleTalk 1.1, e
24U Toolbox 1.2, e
24U VirtualUser 1.0, e
Beezwax
Inspector 5.5, e (Single User Lizenz)
360Works
Charts 1.7, e
Email 2.1, e
FTPeek 1.6, e
JDBC 1.8, e
Plastic 2.3, e
RemoteScripter 1.8, e
Scribe 2.1, e
SuperContainer 2.9, e (Workgroup, bis 10 User)
WebAssistent 1.6, e
CNS
CNS Audit 1.5, e
CNS Barcode 1.5, e
CNS Image 1.6, e
CNS Menu 1.1, e (Nachfolger von SCRIPTit)
FTPit Pro 2.0, e
MMColor 1.6, e
MMQuery 1.2, e
MMScript 1.1, e
POP3it Pro 4.5, e
SMTPit Pro 4.6, e
Cross Solution
CrossCheck 6.0 lite (max. 3 files/20 Tabellen)
CrossCheck 6.0 unlimited (unbegrenzt)
CrossCheck 6.0 Master (inkl. Masterzugriff)
Dacons
ChartFire, e
FileFire Advanced 1.0, e
Toolbar 1.0, e
Mailit 6.0, e
MenuControl 5, e
ScriptFire, e
gbpro
OlePropertyCreator 2.9, dt, Dev. (bis 30 User)
HEMCOM Software
HC-Calendar 1.7, dt
HC-Dialog 3.8, dt
HC-Fax 2.6, dt
HC-File 3.1, dt
HC-FTP 1.7, dt
HC-Printer 2.3, dt
HC-RegInfo 2.1, dt
HC-Script 1.6, dt
HC-SFTP 2.0, dt
HC-ZIP 3.4, dt
Huslik
FMDiff 4.0, e (d)
FMVis 2.0, e (d)
Monkeybread Software
NEU MBS FileMaker 6.0, e (5 User)
© 1994 – 2016 K&K Verlag GmbH, Hamburg
Gewusst wie
Klaus Kegebein
(Jg. 1962) war 1994 Mitbegründer des FileMaker
­Magazins und ist heute von Lübeck aus als selbst­
ständiger FileMaker Entwickler tätig.
Weblink
[email protected]
Freies Sortieren
Durch Anklicken eine Reihenfolge festlegen
Datensätze lassen sich in FileMaker schnell und einfach
sortieren – nach Alter, Rechnungsbetrag, Postleitzahl
usw. Aber vielleicht brauchen Sie ab und zu eine Sortierung, die nicht vom Inhalt eines bestimmten Feldes abhängt:
n Sie wollen Ihre Todo-Liste nach der aktuellen Priorität
sortieren.
n Sie sind Handelsvertreter und wollen festlegen, in
­welcher Reihenfolge Sie Ihre Kunden besuchen.
n Sie wollen festlegen, in welcher Reihenfolge Sie die
­Punkte beim Eurovision Song Contest vergeben.
n Sie haben Stichworte für Ihren Vortrag auf der FileMaker
Entwickler Konferenz gesammelt und wollen sie jetzt
sinnvoll sortieren.
Mir gefällt die Methode, mit der im Layoutmodus die „Tabulatorfolge“ eingestellt wird: Die Felder eines Layouts werden
einfach in der gewünschten Reihenfolge angeklickt. Auf ähnliche Weise soll die Datensatz-Abfolge erstelle werden.
Brainstorming: Was muss ich morgens alles machen?
In all diesen Fällen können Sie sich behelfen, indem Sie ein
zusätzliches Zahlenfeld anlegen, das Sie nach Bedarf mit einem niedrigeren oder höheren Wert füllen und anschließend
danach sortieren.
Dieses Feld von Hand zu füllen, kann aber ziemlich mühsam
sein. Ich zeige Ihnen, wie Sie sich und Ihren Anwendern die
Arbeit erleichtern können.
Vorbild: Die Tabulatorfolge
Per Mausklick kann die Reihenfolge festgelegt werden.
Man nehme …
n Ein Zahlenfeld namens SortNr, in das der Anwender
per Mausklick eine fortlaufende Nummer eingeben
kann. Dieses Feld dient allerdings nur dem Festlegen der
Reihenfolge, nicht der eigentlichen Sortierung.
n Ein weiteres Zahlenfeld, das im Layout normalerweise
nicht enthalten ist, weil es nur vom Script benötigt wird
und deshalb den sprechenden Namen SortNr_unsichtb
­­­
­
FMM_201601 11
Gewusst wie
trägt. In den folgenden Screenshots (und in der
Beispieldatei, die Sie zu diesem Beitrag bekommen­
­können) wird es nur zur Verdeutlichung abgebildet.
n Ein Auswertungsfeld namens Anz_SortNr, das angibt,
wie viele Datensätze bereits eine SortNr erhalten haben.
n Ein weiteres Auswertungsfeld, das max_SortNr heißt
und die höchste bereits vergebene Nummer liefert.
Das Script „SortNr vergeben“
Ich habe das Feld SortNr zur Taste gemacht und ein Script
darauf gelegt, das recht übersichtlich ist. Weil sich ohnehin
alles in der gleichen Tabelle abspielt, verzichte ich bei allen
Feldnamen und in allen Formeln auf den Namen der Tabelle
bzw. des Tabellenauftretens.
SortNr vergeben
1 Wenn
Ich brauche also für die Sortierung ein weiteres Feld – das bereits angekündigte SortNr_unsichtb.
Fall A
Alle Datensätze sind nummeriert.
Das ist der einfachste Fall. Hier wird einfach der Inhalt von
SortNr in SortNr_unsichtb übertragen, wofür ich die Funktion „Ersetze alle Feldwerte“ benutze.
Formel: SortNr > 0
2 Feldwert setzen
Feld:SortNr
Formel:""
3 Sonst
4 Feldwert setzen
Feld:SortNr
Formel: max_SortNr + 1
5 Ende (wenn)
Im Klartext: Wenn der angeklickte Datensatz bereits eine
SortNr hat (also wenn das Feld ein zweites Mal angeklickt
wird), soll die SortNr wieder gelöscht werden; anderenfalls
wird die nächsthöhere Nummer eingetragen.

So weit ist alles klar, denke ich.
War’s das schon?
Nun könnten die Datensätze nach der SortNr sortiert werden
– allerdings würde das voraussetzen, dass alle Datensätze angeklickt sind, denn Einträge ohne SortNr werden bei dieser
Sortierung vor den nummerierten Datensätzen erscheinen.
Das ist vielleicht gar nicht gewollt.
Es gibt vier Möglichkeiten:
A Alle Datensätze sind nummeriert.
Das ist der Fall, wenn
Anz_SortNr = Hole( AnzahlGefundeneDatensätze )
Fall B
Die unnummerierten Datensätze sollen vorn erscheinen.
Auf den ersten Blick scheint dieses Szenario ebenso einfach zu
sein wie das erste: Weil Datensätze mit leerer SortNr bei aufsteigender Sortierfolge vor 1 erscheinen, könnte ich eigentlich
genauso verfahren wie im Fall A.
C Die unnummerierten Datensätze sollen nach den nummerierten erscheinen.
Aber das geht nicht, denn Felder mit gleichem Eintrag im
Sortierfeld werden in der Reihenfolge angeordnet, in der
sie angelegt wurden – und diese Reihenfolge kann von der
Ausgangssituation abweichen! Die ursprüngliche Reihenfolge bleibt nur dann garantiert erhalten, wenn die Datensätze
ohne SortNr vor der Weiterverarbeitung eine fortlaufende
Zahl zugewiesen bekommen, die kleiner 1 ist.
D Die unnummerierten Datensätze sollen ihre Position beibehalten: Die Datensätze, die sich vor der ersten SortNr
befinden, sollen vorn bleiben, die anderen sollen nach der
zuletzt vergebenen SortNr stehen.
Ich beginne bei -9.999 und erhöhe bei jedem Datensatz ohne
SortNr um 1, sonst übernehme ich den Wert von SortNr.
Auch hier kann mit der Ersetzen-Funktion gearbeitet werden.
Trifft das nicht zu, muss der Anwender entscheiden:
B Die unnummerierten Datensätze sollen vor den nummerierten erscheinen.
12
FMM_201601
Gewusst wie
Damit die Sortierung funktioniert, muss der erste Datensatz in
der Spalte SortNr_unsichtb (siehe folgendes Bild) eine Zahl
kleiner 1 zugewiesen bekommen, die letzten beiden Nummern müssen größer 2 sein.


Fall C
Die unnummerierten Datensätze sollen hinten erscheinen.
Dieser Fall ähnelt dem Fall B, mit dem Unterschied, dass
die „leeren“ Datensätze nicht mit einer Nummer ab – 9.999
gefüllt werden, sondern fortlaufend ab der letzten manuell
vergebenen Nummer – die dank des Feldes max_SortNr bekannt ist. Damit wird die Nummer zwar nicht lückenlos vergeben, aber sie ist eindeutig. Was will man mehr?

Auch bei Fall B und C kommt die „Ersetzen“-Funktion zum Einsatz.
Fall D
Die unnummerierten Datensätze sollen ihre Position beibehalten.
Ein typisches Beispiel wäre, dass die Positionen von zwei
Datensätzen getauscht werden sollen. Hier helfe ich dem
Anwender, indem er nur die Datensätze markieren muss, die
an dem P
­ ositionstausch beteiligt sind.
FMM_201601 Der erste Datensatz in der Spalte SortNr_unsichtb muss eine Nummer kleiner 1
bekommen, die letzten beiden Nummern müssen größer 2.
So weit so gut, aber wie soll das Script sortieren, wenn es wie
im folgenden Beispiel Lücken gibt?
Auch Menschen, die ausschließlich Tiefkühlschrank und
Mikrowelle für ihre Ernährung benötigen, wissen, dass es ratsam ist, zuerst das Öl in der Pfanne zu erhitzen und dann den
Fisch anzubraten. Logisch, dass die Reihenfolge dieser beiden
Arbeitsschritte getauscht werden muss. Aber soll der Fisch vor
oder nach dem Braten gewürzt werden?
Um den Anwender nicht mit noch mehr Fragen (oder Fehlerhinweisen) zu belästigen, habe ich in dem Script Folgendes
festgelegt: Unnummerierte Datensätze, die sich vor dem ersten nummerierten Datensatz befinden, bekommen negative
Nummern, alle folgenden werden ab der höchsten vergebenen
SortNr weitergezählt.
Dieser Fall lässt sich leider nicht mit der Ersetzen-Funktion
erledigen; die SortNr_unsichtb muss in einer Schleife für
­jeden Datensatz einzeln errechnet werden.
Und so sieht das Script aus:
13
Gewusst wie
Sortierung festlegen
1 Wenn
Formel: Anz_SortNr = Hole( AnzahlGefundeneDatensätze )
2 # ALLE Datens. haben eine SortNr
3 Sortieren
Sortierfolge:SortNr
Option: Ohne Dialogfeld
4 Sonst
unsichtb eingetragen werden soll, wenn das manuell gesetzte
Feld SortNr nicht gefüllt ist. Diese Nummer, die zu Beginn
bei -9.999 steht, wird vom ersten Datensatz an hochgezählt,
bis das Script zur ersten gefüllten SortNr gelangt. Dann macht
der Zähler einen großen Sprung und zählt ab der höchsten
manuell vergebenen SortNr weiter.
–
5 Wenn
Formel: Hole( LetzteMeldungswahl ) = 3
6 # unnummerierte VORNE anfügen
7 Ersetze alle Feldwerte
Feld:SortNr_unsichtb
Option: Ohne Dialogfeld
Formel:Falls(
IstLeer( SortNr ) ;
-9999 + Hole( DatensatzPositionInErgebnismenge ) ;
SortNr
)
8 Sonst, wenn
Formel: Hole( LetzteMeldungswahl ) = 2
9 # unnummerierte HINTEN anfügen
Wenn Sie diese Technik verwenden, um Daten in einem Ausschnitt zu bearbeiten, brauchen Sie sich um den eigentlichen
Sortiervorgang (nach dem Feld SortNr_unsichtb) nicht zu
kümmern, denn Sie können die Sortierung in den Ausschnitt­
einstellungen festlegen. Wenn Sie aber in einer Listenansicht
arbeiten, müssen Sie beachten, dass die Datensätze auch einmal unsortiert vorliegen können. Sie sollten dann dafür sorgen, dass die Sortierung notfalls automatisch hergestellt wird,
zum Beispiel durch einen Script-Trigger beim Öffnen des Layouts.
♦
10 Ersetze alle Feldwerte
Feld:SortNr_unsichtb
Option: Ohne Dialogfeld
Formel:Falls(
IstLeer( SortNr ) ;
max_SortNr +
Hole( DatensatzPositionInErgebnismenge ) ;
SortNr
)
11 Sonst
12 # unnummerierte nicht ändern
13 Gehe zu Datensatz
Option:Erster
Anzeige
14 Variable setzen
Name:$n
Wert:-9999
15 Schleife (Anfang)
16 Wenn
Formel: SortNr > 0
17 Variable setzen
Name:$n
Wert:max_SortNr
18 Ende (wenn)
19 Feldwert setzen
Feld:SortNr_unsichtb
Formel: Falls( SortNr > 0 ; SortNr ; $n + 1 )
20 Variabel setzen
Name:$n
Formel: $n + SortNr + 1
21 Gehe zu Datensatz
Option:Nächster
Option: Nach letztem beenden
22 Schleife (Ende)
23 Ende (wenn)
24 Ende (wenn)
25 Sortieren
Kriterien:SortNr_unsichtb
Option: ohne Dialogfeld
26 Ersetze alle Feldwerte
Feld:SortNr_unsichtb
Option: Ohne Dialogfeld
Formel:""
Eine kurze Erklärung zur Lösung des Falles D (nach „Sonst“):
Die Variable $n enthält den Wert, der im Hilfsfeld SortNr_
14
FMM_201601
Weblink
ab FileMaker 13
Dipl.-Ing.
© 1994 – 2016 K&K Verlag GmbH, Hamburg
Gewusst wie
Arnold Kegebein
(Jg. 1964) studierte Technische Informatik. Er war
über sechs Jahre als IT-Leiter in den USA tätig. Nach
Deutschland zurückgekehrt arbeitet er als selbst­
ständiger Entwickler für FileMaker Lösungen und
andere Anwendungen.
[email protected]
Tasten bedingt deaktivieren
Eine in FileMaker vermisste Funktionen nachbilden
In meinem Beitrag geht es wieder einmal um eine „vermisste“ Funktion in FileMaker. Diesmal handelt es sich
darum, ein Objekt bedingt zu deaktivieren. Ich werde
Ihnen zeigen, wie diese Funktion mit FileMaker Mitteln
nachgestellt werden kann – ebenso wie ein paar andere
Dinge, die sich im Zusammenhang mit der Lösungssuche
ergeben haben. Nebenbei ist dieser Beitrag ein Beispiel
dafür, dass man manchmal mehrere Ansätze abarbeiten
muss, um zu einer funktionierenden, optimierten Lösung
zu gelangen.
Einige der neueren Features in FileMaker nutze ich gern und
häufig, zum Beispiel Popover-Elemente und das bedingte Ausblenden von Layoutobjekten. Aber wie so oft wächst auch hier
mit der Anwendung der neuen Möglichkeiten die Begehrlichkeit nach mehr. Seit einiger Zeit vermisse ich schmerzlich ein
Feature, das mir ein bedingtes Deaktivieren von Objekten erlaubt, vor allem bei Tasten.
Feature-Wunsch
Eigentlich ist mein Wunsch ganz einfach: Ich hätte gern
eine Funktion, mit der eine Taste deaktiviert wird, wenn bestimmte Felder nicht ausgefüllt sind. Damit soll sichergestellt
werden, dass erforderliche Daten vom Anwender eingetragen
werden, bevor der Datensatz gespeichert oder die Verarbeitung fortgesetzt wird.
Ich könnte natürlich die Taste zum Speichern oder Fortfahren in meinem selbstdefinierten Dialog bedingt ausblenden.
Dann wäre im Dialog aber nur eine Taste „Abbrechen“ sichtbar, was weder besonders schön ist noch dem Standard guter
Benutzeroberflächen entspricht, wie er sich in modernen Programmen und im Web etabliert hat.
FMM_201601 Stattdessen soll die Taste „Speichern“ sichtbar, aber ausgegraut
sein. Dadurch wird dem Anwender erkennbar gemacht, dass
die Funktion „Weiter“ noch nicht verfügbar ist, weil nicht alle
erforderlichen Daten eingegeben wurden.
Wünschenswert wäre dieses Feature auch bei Tastenleisten
(ButtonBars). Im Moment sind die inaktiven Tasten unsichtbar, während die anderen Tasten breiter dargestellt werden.
Auch hier fände ich das „Ausgrauen“ inaktiver Tasten besser,
da ihre Sichtbarkeit eine Hilfestellung für den Anwender sein
kann.
Leider existiert das Feature „Bedingtes Deaktivieren“ (noch)
nicht in FileMaker, doch Sie können sich mit Hausmitteln
eine eigene Lösung bauen.
15
Gewusst wie
Bastelanleitung
Ich möchte einen Login-Dialog erstellen, bei dem die Taste
„Weiter“ deaktiviert ist, solange das Feld Login keinen Wert
enthält.
Ich benötigte dazu:
n zwei Felder (Login und Passwort)
n zwei Tasten mit der Beschriftung „Abbrechen“
­­und ­„Weiter“
n eine Kopie der Taste „Weiter“, so formatiert,
dass sie deaktiviert aussieht
Die normale „Weiter“-Taste erhält bei der Option für das bedingte Ausblenden eine zutreffende Formel, zum Beispiel:
IstLeer( System::Login )
Bei der „deaktivierten“ Taste entferne ich alle Tastenfunktionen, sodass beim Anklicken keine Funktion ausgeführt
wird. Die Formatierung dieser Taste halte ich bewusst in hellen Grautönen, damit sie dem Anwender „funktionslos“1 erscheint.
Beide Tasten werden im Layout übereinander gelegt, sodass
die normale Taste die deaktivierte Taste überdeckt. Anschließend werden die beiden Felder und die Taste „Abbrechen“ an
geeigneten Stellen im Layout untergebracht (siehe Abb.).
Unvollkommen
Das Ergebnis kann sich schon mal sehen lassen, allerdings
stört mich noch ein Punkt: Die Taste „Weiter“ wird erst dann
ein- bzw. ausgeblendet, wenn die Änderung im Feld Login gespeichert wird. Das geschieht gewöhnlich erst beim Verlassen
des Feldes.
In meiner Wunschlösung ist die Taste „Weiter“ aktiv, sobald
das erste Zeichen in das Feld eingetippt wurde.
Getriggert
Ich habe mir also erneuet Gedanken gemacht und bin auf
folgende Idee gekommen: Da die Bedingung für das Ausblenden erst beim Speichern des Feldwertes neu berechnet wird,
muss die Taste „Weiter“ nach jeder Eingabe aktualisiert werden. Dazu gibt es seit FileMaker 13 den Script-Befehl „Objekt
aktualisieren“. Dieser Befehl erwartet einen Objektnamen
als Parameter, sodass ich meiner „Weiter“-Taste den Namen
„Taste­Weiter“ zugewiesen habe.
16
Da ich meine Scripts gerne wiederverwendbar programmiere,
habe ich ein einfaches Script namens „Objekt aktualisieren(
Objektname )“ erstellt, das als Scriptparameter den Objekt­
namen des Objekt erwartet, das aktualisiert werden soll.
Anschließend lege ich den Script-Trigger „BeiObjektÄndern“
auf das Login-Feld, und weise ihm das neue Script mit dem
Parameter „TasteWeiter“ zu. Beim Ausprobieren erwartet
mich eine Überraschung: Meine Taste wird weiterhin erst nach
dem Verlassen des Feldes ein- bzw. ausgeblendet. Die Überprüfung mit dem Script Debugger ergibt jedoch, dass das Script
nach jedem Tastendruck ausgeführt wird.
Da der Objektname korrekt angegeben wurde, vermute ich,
dass das Problem in der Formel für das bedingte Ausblenden
liegt. Vielleicht wird der neue Feldwert dort nicht erkannt?
Schließlich bin ich mitten in der Eingabe und der neue Wert
wurde noch nicht gespeichert.
Ungespeichert
Nachdem sich diese Vermutung bestätigt hat, habe ich die
Formel für das bedingte Ausblenden etwas geändert:
Wenn( Hole( AktivesFeldName ) = "LOGIN";
Hole( AktivesFeldInhalt );
// Sonst
SYSTEM::LOGIN
) = ""
Die Formel prüft nun, ob das Feld Login gerade bearbeitet
wird. Trifft das zu, verwendet es den Inhalt des aktuellen
Feldes, also den ungespeicherten Login-Wert, ansonsten den
Wert von Login.
Erwartungsvoll teste ich meine neue Lösung: Sie scheint zu
funktionieren – allerdings nur, wenn das Feld vor der Zeicheneingabe leer war.
Beim Entfernen des Zeichens mit der Löschtaste bleibt die
Taste sichtbar – daran ändert sich auch nichts beim Verlassen
des Feldes. Mein Problem scheint sich mit diesem Lösungsansatz also nur verstärkt zu haben.
Parametertrick
An Aufgeben wollte ich aber noch nicht denken. Vielmehr
kam mir eine neue Idee: Vielleicht kann das Ausblenden der
Taste durch eine – zur richtigen Zeit gesetzte – globale Variable kontrolliert werden.
Ich habe die Formel für das bedingte Ausblenden also erneut
überarbeitet, sodass dort nur noch eine Variable ausgewertet
wird: $$TasteAusblenden.
Natürlich muss diese Variable noch gesetzt werden, was ich
mit dem Aufruf des Trigger-Scripts verbinde. Es wird weiterhin das Script „Objekt aktualisieren( Objektname )“ aufge­
rufen, allerdings mit erweitertem Scriptparameter:
FMM_201601
Gewusst wie
SetzeVar
( $$TasteVerstecken = IstLeer( SYSTEM::LOGIN );
"TasteWeiter" )
In der „SetzeVar“-Funktion wird die globale Variablen gesetzt
und dann der Objektname ausgegeben.
Ein Test ergibt ein einigermaßen zufriedenstellendes Ergebnis, einziger Wermutstropfen: Die Taste „Weiter“ wird immer
erst einen Tastendruck später angezeigt oder ausgeblendet.
Verzögerung
Eine Problemanalyse ergab, dass die Berechnung der globalen
Variablen im Scriptparameter wohl etwas zu früh erfolgt, weshalb ich die Variable im nächsten Ansatz erst im Script setze.
Dafür erstelle ich das neue Script „Taste aktivieren/deaktivieren“, in dem ich zuerst der Variablen $$TasteVerstecken
einen Wert zuweise und dann das Objekt „TasteWeiter“ aktualisiere. Beide Befehle sind „fest verdrahtet“, d. h. die verwendeten Werte sind Konstanten, sodass das Script nur für diese
spezielle Situation funktionieren wird.
So weit, so gut, aber funktioniert dieser Ansatz auch? Ja, er
funktioniert tatsächlich! Da die Variable erst im Script gesetzt
wird, ist das Timing richtig und die Taste „Weiter“ wird mit
jedem Tastendruck korrekt ein- oder ausgeblendet.
Etwas sonderbar erscheint mir lediglich, dass das Ganze ohne
die Verwendung von „Hole( AktivesFeldInhalt )“ funktioniert – im Script wird ja nur das Feld SYSTEM::LOGIN auf
Inhalt überprüft …
Verbesserung
Dem einen oder anderen von Ihnen ist bestimmt aufgefallen,
dass das Script, das ich für den letzten Ansatz erstellt habe, meinem Anspruch, allgemein einsetzbare Scripts zu programmieren,
nicht entspricht. Hier muss also noch nachgebessert werden.
Das Script „Objekt aktualisieren( ObjektName )“ enthält
schon eine Verallgemeinerung, da der Objektname erst beim
Aufruf als Parameter mitgegeben wird. Genauso kann ich die
Formel für die Bedingung als weiteren Parameter einrichten:
Dazu erstelle ich ein neues Script „Objekt bedingt ausblenden(
Objektname; Bedingung )“, das zwei Parameter erwartet.2
Da der Feldname in einem Text, also als konstanter Wert
übergeben wird, kann das noch verbessert werden:
Liste( "TasteWeiter"; "$$TasteVerstecken = IstLeer(“
& HoleFeldName( SYSTEM::LOGIN ) & “)" )
Damit habe ich nun eine Lösung, die das Deaktivieren von
Layoutobjekten ermöglicht. Durch das allgemein gehaltene
Script kann ich diesen Ansatz mehrfach in meiner Datenbank
einsetzen oder in andere Datenbanken überführen.
Wermutstropfen
Okay, ich muss zugeben, ganz perfekt ist die Lösung nicht.
Beim Anzeigen des Datensatzes muss die globale Variable
$$TasteVerstecken initialisiert werden, was aber recht einfach in einem entsprechenden Trigger-Script „BeiDatensatzLaden“ erledigt werden kann.
Anmerkungen
Am Anfang des Artikels habe ich Tastenleisten erwähnt, bei
denen einzelne Tasten deaktiviert werden sollen. Ein möglicher Lösungsansatz wäre das Anlegen einer „deaktiviert“ formatierten Version jeder Taste (oder zumindest der Tasten, die
deaktiviert werden können), die genau über der aktiven Taste
platziert wird. Diese „deaktivierte“ Taste sollte eine Tastenfunktion zugewiesen bekommen, damit beim Anklicken
nicht die darunter liegende aktive Taste ausgeführt wird. Am
besten eignet sich hierfür die Zuweisung eines Leerscripts, das
keine Befehle enthält.
Bei der Bedingung muss darauf geachtet werden, dass die
Logik umgedreht ist, da in diesem Fall die deaktivierte Taste
ausgeblendet wird. Diese Methode, Layoutobjekte bedingt zu
deaktivieren, kann natürlich auch auf andere Elemente angewendet zu werden.
♦
Fußnoten
1 Funktionslos im Sinne von „es wird kein Script oder anderer Befehl ausgeführt“. Visuell hat die Taste natürlich eine Funktion, da ihre Formatierung den Anwender erkennen lässt, dass bestimmte Bedingungen nicht
zutreffen.
2 Zur Vereinfachung übergebe ich beide Parameter in mehreren Zeilen.
Andere Wege zur Übergabe von mehreren Parametern sind möglich. ­
Das Script muss dann in den ersten beiden Zeile angepasst werden.
In der ersten Zeile des Scriptparameters steht der Objektname, der der lokalen Variable $Objektname zugewiesen wird.
Alle anderen Zeilen werden für die Bedingung zum Ausblenden des Feldes verwendet, die im Format des Definitionsteils
einer „SetzeVar“-Funktion angegeben wird. Ein kompletter
Scriptparameter könnte folgendermaßen aussehen:
Liste( "TasteWeiter"; "$$TasteVerstecken = IstLeer(
SYSTEM::LOGIN )" )
FMM_201601 17
In eigener Sache
Weblink
FMM Titelwahl 2015
… wer war der Schönste im letzten Jahr?
Titel
Titel
Titel
Titelbild
Titelbild
Titelbild
iStock
201503
FMM_201501
Das unabhängige Magazin für FileMaker
Einzelausgabe PDF € 12,00 | www.filemaker-magazin.de
Anwender und Entwickler
Modulare Konzepte
Neue Ansätze in der
FileMaker Entwicklung
So kommen Entwickler an ihr Geld
Rechtsverbindlich
Tipps zur Funktion „SQLAusführen“
Anwender und Entwickler
FMM_201502
Das unabhängige Magazin für FileMaker
Fensterln
Einsteigen für
Fortgeschrittene
Vorgestellt
Die Eigene Funktion
Need for Speed
Entwickler-Logik
Kleine Helfer mit Pfiff
Platzhalter
Abgesichert
FileMaker 14
Live-Programmierung
Eine Stoppuhr als Eigene Funktion
Zeitfragen
Layout und Tasten
© 1994 – 2015 K&K Verlag GmbH, Hamburg
Ergänzt
DML und DDL
Eine Verlagsgeschichte in Bildern
© 1994 – 2015 K&K Verlag GmbH, Hamburg
Damals
FMM_201501
„Modulare Konzepte“
Gebucht
FileMaker Konferenz
FMM_201502
„Fensterln“
Titel
fotolia
FMM_201503
„Need for Speed“
Titel
Titelbild
201506
201505
Titelbild
FMM_201504
Das unabhängige Magazin für FileMaker
Einzelausgabe PDF € 12,00 | www.filemaker-magazin.de
Einzelausgabe PDF € 12,00 | www.filemaker-magazin.de
Anwender und Entwickler
Anwender und Entwickler
Datumsberechnung
Feiertage in Bewegung
Lieferdaten angeben
Kalenderwoche
FMM_201505
Das unabhängige Magazin für FileMaker
Logik pur
Signieren
Für Einsteiger
Datensatzaktualisierung
Impressionen
FileMaker Konferenz
Auf zur FileMaker Konferenz Hamburg!
FMM_201504
„FileMaker Konferenz Hamburg“
Geprüfte Authentizität
Zeichen zählen
© 1994 – 2015 K&K Verlag GmbH, Hamburg
Moin, Moin …
Auffallend bunt
Universell einsetzbar
© 1994 – 2015 K&K Verlag GmbH, Hamburg
Serverwechsel leicht gemacht
Farbige Containerfelder
Mengenlehre
Textaustausch
Funktion „Position“
Datensatzänderungen
FMM_201506
Listendetails
In die Tiefe gehen
FileMaker 14
Anwender und Entwickler
Einblenden, ausblenden
2n-Boolmethode
SQL
Titel
shutterstock
fotolia
Titelbild
Das unabhängige Magazin für FileMaker
Scripts und Formeln
Sicher und stabil
Einzelausgabe PDF € 12,00 | www.filemaker-magazin.de
© 1994 – 2015 K&K Verlag GmbH, Hamburg
FMM_201503
Nachgedacht
Abfragen
© 1994 – 2015 K&K Verlag GmbH, Hamburg
Anwender und Entwickler
Einzelausgabe PDF € 12,00 | www.filemaker-magazin.de
201501
Das unabhängige Magazin für FileMaker
Einzelausgabe PDF € 12,00 | www.filemaker-magazin.de
fotolia
201502
iStock
FMM_201505
„Datumsberechnung“
Scripts im Menü
Die richtige Wahl
Wertelisten
FMM_201506
„Farbige Containerfelder“
Wählen Sie jetzt den Titel des Jahres 2015: Welches
­Titelbild des letzten Jahres hat Ihnen am besten gefallen? ten angesprochen? Passt er besonders gut zum Titelthema,
oder finden Sie ihn einfach optisch überzeugend? Bitte schauen Sie sich alle Titel noch einmal an und treffen Sie
Ihre Entscheidung. Dann kreuzen Sie Ihren Lieblings­titel im
entsprechenden Auswahlfeld auf dieser Webseite an:
Alle Einsendungen, die eine E-Mail-Adresse enthalten, nehmen an der Verlosung von zwei iTunes-Gutscheinen im Wert
von je € 25 teil. Die Abstimmung endet am 25. März 2016 –
dann wird ausgewertet. www.filemaker-magazin.de/go/titel-2015
Wenn Sie mögen, nennen Sie uns gern eine kurze Begründung
für Ihre Wahl: Was hat Sie an dem gewählten Titel am meis18
Wir freuen uns auf Ihr Feedback! Ihre FMM Redaktion
© 1994 – 2016 K&K Verlag GmbH, Hamburg
FMM_201601
© 1994 – 2016 K&K Verlag GmbH, Hamburg
Tipps & Tricks
Thomas Siebert
(Jg. 1963) Selbstständiger FileMaker Entwickler seit
1997. Außerdem aktiv als improvisierender Musiker
und Sounddesigner. Ursprünglich unterwegs in
Druckvorstufe & DTP.
Weblink
[email protected]
:-) Putzige Emojis
Die Strichmännchen werden erwachsen
Wer kennt sie nicht? Emojis grinsen sich schon seit geraumer Zeit durch die Chat- und SMS-Welt. Auch FileMaker
bleibt nicht verschont von den kleinen lustigen und oft
recht praktischen Symbolen.
Viele Jahre lang haben wir aus Punkten, Strichen und Klammern kleine Strichmännchen zusammengestrickt, die mit
Einführung der Mobiltelefone zu grafischen Objekten, sogenannten Smileys geworden sind. Spätestens seit der Verwendung von Smartphones ist der Siegeszug der Emojis nicht
mehr aufzuhalten – mittlerweile sind sie zu umfangreichen
Symbolfamilien mit mehr als hundert Symbolen angewachsen.
Unicode
Die Auswahl der Symbole im UTF-Format
wird von dem Unicode Consortium1 bestimmt und standardisiert. Seine Mitglieder
setzen sich in erster Linie aus verschiedenen Computerkonzernen zusammen, z. B.
Adobe, Apple, Facebook, Huawei, IBM,
Micro­soft, Ministerium von Awqaf (Oman
Sultanate), Oracle, SAP und Yahoo. Hinzu
kommen verschiedene Institutionen, Vereinigungen und Förderer.2
Die Verfügbarkeit unter Windows 8.1 ist eher als rudimentär
zu bezeichnen, d. h. einige Icons stehen nur schwarz-weiß zur
Verfügung oder werden auf die eine oder andere Weise reduziert dargestellt. Eine neuere Windows-Version habe ich leider
nicht vorliegen, aber nach Informationen, die ich im Internet
gefunden habe, sind in Windows 10 Hunderte von bunten
Emojis über die Bildschirmtastatur verfügbar.
Verfügbarkeit
Seit Mac OS X Yosemite haben die EmojiSymbole Einzug in Apples Desktop-System gehalten – in iOS
sind sie schon länger verfügbar.
FMM_201601 19
Tipps & Tricks
Mac OS X hält die Zeichen z. B. über die Zeichenpalette bereit, die sich optional und dauerhaft in der Menüleiste einblenden lässt ( ➝ Systemeinstellungen ➝ Tastatur ➝ Eingabequellen ➝ Eingabequellen in der Menüleiste anzeigen).
Vorteile
In manchen Bereichen kann die Verwendung der Icons
viel Sinn machen, da die Bildchen meistens weniger Platz
­benötigen als der entsprechende Text – und in manchen Fällen sind Emojis sogar aussagekräftiger als ganze Sätze.
Natürlich hängt es auch vom allgemeinen Design einer Anwendung ab, welche Zeichen in welchem Maße verwendet
werden.
Verwendung in FileMaker
Unter Mac OS X sind die Emojis im PNG-Format mit einer
Auflösung von bis zu 160x160 Pixel in die TrueType-Fonts
eingebettet. Da die Bildzeichen im UTF-8-Format vorliegen,
lassen sie sich auch in FileMaker relativ problemlos wie Buchstaben oder Zahlen verwenden.
In der Beispieldatei habe ich verschiedene Anwendungsmöglichkeiten dargestellt: PopUp-Menüs, Optionsfelder (Radiobuttons), Menü und Dialogboxen. Alle Bereiche, in denen
Schriftzeichen verwendet werden, können auch Emojis verarbeiten.
Wermutstropfen
Leider werden Breite und Höhe der Zeichen von FileMaker
noch nicht optimal berechnet, sodass sie u. U. mehr Platz
beanspruchen als eigentlich nötig. Aber sicherlich wird
FileMaker Inc. an dieser Stelle noch Optimierungen vornehmen, wenn wir freundlich nachfragen.
Beachten sollten Sie zudem, dass die Darstellung der Emojis
auf Apple- und Windows-Systemen stark abweichen kann. ♦
Fußnoten
1 www.unicode.org/emoji/
2 www.unicode.org/consortium/members.html
Emojis können auch in Formeln verwendet oder über Formeln
berechnet werden, wofür wir lediglich die „Code“- und die
„Char“-Funktion benötigen: Erstere, um die Unicode-Nummer eines Emojis zu berechnen, und Letztere, um die UnicodeNummer in das entsprechende Emoji umzuwandeln.
In letzter Minute
Updater auf FileMaker 14.0.5
FileMaker hat Version 5 eines Updaters für FileMaker 14
veröffentlicht.
Verfügbar sind Updater für FileMaker Pro und FileMaker Pro
14 Advanced, sowohl für Windows (in 32 und 64 Bit) wie für
den Macintosh. Die Installation wird allen Anwendern der
Versionen 14.0.1, 14.0.2, 14.0.3 und 14.0.4 empfohlen.
Download und weitere Infos
http://help.filemaker.com/app/answers/
detail/a_id/15645
https://filemaker-magazin.de/service/aktuellefilemaker-versionen/
20
FMM_201601
Jörg Köster
(Jg. 1964) hat Musik studiert und arbeitet als freibe­
ruflicher Pianist und Arrangeur. Seit 2009 beschäftigt
er sich intensiv mit FileMaker, ist zertifizierter
FileMaker Entwickler und betreut überwiegend
kleine und mittlere Unternehmen.
[email protected]
Platzhalter im Fokus
Tipps und Tricks
Obwohl Platzhalter ursprünglich wohl nur für den Einsatz in Drucklayouts gedacht waren, verfügen sie über
Eigenschaften, die sie auch für die Anwendung in Benutzerschnittstellen (besser bekannt als „User Interface“) zunehmend interessanter machen.
In der FileMaker Hilfe wird der Platzhalter1 wie folgt beschrieben:
„Ein Feld in einem Layout, das für den Inhalt eines Dateifelds
steht. Ein Platzhalter wird im Blätternmodus und Seitenansichtsmodus oder beim Drucken so erweitert, dass die Daten des
Dateifelds für jeden Datensatz darin Platz finden.
Platzhalter sind nützlich für Serienbriefe. FileMaker Pro verwendet Platzhalter in vordefinierten Layouts für Etiketten und
Briefumschläge.“
Das heißt, Platzhalter können Inhalte von Dateifeldern, Variablen und diversen „Hole-Funktionen“ darstellen. Selbstverständlich gibt es auch die Möglichkeit, per Tastatur einen
Freitext direkt in einen Platzhalter einzufügen oder alle genannten Möglichkeiten miteinander zu kombinieren.
Daher möchte ich in diesem Beitrag auf andere Aspekte eingehen, die mich zur vermehrten Nutzung von Platzhaltern in
Benutzerschnittstellen motiviert haben.
Platzhalter sind sperrig?
Platzhalter eignen sich wunderbar, um Daten aus unterschiedlichen Feldern, Variablen und fixierten Textelementen
zu einem Fließtext zusammenzufassen.
Bei längeren Objektbezeichnungen oder Feldern aus Bezugstabellen kann der Platzhaltertext allerdings unbequem lang
werden. Die Anwender-Info
beispielsweise erfordert unter der Haube folgende Syntax:
Zudem befindet sich der Platzhalter in diesem Beispiel innerhalb eines Ausschnitts.
An dieser Stelle möchte ich auf den sehr lesenswerten Beitrag
„Platzhalter auf Komfortkurs“ von Holger Darjus hinweisen,
der in der Ausgabe FMM_201501 erschienen ist. Neben der
Vorstellung neuer Möglichkeiten und einiger Anwendungsbeispiele von Platzhaltern werden auch die von mir erwähnten
„Hole-Funktionen“ beschrieben.
FMM_201601 21
© 1994 – 2016 K&K Verlag GmbH, Hamburg
Tipps & Tricks
Tipps & Tricks
Doch obwohl er die Grenzen der Ausschnittszeile überragt,
wird die korrekte Darstellung nicht beeinträchtigt.
Wenn wir zwei identisch formatierte, 100 x 21 pt große Layoutobjekte vergleichen, ergibt sich folgendes Ergebnis:
Während das Feld eine Größe von 7,17 kB hat, ist der Platzhalter nur 6,6 kB groß. Das entspricht einer Differenz von
0,57 kB, also ca. 8 % weniger Datentransfer.
Das hat zwar schon unter FileMaker 11 tadellos funktioniert,
dennoch war mir nie ganz wohl dabei. Deshalb habe ich derartige Konstrukte gemieden und stattdessen mit Feldobjekten
gearbeitet.
Da Platzhalter im Layoutmodus oftmals größer sind, als die
tatsächlich darzustellenden Daten, überlappen sie sich häufig mit anderen Layoutobjekten. Das macht das Arbeiten im
Layoutmodus mit der Zeit unbequem und unübersichtlich.
Seit FileMaker 12 gibt es aber einen Trick, um die Übersichtlichkeit wiederherzustellen.
Der Trick
Hinzu kommt, dass ein Platzhalter oftmals die Werte mehrerer Felder enthält, aber nur den Speicherplatz eines einzigen
Layoutobjekts benötigt. So beinhaltet der Platzhalter im oben
gezeigten Beispiel (siehe Abb. vorige Seite) die Werte von drei
Dateifeldern.
Hierfür lohnt sich ein weiterer Vergleich. Bei der Darstellung
dieser drei Dateifelder via Platzhalter ändert sich nichts an der
Größe, es bleibt bei 6,6 kB. Anders sieht es bei der Darstellung
mit Feldern aus: Hier muss die Größe von 7,17 kB dreimal gerechnet werden, was 21,51 kB ergibt. Die Differenz liegt nun
bereits bei 14,91 kB, was einem ca. 70 % geringeren Datentransfer entspricht.
Viele Entwickler haben sicherlich schon vergeblich versucht,
die Größe eines Platzhalters zu reduzieren. Nutzt man dazu
die Maus, springt der Platzhalter wieder auf die minimal erforderliche Größe zurück, die zur Darstellung des Textes im
Layoutmodus benötigt wird.
Selbst bei sparsam gestalteten Layouts mit wenigen Layout­
objekten kann der Einsatz von Platzhaltern erhebliche Performancesteigerungen zur Folge haben. Insbesondere bei langsamen Netzwerken, externen FileMaker Servern sowie unter
FileMaker Go oder Webdirekt kommt es auf jedes gesparte
Byte an.
Verwendet man jedoch stattdessen den Inspektor, lässt sich
eine beliebige Größe für den Platzhalter einstellen.
Wie lassen sich Objektgrößen ermitteln?
Auf der Homepage des amerikanischen Entwicklers Richard
Carlton2 gibt es ein Tool namens RCC Layout Optimization, mit dem sich unter anderem die Größe eines oder mehrerer Layoutobjekte ermitteln lässt. Darüber hinaus können
Layoutobjekte ausfindig gemacht werden, die keinem Stil zugeordnet wurden.
Dieses Tool hat sich für mich als sehr nützlich bei der Gestaltung schlanker und damit performanter Layouts erwiesen.
Allerdings ist Vorsicht geraten, denn ein erneutes Klicken auf
den Platzhalter lässt ihn wieder zur ungeliebten Größe aufspringen. Aber auch das lässt sich vermeiden, und zwar mithilfe einer Fixierung. Zwar vergrößert sich der Platzhalter auch
in diesem Fall, wenn er angeklickt wird, aber der Zustand ist
nur vorübergehend und der Platzhalter nimmt wieder die gewünschte Größe an, sobald er nicht mehr ausgewählt ist. Dieses Verhalten ist sehr praktisch, weil man dadurch den Inhalt
eines Platzhalters sehen kann, ohne seine Größe zu verändern.
Konnte ich Ihnen mit diesem Beitrag den Einsatz von Platzhaltern schmackhaft machen? Falls ja, wünsche Ihnen dabei
viel Spaß und Erfolg!
Fußnote
1 www.filemaker.com/help/14/fmp/de/html/glossary.html#1063205
2 http://rcconsulting.com/downloads.html
Bessere Performance durch Platzhalter
Ein weiterer Vorteil von Platzhaltern ist ihr geringer Speicherbedarf im Layout.
22
FMM_201601
© 1994 – 2016 K&K Verlag GmbH, Hamburg
FileMaker Server
Thomas Hirt
(Jg. 1975) studierte Biochemie und Software Engi­
neering. Er arbeitet seit 25 Jahren als IT-Adminis­
trator und IT-Consultant und entwickelt seit 2009
FileMaker Lösungen.
[email protected]
Beliebige SSL-Zertifikate für
FileMaker Server 13 und 14
Wie man FileMaker Server dazu bringt, Zertifikate aller gängigen
Certificate Authorities zu akzeptieren
Jeder, der FileMaker Server betreibt und das Thema
­„Sicherheit“ ernst nimmt, muss sich mit SSL-Zertifikaten
beschäftigen, da Verbindungen zu FileMaker Server nur
bei aktivierter SSL-Verschlüsselung abgesichert sind. Das
von FileMaker mitgelieferte Zertifikat ist jedoch lediglich zu Testzwecken geeignet, darüber hinaus akzeptiert FileMaker Server nur SSL-Zertifikate von wenigen,
vorde­
finierten Certificate Authorities (CAs). In diesem
Beitrag möchte ich Ihnen zeigen, wie man es schafft, dass
FileMaker Server unter Microsoft Windows Server Betriebssystemen auch SSL-Zertifikate anderer CAs akzeptiert.
Ein Hinweis vorweg: Dieser Artikel geht nur auf FileMaker
Server unter Microsoft Windows Server ein. Da es in meinem Umfeld keine FileMaker Server unter Mac OS X gibt,
beschäftige ich mich auch nicht damit. Ich weiß daher nicht,
ob das hier beschriebene Verfahren auch für FileMaker Server
unter Mac OS X funktioniert. Wir setzen das hier beschriebene Vorgehen aber erfolgreich für FileMaker Server 13 und
14 unter Windows Server 2008 R2, 2012 und 2012 R2 ein.
Welche Certificate Authority?
FileMaker veröffentlicht in seiner Knowledge Base unter der
Answer ID 11413 eine kurze Liste mit Certificate Authorities
(CAs), von denen sich wiederum nur wenige Zertifikatstypen in Kombination mit FileMaker Server verwenden lassen.
Diese CAs sind Comodo, Entrust, GoDaddy, GeoTrust, Symantec und Thawte. Bestimmt haben sich viele von Ihnen
schon über diese kurze Liste gewundert, schließlich gibt es
Dutzende von CAs. Ein Schelm, wer Böses dabei denkt …
FMM_201601 Es gibt aus meiner Sicht zwei Gründe, wieso diese Einschränkungen unerwünscht oder gar höchst problematisch sein
­können:
Zum einen dürfen Serveradministratoren in größeren Organisationen meist nicht frei entscheiden, welche Zertifikate sie
gerne hätten. Häufig hat sich eine Organisation für eine CA
entschieden und dazu klare Prozesse etabliert. Anders gesagt:
Ein Administrator kann und/oder darf häufig gar kein Zer­
tifikat der von FileMaker Server unterstützten CAs oder Zertifikatstypen lösen.
Zum anderen gibt es extrem preiswerte und sogar kostenfreie
Zertifikate, die aus finanzieller Sicht insbesondere für kleine
Organisationen oder auch zu Übungs- und Testzwecken interessant sind. Diese besonders preiswerten Zertifikate stehen
für FileMaker Server leider nicht zur Verfügung.
Um Ihnen zu zeigen, wie Sie diese Beschränkungen umgehen
können, setze ich ein Zertifikat ein, das nicht von FileMaker
Server unterstützt wird. Ich habe mich für ein StartCom
Class 1 Server Zertifikat entschieden, das man kostenfrei
für die Dauer von einem Jahr lösen kann.
FileMaker Go
Es gibt eine Einschränkung, derer man sich beim Einsatz von
Zertifikaten, die nicht von FileMaker Inc. vorgesehen sind,
bewusst sein muss: Sie werden von FileMaker Go nicht akzeptiert. Nach meinem Verständnis muss FileMaker Go die
sogenannten Wurzel- und Zwischenzertifikate (Root und Intermediate Certificates) einer CA enthalten, wenn eine sichere
23
FileMaker Server
Verbindung zwischen FileMaker Go und FileMaker Server
mit einem Zertifikat dieser CA aufgebaut werden soll. Soweit
ich weiß, gibt es keine Möglichkeit, FileMaker Go auf die Zertifikate zusätzlicher CAs zu erweitern.
Inc. nicht vorgesehenen CA unterzuschieben, benötigen Sie
Folgendes:
SSL-Zertifikate:
eine Wissenschaft für sich
2. das Zwischenzertifikat (Intermediate Certificate) der CA
als BASE64-codierte Reintextdatei
Als ich vor Jahren zum allerersten Mal ein SSL-Zertifikat benötigte, dauerte es eine ganze Weile, bis ich mich in all die
Begriffe eingearbeitet hatte. Erschwerend kommt hinzu, dass
sich die Prozesse zum Lösen eines Zertifikats von CA zu CA
und von Servertyp zu Servertyp leicht unterscheiden. Man
bindet ein SSL-Zertifikat in einen Apache Webserver z. B.
ganz anders ein als in einen FileMaker Server.
Falls Sie sich mit SSL-Zertifikaten noch gar nicht auskennen,
empfehle ich Ihnen, sich zunächst etwas einzulesen. Da die
großen CAs (z. B. GoDaddy oder Thawte) ein Interesse daran haben, ihre Zertifikate zu verkaufen, versuchen sie, ihren
Kunden zu helfen. Entsprechend finden Sie dort gute HilfeBereiche mit praxisorientierten Anleitungen. Natürlich sind
diese Anleitungen teilweise auf die Details des Prozesses bei
der jeweiligen CA abgestimmt, aber die Anleitungen enthalten auch sehr viele allgemeine Informationen zum Vorgehen
und auch zu verschiedenen Arten von Servern.
Wenn Sie sich einige Basisinformationen erarbeitet haben,
sollten Sie sich mit den von FileMaker Inc. zur Verfügung gestellten Anleitungen beschäftigen. Folgende Quellen, die als
Bestandteil der Produktdokumentation von der FileMaker
Website heruntergeladen werden können, sind hilfreich:
n FileMaker Server 14, Einführung, Kapitel 7:
„Einrichten des Web-Servers“
n FileMaker Pro 14, FileMaker Server Hilfe, Kapitel:
„Datenbank-Server-Sicherheitseinstellungen“, S. 73ff.
n FileMaker Pro 14, FileMaker Server Hilfe,
Kapitel: „Sichern Ihrer Daten“, S. 145ff.
Zertifikatsignieranforderung
(Certificate Signing Request)
Bei vielen CAs muss man zum Beantragen eines Zertifikats
eine sogenannte „Zertifikatsignieranforderung“ (auf Englisch
„Certificate Signing Request“ oder kurz CSR) einreichen.
Für FileMaker Server muss man eine CSR über die Kommandozeile (auf Englisch „Command Line Interface“ oder kurz
CLI) erstellen. Das funktioniert zwar einwandfrei und ist in
der Produktdokumentation zu FileMaker Server auch erklärt,
doch meiner Ansicht nach ist dieses Verfahren für Einsteiger
eher ungeeignet. Meine Empfehlung für die ersten Gehversuche wäre eine CA, bei der man Zertifikate auch ohne CSR
erhalten kann. StartCom ist eine solche CA.
Was Sie benötigen
Um FileMaker Server ein SSL-Zertifikat einer von FileMaker
24
1. das Wurzelzertifikat (Root Certificate) der CA als BASE­
64-codierte Reintextdatei
3. Ihre von der CA signierte Zertifikatsdatei für Ihren Servernamen (z. B. myserver.mydomain.com) als BASE64codierte Reintextdatei
4. die private Schlüsseldatei (Private Key) zu Ihrem Zertifikat als BASE64-codierte Reintextdatei
5. falls die private Schlüsseldatei (Private Key) verschlüsselt
vorliegt, ist zudem das Passwort notwendig, das zur Verschlüsselung verwendet wurde
Bezüglich dieser Auflistung gehe ich davon aus, dass Sie alle
aufgeführten Dateien von Ihrer CA erhalten (z. B. von StartCom) und die FileMaker Server Admin Konsole verwenden.
Sollten Sie ein Zertifikat mit CSR über das FileMaker CLI beantragen und importieren, entsteht die private Schlüsseldatei
(Private Key) beim Ausführen des entsprechenden „create“Befehls gemäß FileMaker Server Produktdokumentation.
Eigentlich sind die Dateiendungen der vier oben erwähnten
Dateien (Wurzelzertifikat, Zwischenzertifikat, Zertifikatsdatei und private Schlüsseldatei) relativ klar vorgegeben. Leider werden die Endungen teils nicht wie vorgesehen verwendet, sodass Sie sich nicht darauf verlassen können. Mein Tipp:
Schauen Sie sich die Dateien, die Sie von Ihrer CA erhalten,
mit einem Reintexteditor an. Ich verwende unter Windows
gerne Notepad++ oder den für Windows und Mac verfügbaren Editor Sublime Text. Die Dateien sollten im Format
UTF-8 ohne BOM (Byte Order Mark) vorliegen und dürfen
nur die Zeichen der BASE64-Codierung enthalten.1
Mir sind schon Wurzelzertifikate und Zwischenzertifikate
untergekommen, die von den entsprechenden CAs nicht als
BASE64-codierte Reintextdateien, sondern nur in einem Binärformat zum Download angeboten wurden. Dieses Binärformat nennt sich DER (Distinguished Encoding Rules) und
muss zunächst konvertiert werden. Wenn Sie sich zufällig mit
dem Tool OpenSSL auskennen, können Sie dieses zur Konvertierung verwenden. Ansonsten empfehle ich Ihnen eine
Website wie https://www.sslshopper.com/ssl-converter.html
oder https://cheapsslsecurity.com/ssltools/ssl-converter.php,
wo Sie eine Datei im Binärformat hochladen und von DER
zu PEM konvertieren können. Eine Datei im PEM-Format ist
BASE64-codiert und daher für unsere Zwecke brauchbar.
Hinzufügen der neuen CA zu FileMaker
Server
Damit FileMaker Server Ihr neues Zertifikat akzeptiert, muss
das Programm zunächst wissen, dass es Ihre CA überhaupt
gibt. Dazu geben Sie den Reintextdateien, die das Wurzel-
FMM_201601
FileMaker Server
zertifikat (Root Certificate) und das Zwischenzertifikat (Intermediate Certificate) enthalten, aussagekräftige Namen,
damit Sie sie jederzeit eindeutig identifizieren können. Für
mein StartCom-Zertifikat habe ich die beiden Dateien z. B.
folgendermaßen benannt:
StartCom Certificate Authority.pem
StartCom Class 1 DV Server CA.pem
Kopieren Sie die Dateien anschließend in die folgenden Ordner auf Ihrem Windows Server (beide Dateien müssen in beide Ordner kopiert werden!) …
C:\Program Files\FileMaker\FileMaker Server
\Database Server\Extensions\OpenSSL\RootCA\
C:\Program Files\FileMaker\FileMaker Server
\Web Publishing\publishing-engine\cwpc\Extensions\
OpenSSL\RootCA\
… und starten Sie den FileMaker Server-Dienst neu.
Bei jedem Neustart generiert der FileMaker Server-Dienst
die Datei C:\Program Files\FileMaker\FileMaker Server\
CStore\root.pem neu. Diese Datei enthält eine Aneinanderreihung sämtlicher von FileMaker Server akzeptierten CAs.
Als Grundlage zur Erstellung der Datei root.pem dienen die
Reintextdateien in den beiden weiter oben genannten Ordnern namens „RootCA“.
FileMaker Server wird Sie daraufhin mit einem großen, roten
Warnhinweis auffordern, den Server-Dienst neu zu starten.
Tun Sie das. Nach der Neuanmeldung an der FileMaker server Admin Konsole sollte auf dem Reiter „Sicherheit“ in der
Rubrik „Datenbank-Server“ unter dem Untertitel „SSL-Verbindungen“ folgender Hinweis erscheinen: „Das auf diesem
Server installierte, eigene SSL-Zertifikat stammt von einer
Certificate Authority, die von FileMaker unterstützt wird.“
Aktivieren Sie Ihr Zertifikat
Nun können Sie Ihr signiertes Zertifikat über die FileMaker
Server Admin Konsole importieren. Verwenden Sie dazu die
Taste „Zertifikat importieren …“ auf dem Reiter „Sicherheit“
in der Rubrik „Datenbank-Server“:
Et voilà. Nun können Sie über den im Zertifikat hinterlegten DNS-Namen (im Beispiel ist das der Hostname „fmhost.
hrc.systems“) sauber verschlüsselte Verbindungen zu Ihrem
FileMaker Server herstellen – vorausgesetzt, Ihr Server ist
über diesen DNS-Namen auch tatsächlich erreichbar und alle
Firewall-Einstellungen sind richtig:
Im Dialog „Zertifikat importieren“ wählen Sie über die beiden „Durchsuchen …“-Tasten zunächst Ihr signiertes Zertifikat und danach Ihre private Schlüsseldatei aus. Falls Letztere
verschlüsselt ist, fügen Sie das Passwort zur Entschlüsselung
ins Feld „Privates Schlüsselpasswort“ ein.
Das funktioniert sowohl über WebDirect als auch mit
FileMaker Pro. In beiden Fällen erkennen Sie die korrekt verschlüsselten Verbindungen am Schlosssymbol:
FMM_201601 25
FileMaker Server
Anzeige
Zusammenfassung
Wenn Sie FileMaker Server unter einem Microsoft Server Betriebssystem einsetzen und keine iOS-Clients darauf zugreifen müssen, können Sie die Beschränkung von FileMaker auf
SSL-Zertifikate weniger CAs umgehen. Dazu müssen Sie das
Wurzel- und das Zwischenzertifikat als Reintextdateien in
zwei bestimmte Ordner kopieren und den FileMaker ServerDienst neu starten. Danach können Sie Ihr Zertifikat erfolgreich in FileMaker Server importieren.
Ein Dankeschön zum Schluss
Es gibt eine Person, der im Kontext dieses Artikels ein ganz
besonderes Dankeschön gebührt. Mein Kollege Steve Rast
ist Windows Administrator mit Leib und Seele. Ihn hat die
Einschränkung von FileMaker Server auf Zertifikate, die in
seiner Umgebung nicht verfügbar sind, vor größere Probleme
gestellt, sodass er sich die Zeit genommen hat, nach einem
Workaround zu suchen. Das Verfahren, das ich Ihnen in diesem Beitrag vorgestellt habe, wurde von ihm entwickelt. ♦
Fußnote
1 Siehe Wikipedia: https://de.wikipedia.org/wiki/Base64
Kleinanzeigen
Suche gebrauchten Mac Mini i5, 2.6 GHz, 8 GB, aus 2014 oder 2015 nach Möglichkeit mit SSD.
[email protected]
FileMaker Pro 11 Lizenz abzugeben.
[email protected]
Mac Serverhousing: Sie haben eine Lösung, die Sie mit Mac OS X im Internet bereitstellen
wollen? Einen FileMaker Server, Kerio-Server, Webserver, ownCloud oder Daylite? Dann könnte unser Mac Serverhousing für Mac mini oder Mac Pro genau das Richtige für Sie sein. Wir
bieten Ihnen die schnellste Internet-Anbindung in einem der modernsten Rechenzentren in
Frankfurt am Main mit einer Direktanbindung mit jeweils 10GE an das DE-CIX, die Deutsche
Telekom sowie Level 3. Mehr erfahren …
[email protected]
FileMaker Pro 11 Lizenzen: ich suche 2-5 Clientlizenzen, evt. eine Serverlizenz. Alle für Windows. Freue mich über Ihre Hilfe und Ihr Angebot. Besten Dank.
[email protected]
Hallo alle zusammen, wer kann mir (gegen Rechnung) einen FileMaker Server für den
Zugriff über das Internet einrichten? Am liebsten wäre mir ein persönlicher Kontakt – also
jemand aus Berlin. Momentane Konfiguration: Mac Mini Rechner 10.8.5 | FileMaker Server
26
12.0.3.327 | AC1750 Wireless Dual Band Gigabit Router | feste IP im eigenen Netzwerk. Ziel soll
es sein, dass eine Person aus München z. B. via Win10-Browser auf die Datenbank zugreifen
kann.
[email protected]
FileMaker Entwickler aus Berlin, mit mehrjähriger Erfahrung in verschiedensten Branchen, bietet freie Mitarbeit bei der Pflege, Erweiterung und Neuentwicklung von FileMaker
Datenbanken aller Art. Migration zu FileMaker 14 und Anbindung an SQL-Server.
E-Mail
Telefon
[email protected] Mobil
+49 30 588 917 27
Fax
+49 177 2062394
+49 30 13895776
Ich bin dabei, eine Verwaltung für den Betrieb eines Tonstudios auf FileMaker 13 zu er­
stellen, doch stoße ich mittlerweile an meine Grenzen, da ich einiges einfach nicht mehr hin
bekomme. Das heißt, ich suche einen Programmierer, der mich entsprechend unterstützt.
Am besten auf Festpreisbasis nach Absprache.
[email protected]
Suche FileMaker Pro 11 Advanced, Vollversion Mac.
[email protected]
www.filemaker-magazin.de/magazin/kleinanzeigen
Stand: 29.02.2016
FMM_201601
Jörg Wenzel
(Jg. 1953) M.A. Publizistik, arbeitet als frei­beruflicher
Publizist, Multimedia- und Daten­bankentwickler.
Nutzt FileMaker seit der Version 2 und lebt zurzeit
in den USA.
Weblink
[email protected]
FileMaker und SQL
Teil 11
Sekt oder Selters – Transaktionen
Neu in unserer Beispieldatenbank
In dieser Folge wurde unsere Beispieldatenbank um das Layout „Transaktionen“, die
Scripts „TransaktionVorbereiten“, „TransaktAnwAusführen“, „TransaktCommitRollback“,
„Trans­aktionsmodus Abrufen“, „AutoCommitAusschalten“, die Tabellen Transaktionen und
Transaktionsanweisungen sowie um einige
Variablen, Schaltflächen und Textanzeigen erweitert. In der Tabelle Transaktionen gibt es
zurzeit einen Datensatz – die darin befindliche
Transaktion kann über die untergeordnete Bezugstabelle Transaktionsanweisungen mit
beliebig vielen Anweisungen befüllt werden,
die alle einzeln über die zugehörige Schaltfläche ausgeführt werden können. Über „Commit“ oder „Rollback“ werden sie als Ganzes
entweder festgeschrieben oder zurückgesetzt.
Beim Onlinehandel und im Zahlungsverkehr sind Transaktionen unverzichtbar. Bei einer Transaktion handelt es
sich um eine Anzahl von SQL-Anweisungen, die entweder
als Ganzes, also vollständig ausgeführt werden oder gar
nicht. Bei vollständiger Ausführung werden sie durch
„Commit“ beendet und sind danach für alle sichtbar, wohingegen „Rollback“ dafür sorgt, dass alle betroffenen
Tabellen in ihren Zustand vor Transaktionsbeginn zurückgesetzt werden.
Im Grunde ist bereits eine einzige SQL-Anweisung eine
Transaktion, wenn sie zur Data Manipulation Language
(DML) gehört, also verändernd auf die Datenbank zugreift.
So kann die nachfolgende Anweisung nur vollständig oder gar
nicht ausgeführt werden:
Name: $$Ergebnis
Wert: MBS ("FM.ExecuteSQL";
"DELETE FROM Kunden
WHERE autor LIKE '%Grass'
")
Auch die FileMaker Anweisung
Gefundene Datensätze löschen
verfährt nach diesem Prinzip: Entweder werden alle gefundenen Datensätze gelöscht oder gar keiner – es wird nie die
Hälfte, ein Viertel oder dergleichen gelöscht.
FMM_201601 Sie selbst können beliebig viele Transaktionen
in der Haupttabelle hinterlegen und auch bei
der Anzahl der Anweisungen in der zugehörigen Tabelle Transaktionsanweisungen sind
Ihnen keine Grenzen gesetzt. Das Ergebnis
können Sie jederzeit mit einer SELECT-Anweisung, die das Feld Transaktionen::ergebnis
befüllt, kontrollieren (siehe Abb. 1).
Wäre das nicht der Fall, würde die Datenbank mit jeder ausgeführten DML-Anweisung zunehmend inkonsistenter und irgendwann völlig unbrauchbar. Von daher ist die Feststellung,
dass auch FileMaker Transaktionen kann, durchaus richtig.
Allerdings wird unter „Transaktion“ normalerweise die Ausführung nicht nur einer Anweisung verstanden, sondern der
Begriff bezieht sich auf eine Reihe von SQL-Anweisungen,
die eine Einheit bilden. Hinzu kommt, dass diese häufig auf
Datenbanksysteme zugreifen, die sich auf unterschiedlichen
Rechnern an verschiedenen Orten befinden.
Über einen Workaround lassen sich solche Transaktionen
auch mit FileMaker ausführen. Dabei machen wir uns die Eigenschaft zunutze, dass FileMaker bei einer Beziehung, über
die in der untergeordneten Tabelle Datensätze erstellt bzw.
gelöscht werden dürfen, die Änderungen erst dann schreibt,
wenn diese im Datensatz in der übergeordneten Tabelle „geschrieben“ also „commited“ wurden.1
Wir wollen uns allerdings ausschließlich mit den Möglichkeiten von Transaktionen in FileMaker unter Verwendung
von SQL beschäftigen, was nur mit externen SQL-Datenbanksystemen funktioniert. Auch die Funktionskomponente
FMSQL von Monkeybreadsoftware (MBS), die die interne
FileMaker Engine für ihre Datenbankzugriffe nutzt, sowie
der Zugriff über ODBC mittels des Script-Schrittes „SQL
Ausführen“ müssen passen.
27
© 1994 – 2016 K&K Verlag GmbH, Hamburg
Grundlagen
Grundlagen
Die in den vorangegangenen Folgen vorgestellte SQL-Komponente von MBS unterstützt Transaktionen mit externen
SQL-Datenbanken, 2 wobei es allerdings die Eigenschaften
des jeweiligen Datenbankmanagementsystems (DBMS) zu
beachten gilt. Während z. B. der SQL-Server von Microsoft
Transaktionen explizit unterstützt, bietet MySQL eine implizite Transaktionsunterstützung. Das heißt, beim Microsoft
SQL-Server muss mit BEGIN TRANSACTION explizit
angegeben werden, wenn eine Transaktion gestartet werden
soll, um später ein ROLLBACK oder COMMIT TRANSACTION zu ermöglichen – beim MySQL-Server ist das
jederzeit möglich. Arbeitet man allerdings in der MySQLeigenen Arbeitsumgebung „Workbench“, muss man zunächst
über den Menüpunkt Query ➝ Auto-Commit Transactions den dort befindlichen Haken entfernen.
Zudem bieten die meisten SQL-Systeme Savepoints. Diese
sind bei umfangreicheren Transaktionen hilfreich, da eine
misslungene Transaktion nicht unbedingt vollständig „zurückgerollt“ werden muss, sondern auch nur bis zu einem ausgewählten Savepoint zurückgesetzt werden kann.
Bei Transaktionszugriffen auf MySQL-Datenbanken über
das MBS-Plugin gibt es solche Savepoints leider nicht, aber
ansonsten werden Transaktionen vollständig unterstützt. Um
sie erfolgreich abwickeln bzw. zurückrollen zu können, gilt
es noch einige vorbereitende Schritte durchzuführen. Viele
davon sind bereits in den Folgen 9 und 10 dieser Serie vorgestellt worden und müssen lediglich ein wenig umorganisiert
werden.
Transaktion vorbereiten
So habe ich das vorbereitende Script „TransaktionVorbereiten“
von dem Script „Datenbanköffnen“ aus Folge 9 abgeleitet:
TransaktionVorbereiten
1 Variable setzen
Name:$$RollbackCommit
Wert:""
2 # Platz für eine neue Datenbankverbindung­reservieren
3 Variable setzen
Name:$$Connection
Wert:MBS("SQL.NewConnection")
11 # Mit Datenbank verbinden. Lesend, schreibend.
12 # Tabellenerzeugung möglich. Dateierstellung bei
Bedarf.
13 Variable setzen
Name:$result
Wert:
MBS ("SQL.Connect"; $$Connection;$db; $name; $pass;
"MySQL")
14 Fenster aktualisieren []
15 Wenn
Wert:
$result = "OK"
16 Aktuelles Script verlassen
17 Sonst
18 Eigenes Dialogfeld anzeigen
Meldung:"Error: " & $result
19 Variable setzen
Name:$result
Wert:
MBS("SQL.FreeConnection"; $$Connection)
20 Alle Scripts abbrechen
21 Ende (wenn)
Verändert wurde die ursprüngliche Zeile 14 und jetzige Zeile
16, die das Script nun ohne Ergebnisübergabe verlässt. Weiterhin wurde die lokale Variable $Connection in die globale
Variable $$Connection umbenannt und am Script-Anfang
wurde eine Definition für die von dem Script „TransaktCommitRollback“ verwendete Variable $$RollbackCommit eingefügt, sodass sie zu Beginn einer neuen Transaktion geleert
wird. Außerdem wird in Zeile 14 das Fenster aktualisiert.
Während wir das Script „Datenbanköffnen“ genutzt haben,
um eine vollständige Aktion in Einheit mit dem aufrufenden
Script „SQLAusführen“ durchzuführen und danach die Verbindung zu MySQL zu beenden, benötigen wir in dieser Folge
eine andere Programmlogik.
Verbindung herstellen und halten
Zunächst soll über das Script „TransaktionVorbereiten“ eine
Verbindung zur MySQL-Datenbank buchshop hergestellt
werden, die so lange gehalten wird, bis wir alle für unsere
Transaktion gewünschten Anweisungen ausgeführt haben.
Danach wird die Verbindung über das Script „TransaktCommitRollback“ beendet.
4 Variable setzen
Name:$db
Wert:Transaktionen::serverunddatenbankname
5 Variable setzen
Name:$name
Wert:Transaktionen::accountname
6 Variable setzen
Name:$pass
Wert:Transaktionen::passwort
7 # Dem Plugin mitteilen, dass wir MySQL benutzen wollen
8 Variable setzen
Name:$result
Wert:
MBS("SQL.SetClient"; $$Connection; "MySQL")
9 # Dem Plugin mitteilen, wo die MySQL Library ist
10 Variable setzen
Name:$result
Wert:
MBS ("SQL.SetConnectionOption"; $$Connection;
"MYSQL.LIBS"; Transaktionen::pfadmysqllib)
28
Grundlage dafür ist die Initiierung einer Verbindung mithilfe
von „MBS(„SQL.NewConnection“)“, siehe Zeile 3 im Script
„TransaktionVorbereiten“. Anschließend werden in den Zeilen 4 bis 6 die Werte für den Server und den Datenbank­
namen in $db, der Accountname in $name und das Passwort
in $pass geschrieben. Dass das Datenbanksystem „My­
SQL“ über die Verbindung $$Connection genutzt werden
soll, legen wir mit „MBS("SQL.SetClient"; $$Connection;
„MySQL“)“ fest (Zeile 8). In Zeile 10 wird mit „MBS("SQL.
SetConnectionOption"; $$Connection; "MYSQL.LIBS";
Transaktionen::pfadmysqllib)“ angegeben, welche Library benutzt werden soll und wo diese zu finden ist. Die gewünschte Verbindung wird in Zeile 13 mit „MBS("SQL.Connect";
$$Connection;$db; $name; $pass; "MySQL")“ hergestellt.
FMM_201601
Grundlagen
Anweisungen zu Transaktionen bündeln
Wir wollen nun eine beliebige Anzahl schreibender Anweisun­
gen in der Tabelle lieblingskundenv4 durchführen, um uns
danach (oder auch zwischendurch) mithilfe einer SELECTAnweisung den Zustand der Tabelle lieblingskundenv4 über
die gleiche Verbindung anzusehen. In der Programmlogik der
Scripts aus den Folgen 9 und 10 hätten wir unterschiedliche
Verbindungen für jede auszuführende Anweisung gehabt und
den Zustand innerhalb einer Transaktion nicht ermitteln
können.
Jede Anweisung, die sich im Feld sqlanweisung der Tabelle
Transaktionsanweisungen befindet, wird durch die zugehörige Schaltfläche „Ausführen“ individuell gestartet, die dazu
das Script „TransaktAnwAusführen“ aufruft:
TransaktAnwAusführen
1 # SQL-Anweisung(en) für Transaktion ausführen.
2 Variable setzen
Name:$SQL_string
Wert:Transakt_Anweisungen::sqlanweisung
3 Variable setzen
Name:$Command
Wert:
MBS( "SQL.NewCommand"; $$Connection; $SQL_string; )
4 Variable setzen
Name:$result
Wert:
Über „MBS( "SQL.isResultSet"; $Command)“ in Zeile 5 wird
ermittelt, ob das Ergebnis ein „ResultSet“, unter FileMaker
eine Ergebnismenge liefert. Ist das der Fall, werden vorname
und nachname mithilfe der Funktionen „SQL.Fetchnext“
und „SQL.GetFieldAsText“ über eine Schleife Zeile für Zeile
in das Feld ergebnis der Tabelle Transaktionen geschrieben.
Wurde die gewünschte Anzahl SQL-Anweisungen ausgeführt, wird die Verbindung zur MySQL-Datenbank über ein
„Commit“ oder ein „Rollback“ im Script „TransaktCommitRollback“ geschlossen und der dafür reservierte Speicherplatz
wieder freigegeben.
Transaktions-Interface
Im Layout „Transaktionen“ (siehe Abb. 1) sind die bisher
gezeigten Möglichkeiten nebst einigen weiteren in einer
übersichtlichen Oberfläche dargestellt, sodass Sie ein unmittelbares Feedback zu den durchgeführten Experimenten
bekommen. Hier können Sie nach Herzenslust experimentieren und Ihr Verständnis von Transaktionen unter FileMaker,
dem MBS-Plugin und MySQL vertiefen. Rechts oben finden
Sie die bereits aus den vorangegangenen Folgen bekannten
Parameter, die Sie benötigen, um eine Verbindung zu Ihrer
MySQL-Datenbank herzustellen.
MBS("SQL.Execute"; $Command)
5 Variable setzen
Name:$result
Wert:
MBS( "SQL.isResultSet"; $Command)
6 Wenn
Wert:
$result = 1
7 Feldwert setzen
Feld:NameTransaktionen::ergebnis
Wert:""
8 Schleife (Anfang)
9 Variable setzen
Name:$$ergebnis
Wert:
MBS ("SQL.FetchNext"; $Command)
10 Verlasse Schleife wenn
Wert:
$$ergebnis = "0"
11 Variable setzen
Name:$vorname
Wert:
MBS ("SQL.GetFieldAsText"; $command; "vorname")
12 Variable setzen
Name:$nachname
Wert:
MBS ("SQL.GetFieldAsText"; $command; "nachname")
13 Feldwert setzen
Abb. 1: Das Layout „Transaktionen“ fasst alle in dieser Folge vorgestellten Scripts
und Anweisungen übersichtlich zusammen.
Feld:Transaktionen::ergebnis
Wert:
Transaktionen::ergebnis & $vorname & " "
& $nachname & "¶"
14 Schleife (Ende)
15 Fenster aktualisieren
Option: Join-Ergebnisse im Cache löschen
Im Mittelpunkt des Layouts stehen die beiden Tabellen
Transaktionen und Transaktionsanweisungen, die über
eine Beziehung zwischen den Feldern id und id_transaktionen miteinander verbunden sind.
Option: Externe Daten im Cache löschen
16 Ende (wenn)
In Zeile 2 wird der Wert von sqlanweisung in die V
­ ariable
$SQL_string eingelesen, die in Zeile 3 an die Funktion
„MBS("SQL.NewCommand"; $$Connection; ­$SQL_string;)“
übergeben wird, die wiederum die Variable $Command
erzeugt. Mit der Funktion „MBS("SQL.Execute"; $Command)“ wird diese Variable dann zur Ausführung gebracht.
FMM_201601 Abb. 2: Die beiden Tabellen Transaktionen und T
­ ransaktionsanweisungen
sind über eine Beziehung zwischen den Feldern id und id_transaktionen verbunden.
29
Grundlagen
Die Schaltfläche „Transaktion vorbereiten“, die sich links
oben im Layout befindet, startet das Script „TransaktionVorbereiten“, dessen Ergebnis (= die Verbindungsnummer) über
die Variable $$Connection in das darunter liegende Textfeld
geschrieben wird. Wurde noch keine Verbindung aktiviert,
steht dort der Hinweis „keine Verbindung“. In der Abbildung
ist die Verbindung 23001 aktiv.
Darunter befindet sich die Schaltfläche „Transaktionsmodus
abrufen“, der das gleichnamige Script zugewiesen ist.
TransaktionsmodusAbrufen
1 Variable setzen
Name:$$Transaktionsmodus
Wert:
MBS ("SQL.GetAutoCommit"; $$Connection )
2 Fenster aktualisieren
Dieses Script ermittelt durch „MBS( "SQL.GetAutoCommit"; $$Connection)“, ob „Autocommit“ ein- oder ausgeschaltet ist. Wurde die MBS-Funktion „SQL.SetAutoCommit“
noch nicht ausgeführt, wird „unknown state: -1“ zurückgeliefert und das Ergebnis unterhalb der Schaltfläche „Autocommit ausschalten“ hinter „Transaktionsmodus:“ angezeigt.
Nachdem eine Transaktion vorbereitet wurde, empfiehlt es
sich also, das automatische Schreiben nach jeder Anweisung
über die Schaltfläche „AutoCommit ausschalten“ zu deaktivieren. Dazu wird das Script „AutoCommitAusschalten“ aufgerufen, das die gewünschte Aktion mit der Funktion „MBS
( "SQL.SetAutoCommit"; $$Connection; "Off " )“ ausführt.
Das Ergebnis wird danach unter der Schaltfläche angezeigt.
AutoCommitAusschalten
1 Variable setzen
Name:$result
Wert:
MBS ( "SQL.SetAutoCommit"; $$Connection; "Off" )
2 Variable setzen
Name:$$Transaktionsmodus
Wert:
MBS( "SQL.GetAutoCommit"; $$Connection )
3 Fenster aktualisieren
Unter dem Transaktionsmodus-Textfeld befinden sich die
beiden Schaltflächen „Rollback“ und „Commit“, mit denen
die aktuelle Transaktion beendet und das Script „TransaktCommitRollback“ aufgerufen wird – allerdings mit unterschiedlichen Parametern.
TransaktCommitRollback
7 Ende (wenn)
8 Variable setzen
Name:$result
Wert:
MBS("SQL.FreeCommand"; $Command)
9 Variable setzen
Name:$result
Wert:
MBS("SQL.FreeConnection"; $$Connection)
10 Variable setzen
Name:$$Connection
Wert:
"Keine Verbindung"
11 Variable setzen
Name:$$Transaktionsmodus
Wert:""
12 Fenster aktualisieren
Beim Klick auf die Schaltfläche „Commit“ wird die Funktion „MBS("SQL.Commit"; $$Connection)“ ausgeführt und
alle bisher über die Schaltfläche „Ausführen“abgerufenen
SQL-Anweisungen werden in der Datenbank festgeschrieben
und für andere Anwender sichtbar. Zudem wird die Variable
$$RollbackCommit auf den Wert „Commit ausgeführt“ gesetzt und unter den Schaltflächen „Rollback“ und „Commit“
angezeigt.
Würden Sie die in Abb. 1 dargestellte Löschanweisung
DELETE FROM buchshop.lieblingskundenv4
über die zugeordnete Schaltfläche ausführen, könnten Sie sich
mit der darunterliegenden SELECT-Anweisung
SELECT * FROM buchshop.lieblingskundenv4
den in dieser Verbindung aktuellen Zustand der Tabelle lieblingskundenv4 anzeigen lassen und würden feststellen, dass
die Datensätze bereits gelöscht sind. Andere Nutzer würden
diese Datensätze noch als existent angezeigt bekommen,
könnten sie aber nicht bearbeiten, da sie zur Bearbeitung gesperrt sind.
Mit einem Klick auf die Schaltfläche „Rollback“ wird das
Script „TransaktCommitRollback“ ebenfalls aufgerufen, allerdings werden in diesem Fall alle durchgeführten Anweisungen
über die Funktion „MBS("SQL.Rollback"; $$Connection)“
rückgängig gemacht, die Variable $RollbackCommit wird
entsprechend belegt und die Verbindung beendet. Nach Erstellen einer neuen Verbindung über „Transaktion vorbereiten“
können Sie mit der obigen SELECT-Anweisung feststellen,
dass alle Datensätze von lieblingskundenv4 „wieder da“ sind.
1 Wenn
Wert:
Hole ( ScriptParameter ) = "Commit"
2 Variable setzen
Name:$result
Wert:
MBS("SQL.Commit"; $$Connection)
3 Variable setzen
Name:$$RollbackCommit
Wert:
"Commit ausgeführt"
4 Sonst, wenn
Wert:
Hole ( ScriptParameter ) = "Rollback"
5 Variable setzen
Name:$result
Wert:
MBS("SQL.Rollback"; $$Connection)
6 Variable setzen
Name:$$RollbackCommit
Wert:
"Rollback ausgeführt"
30
Bei Ausführung der DELETE-Anweisung mit nachfolgendem „Commit“ wird diese festgeschrieben und die Datensätze
sind auch für andere Nutzer nicht mehr abrufbar. Sollten Sie
diese Kombination ausgeführt haben und möchten die Tabelle lieblingskundenv4 erneut befüllen, können Sie dazu die
Anweisung „Lieblingskunden in lieblingkundenv4 einfügen“
mit der id 19 im Layout „SQLMBS“, Register „Folge 9 und
10“ verwenden.
Fazit und Ausblick
Nachdem Sie in dieser Folge die Welt der Transaktionen
kennengelernt haben, werden wir uns das nächste Mal
FMM_201601
Aktuelle Versionen voraus­sichtlich mit Stored Procedures beschäftigen und eine
Alternative zu der von MySQL nicht beherrschten MERGEAnweisung entwickeln.
♦
Fußnoten
1 Einzelheiten hierzu finden Sie u.a. unter
https://www.youtube.com/watch?v=FQzXs9SXt-U und unter
https://www.geistinteractive.com/filemaker-transactions/.
Das Video und der Artikel von Geist Interactive sind allerdings auf
Englisch.
2 Ob es noch weitere FileMaker Plugins gibt, die das tun, ist mir nicht
bekannt. MBS unterstützt folgende externe Datenbanksysteme:
Oracle, SQL Server, DB2, Sybase, Informix, InterBase, SQLBase,
MySQL, PostgreSQL, SQL Anywhere, ODBC und SQLite.
FileMaker 14 (.fmp12)
FileMaker Pro FileMaker Pro Advanced
FileMaker Server FileMaker Go
MacintoshWindows
14.0v514.0v5
14.0v514.0v5
14.0v4a
14.0v4a
iPad, iPhone, iPod Touch
14.0.4
Es sind diese Sprachpakete verfügbar: deutsch, englisch, französisch, italienisch, japanisch, spanisch, niederländisch,
schwedisch, chinesisch, koreanisch, portugiesisch. Weitere Sprachversionen sind auf Anfrage erhältlich!
FileMaker 13 (.fmp12)Macintosh
Windows
FileMaker Pro
13.0v9
13.0v9
FileMaker Pro Advanced
13.0v9
13.0v9
FileMaker Server
13.0v10
13.0v10
iPad, iPhone, iPod Touch
FileMaker Go (.fmp12)
13.0.9
FileMaker 12 (.fmp12)
FileMaker Pro
FileMaker Pro Advanced
FileMaker Server
FileMaker Server Advanced
FileMaker Server/ Server Advanced
FileMaker Go
MacintoshWindows
12.0v5
12.0v4
12.0v5
12.0v4
12.0v5
12.0v5
12.0v5
12.0v5
Mac OS 10.9 (Mavericks)
12.0v6
iPad, iPhone, iPod Touch
12.0.8
FileMaker 11 (.fp7)
FileMaker Pro FileMaker Pro Advanced
FileMaker Server
FileMaker Server Advanced
FileMaker Go
MacintoshWin
11.0v41
11.0v31
11.0v4111.0v31
11.0v5111.0v51
11.0v5111.0v51
iPad, iPhone, iPod Touch
11.0.21
Für alle nachfolgend genannten Produkte leistet FileMaker keinen Support mehr:
Anzeige
Jetzt inn
Versio
6.0
FileMaker 10 (.fp7)
FileMaker Pro
FileMaker Pro Advanced
FileMaker Server
FileMaker Server Advanced
MacintoshWin
10.0v3
10.0v3
10.0v3
10.0v3
10.0v2
10.0v2
10.0v2
10.0v2
FileMaker 9 (.fp7)
FileMaker Pro
FileMaker Pro Advanced
FileMaker Server FileMaker Server Advanced
MacintoshWin
9.0v3
9.0v3
9.0v3
9.0v3
9.0v3
9.0v3
9.0v3
9.0v3
FileMaker 8.5 (.fp7)
FileMaker Pro
FileMaker Advanced MacintoshWin
8.5v2
8.5v2
8.5v2
8.5v2
FileMaker 8 (.fp7)
FileMaker Pro
FileMaker Pro Advanced FileMaker Server WPE für Server Advanced
FileMaker Mobile
MacintoshWin
8.0v3
8.0v3
8.0v3
8.0v3
8.0v4
8.0v4
8.0v3
8.0v3
Palm/Pocket PC
2
8.0v1
FileMaker 7 (.fp7)
FileMaker Pro
FileMaker Developer FileMaker Server FileMaker Server Advanced
MacintoshWin
7.0v3
7.0v3
7.0v3
7.0v3
7.0v3
7.0v3
7.0v3
7.0v3
FileMaker 6 (.fp5)
MacintoshWin
FileMaker Pro
6.0Dv46.0Dv4
FileMaker Developer
6.0Dv4
6.0Dv4
FileMaker Pro Unlimited
6.0Dv4
6.0Dv4
Web Companion
6.0Dv1/Dv236.0Dv1
OS 9
Win
FileMaker Server
5.5Dv1
5.5Dv1
Mac OS X
5.5Dv4
Palm/Pocket PC
FileMaker Mobile
2.1D
Updates/Patches
www.filemaker-magazin.de/service/aktuelle-filemaker-versionen
1
2
3
Der Support durch den Hersteller für die Produktfamilie FileMaker 11 endet am 25.09.2015.
Kompatibel mit FileMaker 8.0, FileMaker 8.5 und FileMaker 9.0.
Nur für Mac OS X.
Aktuelle Änderungen werden – wenn vorhanden – in roter Schrift aufgeführt!
FMM_201601 Stand: 26.02.2016
31
Neuigkeiten
Neues aus der FileMaker Welt
Die Website des
FileMaker Magazins ­
ist jetzt responsive
Das Online-Angebot des FileMaker Magazins wurde komplett im Responsive Design überarbeitet.
Responsive Webdesign nutzt eine aktuelle Technik, die das
einheitliche Anzeigen von Inhalten auf einer Webseite gewährleistet. Das Layout wird so flexibel gestaltet, dass es auf dem
Computer-Desktop, dem Tablet und dem Smartphone eine
gleichbleibende Benutzerfreundlichkeit bietet und die Inhalte
komplett und schnell vom Besucher erfasst werden können.
n JSON: Die JSON-Funktionen wurden grundlegend
über­arbeitet. So können jetzt statt JSON als Text auch
Referenznummern übergeben werden, wodurch das Parsen und damit die ganze Funktion deutlich schneller läuft.
n Neue Funktionen zum Abfragen von LDAP-Servern:
Wenn Sie LDAP-Server oder Active-Directory nutzen,
können Sie nun suchen und die Ergebnisse abfragen sowie
Einträge hinzufügen, ändern, löschen oder umbenennen.
n Neue DNSLookup-Funktionen: Sie können nun IPv4oder IPv6-Adressen zu einem Domainnamen bzw. den
Namen zur IP-Adresse ermitteln.
n Für Zip-Archive: Hier gibt die beiden neuen Funktionen
„UnZipFile.ExtractFiles“ (extrahiert alle Dateien eines
offenen Zip-Archivs in einen Ordner) und „ZipFile.CompressFiles“ (fügt Dateien zu einem Zip-Archiv hinzu).
n Das Responsive Design optimiert die Website auch für
mobile Geräte
n Die Webseiten sind schneller und noch sicherer als zuvor
n Der Webshop wurde komfortabler gestaltet, weitere
Verbesserungen folgen
n Die Website läuft mit dem RadiantMagic-System zur
Erleichterung der Integration weiterer Funktionen
n Neuanmeldungen erfolgen für Forum, Newsletter etc.
jetzt im sicheren Double-Opt-In-Verfahren
n Die SQL-Neuerungen betreffen die Befehle „Insert“, „Update“ und „Delete“: „FM.UpdateRecord“ (Datensatzaktualisierung ohne Layoutwechsel), „FM.InsertOrUpdateRecord“ (aktualisiert einen vorhandenen Datensatz oder
fügt einen neuen hinzu), „FM.DeleteRecord“ (Datensatz
ohne Beziehung oder Layoutwechsel löschen).
Verantwortlich für den Relaunch auf die neueste Server- und WebTechnologie zeichnet Stefan Husch von qutic development. Er
betreut die Webseiten des FileMaker Magazins seit 2010.
n HTML: Sie können HTML auch in die Zwischenablage kopieren bzw. abfragen. Verbesserungen gibt es auch
bei den Hash-, FSEvents-, Pfad-, Preferences-, Fenster-,
­Listen- und PDFKit-Funktionen.
https://filemaker-magazin.de/neuigkeit/3859
n Für Entwickler: Es gibt Kontextmenüs in einigen ListenSteuerelementen und die Farben für Formeln aktivieren
sich erst, wenn Sie den Scripteditor öffnen, damit normale
Benutzer von dieser Funktion nicht irritiert werden.
Systemvoraussetzungen:
Mac OS X 10.6 oder neuer, inklusive Mac OS X 10.11
Windows XP und neuer, inklusive Windows 10
FileMaker 9 bis 14
MBS-Plugin
in Version 6.0
Monkeybread Software hat das „MBS-Plugin für File­
Maker“ mit neuen Funktionen versehen und in der runden
Version 6.0 veröffentlicht. Mit mehr als 3.500 Features
zählt das Plugin zu den größten FileMaker Erweiterungen
auf dem Markt.
n DynaPDF-Funktionen: Der neue Befehl „Optimize“ dient
dazu, eine PDF-Datei neu aufzubauen und zu reparieren.
Außerdem gibt es z. B. die Befehle „DynaPDF.ExtractText“
und „DynaPDF.ExtractPageText, um einzelne Texte aus
PDF-Dateien bzw. Texte einer ganzen Seite zu extrahieren.
32
Das MBS-Plugin erhalten Sie ab € 99 (zuzüglich MwSt.) im
FMM Webshop oder auf der Webseite des Herstellers.
Webshop
www.filemaker-magazin.de/neuigkeit/3863
Neue Webinare zu
FileMaker
Auch im Jahr 2016 veranstaltet FileMaker wieder zahlreiche Webinare für Einsteiger und Anwender.
FMM_201601
Neuigkeiten
Die Webinare zu unterschiedlichen Themenbereichen sind
kostenlos und können live oder als Aufzeichnung angesehen
werden. Das Angebot wird laufend aktualisiert.
n Einführung in die Entwicklung maßgeschneiderter Apps
n Webinar-Serie zu den FileMaker Training Series: Basics,
dem kostenlosen FileMaker Training zum Selbststudium
n Die Vorteile von FileMaker Server 14
n Ihre App im Web
Hier finden Sie eine Übersicht der aktuellen FileMaker
Webinare 2016 und das Archiv aller aufgezeichneten Übertragungen:
www.filemaker.com/de/learning/webinars/index.html
Ihre FileMaker Go Lösung
als echte App
Wer seine FileMaker Go Lösung in eine eigenständig lauffähige App für iOS-Geräte konvertieren will und sich nicht
mit Xcode, dem iOS-App-SDK und anderen Schwierigkeiten herumschlagen möchte, kann jetzt eine neue Dienstleistung in Anspruch nehmen.
Das Kompetenz-Institut für Wirtschaftsinformatik (KIWI)
macht aus Ihrer FileMaker Lösung eine echte App. Im ersten
Schritt wird die Lösung einer Qualitätskontrolle unterzogen
und hinsichtlich der Optimierung für die vorgesehenen Geräte (iPhone, iPad usw.) geprüft. Anschließend erstellt KIWI
einen ausführlichen Report über möglicherweise gefundene Probleme. Auf Wunsch und nach vorheriger Absprache
wird die FileMaker Lösung auch überarbeitet. Bei fehlerfreier
Funktion kompiliert KIWI die Lösung zu einer App und sendet Ihnen das einsatzbereite Paket zurück.
eBook zu
FileMaker 14
Der Mandl & Schwarz-Verlag
hat zum neuen Jahr eine ausschließlich digitale Aktualisierung zu FileMaker 14 herausgebracht. Schwerpunkte des eBooks sind der Layoutbereich mit Effekten
und Werkzeugen sowie das Verfassen von Scripts mit
Fehlersuche und konkreten ­Arbeitsschritten.
Autor Horst Grossmann hat u. a. im FileMaker Magazin und
in der Zeitschrift Macwelt geschrieben. In diesem Ergänzungsband zeigt er, wie sich insbesondere die mobilen und
gestalterischen Funktionen für Datenbanken mit FileMaker
Pro 14 auswirken.
Neben dem Buch-Update zu FileMaker Pro 13 und dem
Grundlagenwerk zu Version 12 bietet sich hiermit die Möglichkeit, sich umfassender mit dem zum Thema „Flexible Datenbanken für Unternehmen via iPad, iPhone, Windows-PC,
Mac und Internet“ zu beschäftigen.
Das eBook richtet sich an Freiberufler und Unternehmer,
die sich in Sachen FileMaker fortbilden und in die aktuellen
Möglichkeiten hinsichtlich Automatisierung, Gestaltung
und Datenbank-Mobilität einarbeiten wollen.
Leseprobe und Download
Hier finden Sie eine Leseprobe zum Download (1,64 MB).
Das eBook ist mit 95 Seiten (PDF) oder 8,9 MB (ePUB)
­direkt bei Mandl & Schwarz für € 8,99 ladbar.
https://filemaker-magazin.de/neuigkeit/3862
Zum Testen der neuen Dienstleistung hat KIWI ein befristetes Angebot zusammengestellt. Dieses umfasst die Qualitätskontrolle, einen Datenbank-Report, kleinere Optimierungen
nach Absprache und eine einsatzfähige App zu einem Paketpreis von € 980 (zzgl. 19% MwSt.).
Das Einstiegs-Angebot gilt bei Auftragserteilung bis zum
31.03.2016.
KIWI – Kompetenz-Institut für Wirtschaftsinformatik
[email protected]
https://filemaker-magazin.de/neuigkeit/3861
FMM_201601 Frühbucherrabatt für
FileMaker DevCon, USA
Die diesjährige Konferenz findet vom 18. bis 21. Juli 2016
im The Cosmopolitan in Las Vegas, Nevada statt. Ein Aufruf zur „Early, early Bird“-Anmeldung verspricht Ermäßigungen bis zu € 715.
33
Neuigkeiten
Die internationale Konferenz der FileMaker Entwickler
Community richtet sich an alle, die neue Fertigkeiten erwerben, vorhandene Fähigkeiten ausbauen oder ihre Karriere durch den Einsatz der FileMaker Plattform voranbringen
möchten, um Apps für iPad, iPhone, Windows, Mac und
Webbrowser zu erstellen.
Die 21. FileMaker Developer Conference verspricht laut Veranstalter, eines der umfassendsten und spannendsten FileMaker
Weiterbildungsevents des Jahres zu werden. Die Teilnehmer
können aus einer breiten Auswahl von Sessions wählen, z. B. zu
Design, Mobilität, Entwicklung für das Web, FileMaker als Geschäftsgrundlage und Innovationen zu Big Data, sozialen Medien, Barcodes, neuer Hardware und sonstigen Technologien. Sie
werden Fertigkeiten, Strategien und bewährte Methoden für
den Aufbau maßgeschneiderter Apps kennen lernen und sich
mit FileMaker Entwicklern aus der ganzen Welt vernetzen.
Frühbucher-Ermäßigungen
Die Konferenzteilnehmer sparen € 715 des vollen Preises
(€ 1.880 nach dem 26. Mai) und zahlen nur € 1.165, wenn sie
die „Early, early Bird“-Ermäßigung nutzen, die ab sofort bis
31. März 2016 gebucht werden kann. Oder sie sparen € 445
des vollen Preises und zahlen im Rahmen der „Early Bird“Ermäßigung € 1.435 bis zum 26. Mai 2016.
Weitere Informationen erhalten Sie telefonisch beim
FileMaker Kundensupport unter +1 800 3252747 oder per
E-Mail.
Workshops zum
MBS-Plugin
Der Entwickler Christian Schmitz zeigt
in zwei eintägigen Trainings im März
und November 2016 Beispiele für die
vielfältigen Einsatzmöglichkeiten seines „MBS“-Plugins
in FileMaker Datenbanken.
Der Kurs bietet einen tiefgreifenden Einblick in die Benutzung und Entwicklung des Plugins. Workshop-Teilnehmer
haben die Möglichkeit, eine 5er-Lizenz zum Seminarpreis von
€ 70 zzgl. MwSt. zu erwerben.
n Einführung in das MBS-Plugin
n Rundgang durch ausgewählte Beispiele
n Gemeinsames Implementieren von Plugin-Funktionen in
eine Datenbank
n Up-/Download mit CURL auf HTTP/FTP-Server
n Ausfüllen eines Formulars auf einer Webseite
n Bilder bearbeiten
nPDF-Verarbeitung
nDruckerfunktionen
n Adressbuch und Kontakte abfragen unter Mac OS X
n Fragen und Antworten
Termine und Buchung
3. März 2016
3. November 2016
9:30-17:30 Uhr 9:30-17:30 Uhr FileMaker DevCon 2016 – Trainingstag und Ausstellung
Die Seminargebühr beträgt € 99 (€ 83,19 ohne MwSt.).
Am Konferenzort wird am Montag, den 18. Juli, ein eintägiges Trainingsevent für € 180 angeboten. Der Trainingstag
richtet sich sowohl an Neueinsteiger, die eine praktische Einführung in FileMaker wünschen, als auch an fortgeschrittene
Benutzer, die sich bereits im Vorfeld der Konferenz über die
Grundlagen informieren möchten.
Kursgröße: Ab drei bis maximal 20 Teilnehmer
Die Konferenz bietet zudem eine Ausstellung mit FileMaker
Dienstleistungen und Zusatzprodukten sowie eine Gelegenheit, um sich mit den Programmierern, Produktmanagern und Mitgliedern des technischen Supportteams von
FileMaker zu unterhalten. Zu den Highlights zählen der
Begrüßungsempfang, das jährliche Mittagessen unter dem
Motto „Women of FileMaker“ und die Dinnerparty für die
Teilnehmer.
FMM Experte
Ausstellungsstände werden für € 2.245 angeboten, ein Ausstellerpass für den ganzen Zeitraum kostet € 895.
Information und Buchung
Alle Informationen sowie die Möglichkeit zur Anmeldung
finden Sie hier:
https://r.online-reg.com/FileMaker_Devcon_2016/
34
Weitere Informationen erhalten Sie unter:
www.denkform.net/schulungen/Monkeybread0Software
/MBS0FileMaker0Plug-in0Workshop/MBSPI
Neu bei den FMM Experten
Zander Solutions UG
(haftungsbeschränkt)
Schuhgasse 1, 55545 Bad Kreuznach
Telefon:
E-Mail:
URL:
Ansprechpartner:
+49 170-3370219
[email protected]
zander-solutions.de Daniel Zander, Michael Kiefer
Kurzprofil
Informationen und Prozesse optimal verwalten – der Schlüssel
zum Erfolg. BWL-Einmaleins. Eigentlich. Denn so einfach es
sich anhört, so komplex ist es tatsächlich. Die Lösung: Zander
FMM_201601
Neuigkeiten
Solutions. Sie machen mit individuell programmierter Workflow-Software auf FileMaker Basis jeden Prozess schneller, einfacher und wirtschaftlicher.
Effizienz in allen Geschäftsprozessen ist das Ziel von Zander
Solutions. Hierfür analysiert das Team aus Unternehmer und
Programmierer jeden Geschäftsprozess und setzt ihn anschließend in eine intelligente, individuelle Software-Lösung um.
Ob Warenwirtschaftssystem, Controlling oder Projektmanagement, gern auch mit Integration eines Mailsystems: Alle
Betriebsabläufe werden schneller, einfacher und wirtschaftlicher.
Grundlage der agilen Softwareprogrammierung von Zander
Solutions ist das etablierte FileMaker Datenbanksystem. Ihre
auf dieser Basis entwickelten Anwendungen können nahtlos in
jeden Geschäftsprozess integriert werden, sind intuitiv handhabbar und laufen Device-unabhängig auf iPad, iPhone, Windows, Mac und im Web.
!!!
Warnung vor Abzocke
Haben Sie auch ein Schreiben der Firma OfficeMax
erhalten? Bitte zahlen Sie auf keinen Fall den Betrag,
der in dem Schreiben genannt wird, denn es steht
KEINE seriöse Firma dahinter!
Seit Ende 2015 erhalten wir Anfragen von unseren Kunden zu
diesen Schreiben: Angeboten wird ein FileMaker Pro, Business Package – oft in der noch gar nicht verfügbaren Version
15. Die Preise hierfür lauten meist € 595, oder auch mal stolze
­€ 1.280, jeweils zzgl. Steuern.
Aufmachung
Die gut aufgemachten und auf dem Postweg versandten S­ chreiben
in englischer Sprache haben die Anmutung einer Rechnung
und gelangen daher meist direkt in die Buchhaltung. De facto
handelt es sich allerdings um Angebote (engl. offers), die erst
durch die Zahlung des geforderten Betrags zu Aufträgen werden. Dieser Hinweis ist aber so klein geschrieben, dass er bei
oberflächlicher Betrachtung leicht überlesen wird. Der Betrag
soll auf ein Konto bei der Hipotekarna Bank in Montenegro
gezahlt werden, in anderen Fällen auch auf ein Konto bei der
Lovcen Bank, Montenegro oder der Bankia SA in Valencia,
Spanien. Danach verspricht OfficeMax die Zusendung eines
Freischaltcodes zum Download der Software von einer Website.
Was soll ich tun?
Die Firma FileMaker beobachtet den ganzen Vorgang sehr genau und bittet alle Empfänger dieser Schreiben, sich mit dem
FileMaker Support1 in Verbindung zu setzen: Alle Fälle werden
untersucht und es wird versucht, die Hintermänner zu finden.
Zahlen sollten Sie in keinem Fall! Woher die Betrüger die Adressdaten der angeschriebenen Anwender haben, konnte bisher
nicht schlüssig geklärt werden: Es ist aber auffällig, dass es sich
bei den angeschriebenen Firmen und den genannten Ansprechpartnern („contact person“) sehr oft um Personen handelt, die
– obschon zur Firma gehörig – meist gar nicht ins operative Tagesgeschäft eingebunden sind: Firmengründer, Teilhaber und
Geschäftsführer, die sehr oft gar nicht in Erscheinung treten.
Uns sind Fälle aus Deutschland, Österreich und der Schweiz bekannt, der Support bei FileMaker berichtet auch von Empfängern in Skandinavien, Großbritannien und den Niederlanden.
Resumee
Die weite Verbreitung von FileMaker Produkten ruft auch
Betrüger auf den Plan. Gesunde Skepsis ist bei allzu günstigen
Angeboten immer gerechtfertigt, bei dieser Methode scheint
der Betrüger allerdings mehr auf Unachtsamkeit in der Buchhaltung zu zählen, denn der Preis ist in keinem Fall verlockend
oder günstig. Sollten Sie Fragen hinsichtlich eingehender
Schrei­ben haben (per Post, Telefax oder E-Mail): Fragen Sie
uns, wir geben Ihnen gern weitere Tipps zur Verhaltensweise! Entsprechende Anfragen senden Sie bitte per E-Mail an
­[email protected] oder rufen Sie unsere Redaktion an unter Telefon: +49 40 589657970.
1 Per E-Mail an [email protected] oder telefonisch an
0800 724 35 14 (aus Deutschland), 0800 070 61 44 (aus Österreich)
oder 043 55 79 035 (aus der Schweiz)
Stand: 29.02.2016
Adressen
Deutschland, Österreich, Schweiz
FileMaker GmbH · Carl-von-Linde-Straße 38
85716 Unterschleißheim · Deutschland
Telefon
+49 89 317759 -0
Telefax
+49 89 317759 -20
URLwww.filemaker.com/de
FileMaker Info Line
Telefon (D, A)
Telefax (D, A)
Telefon (CH)
Telefax (CH)
FMM_201601 +49 1802 000534
+49 1802 000535
+49 89 317759 -70
+49 89 317755 -21
FileMaker Support Line
Montag bis Freitag von 9 bis 17 Uhr (außer an Feiertagen)
Deutschland
Österreich
Schweiz
1 0800 724 3514
0800 070 6144
043 55 79 0351
12 Rappen/Min. aus schweiz. Festnetz,
max. 60 Rappen/Min. Mobilnetz
Support Online: Fragen stellen
http://filemaker-de.custhelp.com/app/ask
(Eingangsbestätigung mit Vorgangsnummer und Ant­
wort innerhalb von zwei Tagen per E-Mail)
FileMaker, Inc. Zentrale
5201 Patrick Henry Drive · P.O. Box 58168
Santa Clara; CA 95052-8168 USA
[email protected]
URLwww.filemaker.com
FileMaker, Inc. Europa,
Mittlerer Osten & Afrika
2 Furzeground Way / Stockley Park East
Uxbridge / Middlesex UB11 1BB
United Kingdom
Stand: 29.02.2016
35
Anzeigen
MBS FileMaker Plugin
Workshop
n Neue Ideen für den Einsatz des MBS-Plugins
n Verbessern und erweitern Sie Ihre FileMaker Lösung
n MBS-Plugin zum Sonderpreis für Teilnehmer
Termine:
3. März 2016
3. November 2016
9:30 – 17:30 Uhr
Seminar-Gebühr:
€ 99 inkl. MwSt.
Seminar-Ort:
denkform GmbH in Hofheim
www.monkeybreadsoftware.de/workshop
Herunterladen