FileMaker in der Praxis – Beispiele für ein einfaches CMS

21. Mai 2025

Einleitung

FileMaker eignet sich nicht nur für klassische Datenbankanwendungen, sondern kann auch als Basis für ein einfaches CMS dienen. Damit lassen sich Inhalte wie Blogposts, News oder Produktseiten verwalten und automatisiert für eine Website exportieren.

1. Struktur eines einfachen FileMaker-CMS

  • Tabellen: Beiträge, Kategorien, Benutzer
  • Felder in Beiträge: Titel, Inhalt (Rich Text), Kategorie, Veröffentlichungsdatum, Status (Entwurf/Veröffentlicht), Slug
  • Layouts: Übersicht, Bearbeiten, Vorschau

2. Export von Inhalten als HTML

Mit der Funktion LiesAlsCSS (engl. GetAsCSS) kannst du formatierten Text aus FileMaker als HTML/CSS exportieren.

Was macht LiesAlsCSS? Diese Funktion konvertiert formatierten Text in eine CSS-Darstellung. Das bedeutet, dass sie den Text inklusive Schriftart, Farbe, Größe und Formatierungen in CSS-Code umwandelt.

Syntax:

Text
LiesAlsCSS(Feldname)

Feldname: Das Textfeld, das formatierten Inhalt enthält. Beispiel:

Angenommen, das Feld Beschreibung enthält den Text "Wichtig!", der fett und rot formatiert ist.

Filemaker
LiesAlsCSS(Beschreibung)

Könnte folgende CSS-Ausgabe liefern:

HTML
<div style="font-family: Arial; font-size: 12pt; font-weight: bold; color: #FF0000;">Wichtig!</div>

Wann ist LiesAlsCSS nützlich?

  • Export von formatiertem Text in HTML oder Web-Anwendungen - Nützlich, wenn du FileMaker-Daten als HTML anzeigen möchtest.
  • Daten für E-Mails oder Web-APIs vorbereiten - Hilfreich für HTML-E-Mail-Vorlagen oder REST-API-Integrationen.
  • Formatierte Texte in anderen Programmen beibehalten - Beim Kopieren von FileMaker-Text in Web-Editoren oder externe Anwendungen.

🚀 Kurz gesagt: LiesAlsCSS hilft dir, formatierten Text aus FileMaker als HTML/CSS nutzbar zu machen!

3. Automatisierter Export auf den Webserver

Mit dem bBox-Plugin und macOS-Bordmitteln kannst du Inhalte automatisiert exportieren und hochladen.

Beispiel-Skript:

filemaker
# 1. HTML-Datei erzeugen
Set Variable [$pfad; Value: Get ( DesktopPath ) & Beiträge::Slug & ".html"]
Set Variable [$html; Value: LiesAlsCSS ( Beiträge::Inhalt )]
Export Field Contents [Beiträge::Inhalt; "$pfad"]

# 2. Datei per SFTP hochladen (bBox + curl)
Set Variable [$server; Value: "sftp://user:pass@meinserver.com/www/" & Beiträge::Slug & ".html"]
Set Variable [$cmd; Value: "curl -T " & Quote($pfad) & " " & Quote($server)]
Set Variable [$result; Value: MBS]

4. Kategorien und Navigation

Lege eine Tabelle Kategorien an und verknüpfe sie mit den Beiträgen. So kannst du auf der Website später nach Kategorien filtern.

Beispiel-Felder:

  • Kategorie-Name
  • Slug

5. Veröffentlichungs-Workflow

  • Beiträge können als Entwurf gespeichert und später veröffentlicht werden.
  • Ein Feld Status steuert, ob ein Beitrag exportiert wird.
  • Mit einem Script-Trigger kannst du beim Statuswechsel automatisch den Export anstoßen.

6. Bild-Upload und Bildverarbeitung

Ein wichtiger Bestandteil vieler CMS-Lösungen ist der Upload und die Verarbeitung von Bildern. Mit FileMaker und dem bBox-Plugin kannst du Bilder automatisiert verkleinern und auf einen Webserver hochladen.

Bild für das Web verkleinern

Das bBox-Plugin nutzt das macOS-Tool sips, um Bilder zu skalieren.

Beispiel-Skript:

filemaker
Set Variable [$input; Value: Get(DesktopPath) & "bild_original.jpg"]
Set Variable [$output; Value: Get(DesktopPath) & "bild_klein.jpg"]
Set Variable [$cmd; Value: "sips --resampleWidth 800 " & Quote($input) & " --out " & Quote($output)]
Set Variable [$result; Value: bBox_Shell ( $cmd )]
  • Das Bild wird auf 800 Pixel Breite skaliert (Höhe automatisch angepasst).
  • $input ist der Pfad zum Originalbild, $output der Pfad zum verkleinerten Bild.

Bild auf den Webserver hochladen

Auch hier kannst du das bBox-Plugin und curl nutzen:

Beispiel-Skript:

filemaker
Set Variable [$server; Value: "sftp://user:pass@meinserver.com/www/bilder/bild_klein.jpg"]
Set Variable [$localFile; Value: Get(DesktopPath) & "bild_klein.jpg"]
Set Variable [$cmd; Value: "curl -T " & Quote($localFile) & " " & Quote($server)]
Set Variable [$result; Value: bBox_Shell ( $cmd )]
  • Das verkleinerte Bild wird per SFTP auf den Webserver hochgeladen.

7. ODBC-Integration: FileMaker und externe SQL-Datenbanken

Ein weiterer Vorteil von FileMaker als CMS ist die Möglichkeit, Daten mit externen SQL-Datenbanken auszutauschen – zum Beispiel für die Synchronisation von Inhalten mit einer bestehenden Web-Datenbank oder für die Integration in Unternehmenssysteme.

FileMaker als ODBC-Client

Mit ODBC-Treibern kann FileMaker auf externe SQL-Datenbanken wie MySQL, Microsoft SQL Server oder PostgreSQL zugreifen.

Beispiel-Anwendung:

  • CMS-Inhalte werden in einer SQL-Tabelle gespeichert, die von einer Webanwendung genutzt wird.
  • FileMaker liest, bearbeitet und synchronisiert diese Inhalte direkt.

Schritte:

  1. ODBC-Treiber für die gewünschte Datenbank installieren (z.B. MySQL ODBC Connector).
  2. Datenquelle (DSN) im Betriebssystem einrichten.
  3. In FileMaker: Neue Tabelle als "Externe SQL-Quelle" (ESS) hinzufügen.
  4. Felder und Layouts wie gewohnt nutzen.

Beispiel für SQL-Abfrage in FileMaker:

filemaker
ExecuteSQL ( "SELECT Titel, Inhalt FROM cms_beiträge WHERE status = ?" ; ", " ; "\n" ; "veröffentlicht" )
  • Holt alle veröffentlichten Beiträge aus der externen SQL-Tabelle cms_beiträge.

FileMaker als ODBC-Server

Auch externe Anwendungen (z.B. BI-Tools, Webserver, Excel) können per ODBC auf FileMaker-Daten zugreifen.

Beispiel-Anwendung:

  • Die Webanwendung liest CMS-Inhalte direkt aus FileMaker.
  • Daten werden in Echtzeit synchronisiert.

Schritte:

  1. FileMaker ODBC-Treiber installieren.
  2. FileMaker-Datei für ODBC-Zugriff freigeben (in den Sharing-Einstellungen).
  3. DSN im Betriebssystem einrichten.
  4. Externe Anwendung verbindet sich per ODBC und liest/schreibt Daten.

8. Fazit und Ausblick

Mit wenigen Schritten lässt sich FileMaker als einfaches CMS für Webinhalte nutzen. Die Kombination aus Low-Code-Entwicklung, Automatisierung und Exportmöglichkeiten macht FileMaker zu einer flexiblen Lösung – besonders für kleine Teams oder individuelle Projekte.