FileMaker meets Modern Dev Tools: FmClipTools + Raycast + VSCode

Wie Raycast-Integration repetitive Script-Bearbeitung beschleunigt und Fehler minimiert


Bildschirmfoto 2026-02-13 um 14.56.30.

Das Problem kennt jeder FileMaker-Entwickler

Stellen Sie sich folgendes Szenario vor: Sie entwickeln eine FileMaker-Lösung für einen Kunden und müssen Daten aus einer Katalog-Tabelle (T01_KATALOG) in eine Sortierdetails-Tabelle (_Sortierdetails) übertragen. Für jedes der 30 Produktfelder benötigen Sie einen identischen Script-Block, nur mit unterschiedlichen Feldnamen und Kategorien.

In FileMaker bedeutet das traditionell:

  1. Ersten Block manuell erstellen (6-8 Script-Schritte)
  2. Kopieren und 29× einfügen
  3. In jedem Block die Feldnamen einzeln ändern
  4. Kategoriewerte anpassen
  5. Hoffen, dass kein Tippfehler durchgerutscht ist

Zeitaufwand: Etwa 60 Minuten für 30 Felder
Fehlerquote: Hoch – Tippfehler bei POS_GELAENDER vs. POS_GELÄNDER passieren

FileMaker bietet keine Möglichkeit für Search & Replace über Script-Schritte hinweg. Die Script Workspace ist ein exzellentes Tool für die Script-Entwicklung, aber bei repetitiven Massenänderungen stößt sie an ihre Grenzen.


Die Lösung: Externe Tools für spezifische Aufgaben

Seit Jahren gibt es mit FmClipTools von Dan Shockley eine Lösung für dieses Problem. Das AppleScript-basierte Tool konvertiert FileMaker-Objekte (Scripts, Custom Functions, Layout-Objekte) von der Zwischenablage in bearbeitbares XML und zurück.

Das Konzept ist simpel:

  • FileMaker-Objekte kopieren
  • FmClipTools konvertiert zu XML
  • XML in beliebigem Editor bearbeiten
  • FmClipTools konvertiert zurück
  • In FileMaker einfügen

Das funktioniert. Aber:

Der traditionelle Workflow mit FmClipTools erforderte Terminal-Befehle oder Navigation durch macOS Script-Menüs. Für gelegentliche Nutzung okay, für den täglichen Einsatz zu umständlich. Die mentale Barriere war hoch genug, dass ich FmClipTools nur bei wirklich großen Projekten einsetzte.

Dann kam Raycast.


Raycast: Der entscheidende Workflow-Beschleuniger

Raycast ist ein Launcher für macOS (ähnlich Alfred oder Spotlight, aber extensibler). Die Besonderheit: Man kann eigene Scripts als Commands einbinden, die per Tastatur-Shortcut aufrufbar sind.

Das klingt erst mal nach einer kleinen Optimierung. Aber der Unterschied in der Praxis ist erheblich.

Workflow-Vergleich

Ohne Raycast (traditionell):

1. FileMaker → Script Steps markieren und kopieren (Cmd+C)
2. Terminal öffnen oder Script-Menü aufrufen
3. FmClipTools-Befehl finden und ausführen
   (osascript ~/Code/FmClipTools/Scripts/fmClip\ -\ Clipboard\ FM\ Objects\ to\ XML.applescript)
4. VSCode öffnen
5. Neue Datei erstellen
6. XML einfügen (Cmd+V)
7. Bearbeiten
8. XML kopieren (Cmd+A, Cmd+C)
9. Terminal/Script-Menü → Zurück-Konvertierung
10. FileMaker → Einfügen (Cmd+V)

Kontext-Wechsel: 5×
Kognitive Last: Terminal-Befehle merken, Pfade kennen
Zeit für Konvertierung: ~15-20 Sekunden pro Richtung

Mit Raycast:

1. FileMaker → Script Steps markieren und kopieren (Cmd+C)
2. Raycast öffnen (Cmd+Space)
3. Tippen: "fm to" → Enter
4. VSCode → XML einfügen, bearbeiten
5. XML kopieren (Cmd+A, Cmd+C)
6. Raycast öffnen (Cmd+Space)
7. Tippen: "xml to" → Enter
8. FileMaker → Einfügen (Cmd+V)

Kontext-Wechsel: 2×
Kognitive Last: Zwei einfache Befehle
Zeit für Konvertierung: ~3 Sekunden pro Richtung

Der eigentliche Unterschied

Es geht nicht um die gesparten 10 Sekunden. Es geht um Reibungslosigkeit.

Mit Raycast wird FmClipTools vom “mächtigen Spezial-Tool für große Projekte” zum alltäglichen Workflow-Baustein. Die mentale Schwelle, das Tool einzusetzen, verschwindet.

Vorher dachte ich: “Lohnt sich der Aufwand für nur 5 Felder?”
Heute denke ich: “Cmd+Space, fm to, Enter – fertig.”

Das ist der Unterschied zwischen einem Tool, das man kennt, und einem Tool, das man tatsächlich nutzt.


Die Komponenten im Detail

FmClipTools: Das Fundament

GitHub: DanShockley/FmClipTools

FmClipTools ist ein AppleScript-basiertes Toolset von Dan Shockley. Es konvertiert FileMaker-Clipboard-Objekte in XML und zurück.

Was es kann:

  • Script Steps ↔ XML
  • Custom Functions ↔ XML
  • Layout Objects ↔ XML
  • Fields/Tables ↔ XML
  • Value Lists ↔ XML
  • Themes ↔ XML

Was wichtig ist:

  • Seit Jahren bewährt
  • Aktiv maintained (letzte Updates August 2025 für FileMaker Pro 2025)
  • Open Source (MIT License)
  • Einschränkung: Nur macOS (AppleScript-Basis)

VSCode: Der Editor

Visual Studio Code ist meine IDE der Wahl für Code-Arbeit. Für FileMaker-XML bietet VSCode:

Relevante Features:

  • Search & Replace mit Regex
  • Multi-Cursor für parallele Änderungen
  • XML Tools Extension (automatisches Formatieren)
  • Git-Integration (XML-Dateien versionierbar)

Konkret nützlich:

// Regex Replace: Alle Tabellenreferenzen ändern
Suchen (Regex):    table="T01_KATALOG" id="(\d+)" name="([^"]+)"
Ersetzen:          table="T02_ARTIKEL" id="$1" name="$2"

Oder Multi-Cursor:

1. Cmd+F → "T01_KATALOG" suchen
2. Cmd+Shift+L → Alle Vorkommen markieren
3. Direkt tippen: "T02_ARTIKEL"
→ Alle 47 Vorkommen gleichzeitig geändert

Das geht in FileMaker schlicht nicht.

Extension-Empfehlung:

  • XML Tools (Josh Johnson)

Installation:

code --install-extension DotJoshJohnson.xml

Raycast: Der Klebstoff

Raycast Homepage

Raycast ist ein Launcher für macOS. Relevant für diesen Workflow:

Script Commands:
Man kann Shell-Scripts als Raycast-Commands registrieren. Diese werden dann:

  • Per Tastatur auffindbar (fuzzy search)
  • Sofort ausführbar
  • Im Hintergrund laufend (silent mode)

Setup für FmClipTools:

Drei kleine Wrapper-Scripts in:
~/Library/Application Support/Raycast/Script Commands/FmClipTools/

Script 1: fm-to-xml.sh

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title FM → XML
# @raycast.mode silent
# @raycast.packageName FmClipTools

# Optional parameters:
# @raycast.icon 📋
# @raycast.description Convert FileMaker Clipboard to XML

osascript "$HOME/Code/FmClipTools/Scripts/fmClip - Clipboard FM Objects to XML.applescript"

Script 2: xml-to-fm.sh

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title XML → FM
# @raycast.mode silent
# @raycast.packageName FmClipTools

# Optional parameters:
# @raycast.icon 📝
# @raycast.description Convert XML to FileMaker Clipboard

osascript "$HOME/Code/FmClipTools/Scripts/fmClip - Clipboard XML to FM Objects.applescript"

Ausführbar machen:

chmod +x ~/Library/Application\ Support/Raycast/Script\ Commands/FmClipTools/*.sh

Nutzung:

  • Cmd+Spacefm to → Enter
  • Cmd+Spacexml to → Enter

Das war’s. Keine Menüs, keine Pfade, keine Befehle merken.

Und das Beste, es geht auch z.B. über Cursor vollständig autonom. Statt die Kommandos händisch abzusetzen, ein aussagekräftigen Prompt und alle Schritte werden durch z.B. Sonnet 4.5. eigenständig durchgeführt.


Praktisches Beispiel: 30 Felder in 25 Minuten

Ausgangslage

Kunde benötigt Script zur Datenübertragung von T01_KATALOG zu _Sortierdetails.
Für jedes Produktfeld (POS_HL, POS_BLENDEN, POS_STUETZEN, etc.) soll geprüft werden:

  1. Ist das Feld in T01_KATALOG befüllt?
  2. Falls ja: Neuen Datensatz in _Sortierdetails erstellen
  3. Kategorie setzen (“Handlauf”, “Blenden”, etc.)
  4. Menge übertragen

Ein Block sieht so aus (in FileMaker):

Wenn [ NICHT IstLeer ( T01_KATALOG::POS_HL ) ]
  Gehe zu Layout [ "tabelle_sortierdetails" ]
  Neuer Datensatz/Abfrage
  Feldwert setzen [ _Sortierdetails::t_bereich ; "Handlauf" ]
  Feldwert setzen [ _Sortierdetails::t_kategorie ; "Geländer" ]
  Feldwert setzen [ _Sortierdetails::Menge ; T01_KATALOG::POS_HL ]
Ende (wenn)

Das sind 7 Script-Schritte pro Feld × 30 Felder = 210 Script-Schritte.

Schritt 1: Basis-Block erstellen und kopieren

In FileMaker: Ersten Block für POS_HL manuell erstellen.

Script Steps markieren → Cmd+C

Schritt 2: Zu XML konvertieren

Raycast → Cmd+Space
Tippe: "fm to"
Enter

Zwischenablage enthält jetzt XML.

Schritt 3: In VSCode einfügen

VSCode → Cmd+N (neue Datei)
Cmd+V (einfügen)
Shift+Alt+F (XML formatieren)
Cmd+S → "katalog_to_sortierdetails.xml"

Das XML sieht so aus:

<?xml version="1.0" encoding="UTF-8"?>
<fmxmlsnippet type="FMObjectList">
  <Step enable="True" id="68" name="Wenn">
    <Restore state="False"></Restore>
    <Calculation><![CDATA[NICHT IstLeer (T01_KATALOG::POS_HL)]]></Calculation>
  </Step>
  <Step enable="True" id="6" name="Gehe zu Layout">
    <Restore state="False"></Restore>
    <LayoutDestination value="SelectedLayout"></LayoutDestination>
    <Layout id="40" name="tabelle_sortierdetails"></Layout>
  </Step>
  <Step enable="True" id="7" name="Neuer Datensatz/Abfrage">
    <Restore state="False"></Restore>
  </Step>
  <Step enable="True" id="76" name="Feldwert setzen">
    <Restore state="False"></Restore>
    <Repetition value="1"></Repetition>
    <Field table="_Sortierdetails" id="52" name="t_bereich"></Field>
    <Calculation><![CDATA["Handlauf"]]></Calculation>
  </Step>
  <Step enable="True" id="76" name="Feldwert setzen">
    <Restore state="False"></Restore>
    <Repetition value="1"></Repetition>
    <Field table="_Sortierdetails" id="53" name="t_kategorie"></Field>
    <Calculation><![CDATA["Geländer"]]></Calculation>
  </Step>
  <Step enable="True" id="76" name="Feldwert setzen">
    <Restore state="False"></Restore>
    <Repetition value="1"></Repetition>
    <Field table="_Sortierdetails" id="66" name="Menge"></Field>
    <Calculation><![CDATA[T01_KATALOG::POS_HL]]></Calculation>
  </Step>
  <Step enable="True" id="70" name="Ende (wenn)">
  </Step>
</fmxmlsnippet>

Schritt 4: Block duplizieren und anpassen

Block kopieren:

1. Zeilen 3-26 markieren (der gesamte Block)
2. Cmd+C
3. Cursor unter Block setzen
4. Cmd+V (29× wiederholen für insgesamt 30 Blöcke)

Pro Block anpassen (Beispiel für POS_BLENDEN):

Cmd+H (Find & Replace)

Suchen:    POS_HL
Ersetzen:  POS_BLENDEN
→ Replace All (in aktuellem Block)

Suchen:    "Handlauf"
Ersetzen:  "Blenden"
→ Replace All

Für 30 Felder: ~20 Minuten mit Copy-Paste + Replace.

Alternative für Fortgeschrittene:
Liste der Feldnamen in separater Datei → Python/Shell-Script generiert alle 30 Blöcke automatisch.

Schritt 5: Zurück zu FileMaker

VSCode: Cmd+A → Cmd+C (gesamtes XML kopieren)

Raycast: Cmd+Space → "xml to" → Enter

FileMaker: Script Workspace → Cmd+V

Fertig.

210 Script-Schritte sind jetzt im Script. Alle korrekt, keine Tippfehler.

Zeitvergleich

Manuell in FileMaker:

  • Ersten Block erstellen: 5 Minuten
  • 29× kopieren und anpassen: ~55 Minuten
  • Gesamt: ~60 Minuten
  • Fehlerquote: 2-3 Tippfehler wahrscheinlich

Mit FmClipTools + Raycast + VSCode:

  • Ersten Block erstellen: 5 Minuten
  • XML-Export: 10 Sekunden
  • 29× duplizieren und anpassen in VSCode: ~15 Minuten
  • XML-Import: 10 Sekunden
  • Gesamt: ~25 Minuten
  • Fehlerquote: ~0% (Regex statt Handarbeit)

Zeitersparnis: 35 Minuten = 58%

Und das bei deutlich geringerer Fehlerquote.


Wann lohnt sich der Workflow?

Sinnvoll bei:

Repetitive Script-Blöcke:

  • Mehr als 5 ähnliche Blöcke
  • Template-basierte Generierung
  • Massenänderungen an bestehenden Scripts

Tabellen-/Feldnamen ändern:

  • Refactoring nach Datenmodell-Änderung
  • Kunde ändert Namenskonventionen
  • Mehrsprachige Lösungen anpassen

Dokumentation:

  • XML-Dateien in Git versionierbar
  • Diff zeigt Script-Änderungen sauber
  • Code-Reviews außerhalb von FileMaker möglich

Overhead bei:

Kleine Änderungen:

  • Einzelne Script-Schritte anpassen
  • Ad-hoc Script-Entwicklung
  • Wenn ohnehin in FileMaker Script Workspace

Windows-Umgebung:

  • FmClipTools ist macOS-only
  • Keine Alternative mit vergleichbarer Qualität bekannt

Gelegentliche Nutzung:

  • Setup-Zeit amortisiert sich erst ab regelmäßigem Einsatz
  • Lernkurve: 2-3 Anwendungen bis Workflow sitzt

Setup-Anleitung

Voraussetzungen

  • macOS (FmClipTools basiert auf AppleScript)
  • FileMaker Pro (getestet mit FM 19-2025)
  • Raycast (kostenlose Version reicht)
  • VSCode (oder anderer XML-fähiger Editor)

Zeitaufwand: 15-20 Minuten einmalig

Schritt 1: FmClipTools installieren

# Ordner erstellen
mkdir -p ~/Code

# Repository klonen
cd ~/Code
git clone https://github.com/DanShockley/FmClipTools.git

# Testen
osascript ~/Code/FmClipTools/Scripts/fmClip\ -\ Clipboard\ FM\ Objects\ to\ XML.applescript

Wenn keine Fehlermeldung kommt: Installation erfolgreich

Schritt 2: VSCode vorbereiten

# XML Tools Extension installieren
code --install-extension DotJoshJohnson.xml

Optional: FileMaker VSCode Extension für Syntax-Highlighting bei Calculations:

code --install-extension jwillinghalpern.filemaker-vscode

Schritt 3: Raycast einrichten

Raycast installieren:

# Via Homebrew
brew install --cask raycast

# Oder von https://www.raycast.com herunterladen

Script Commands Ordner erstellen:

mkdir -p ~/Library/Application\ Support/Raycast/Script\ Commands/FmClipTools

Wrapper-Scripts erstellen:

Datei: ~/Library/Application Support/Raycast/Script Commands/FmClipTools/fm-to-xml.sh

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title FM → XML
# @raycast.mode silent
# @raycast.packageName FmClipTools
# @raycast.icon 📋
# @raycast.description Convert FileMaker Clipboard to XML

osascript "$HOME/Code/FmClipTools/Scripts/fmClip - Clipboard FM Objects to XML.applescript"

Datei: ~/Library/Application Support/Raycast/Script Commands/FmClipTools/xml-to-fm.sh

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title XML → FM
# @raycast.mode silent
# @raycast.packageName FmClipTools
# @raycast.icon 📝
# @raycast.description Convert XML to FileMaker Clipboard

osascript "$HOME/Code/FmClipTools/Scripts/fmClip - Clipboard XML to FM Objects.applescript"

Ausführbar machen:

chmod +x ~/Library/Application\ Support/Raycast/Script\ Commands/FmClipTools/*.sh

Raycast neu starten:

killall Raycast && open -a Raycast

Testen:

Cmd+Space → "fm" tippen
→ Sollte "FM → XML" und "XML → FM" zeigen

Schritt 4: Ersten Test durchführen

  1. In FileMaker: Mini-Script erstellen (3-5 Steps)
  2. Script Steps kopieren: Cmd+C
  3. Raycast: Cmd+Space → “fm to” → Enter
  4. VSCode: Neue Datei → Cmd+V → Shift+Alt+F
  5. Etwas ändern: z.B. Feldname
  6. Kopieren: Cmd+A → Cmd+C
  7. Raycast: Cmd+Space → “xml to” → Enter
  8. FileMaker: Neues Script → Cmd+V

Wenn die geänderten Script-Schritte korrekt eingefügt werden: Setup vollständig!


Erfahrungswerte nach 30 Tagen Praxiseinsatz

Einsatz-Häufigkeit

Meine Nutzung (FileMaker-Vollzeit-Entwickler):

  • 3-4× pro Woche bei größeren Projekten
  • 1-2× pro Woche bei Wartung/Refactoring
  • Hauptsächlich: Script-Template-Duplikation, Massenänderungen

Typische Use-Cases:

  • Katalog-Import-Scripts (20-40 Felder)
  • Berechtigungssysteme (ähnliche Scripts pro Rolle)
  • Refactoring nach Datenmodell-Änderungen

Zeitersparnis

Pro Einsatz:

  • Bei 10-20 Feldern: ~15-20 Minuten gespart
  • Bei 30+ Feldern: ~30-40 Minuten gespart
  • Pro Monat: ca. 2-3 Stunden

Wichtiger als Zeitersparnis:

  • Fehlerrate massiv reduziert
  • Mentale Last geringer (kein monotones Copy-Paste)
  • Dokumentation als Nebeneffekt (XML-Dateien)

Fehlerreduktion

Messbar weniger Fehler bei:

  • Tippfehler in Feldnamen: -90%
  • Vergessene Anpassungen: -95%
  • Falsche Layout-Referenzen: -100% (Regex findet alle)

Beispiel:
Vorher: Bei 30 Feldern durchschnittlich 2-3 Fehler, die beim Testen auffielen.
Jetzt: 0 Fehler durch Search & Replace.

Nicht erwartete Vorteile

Git-Integration:

  • XML-Dateien versionierbar
  • Script-Änderungen in Git-Diff sichtbar
  • Code-Reviews möglich (ohne FileMaker zu öffnen)

Dokumentation:

  • XML ist menschenlesbar
  • Kann als Script-Dokumentation dienen
  • Einfacher zu archivieren als Screenshots

Template-Bibliothek:

  • Häufige Script-Muster als XML-Templates
  • Wiederverwendbar über Projekte hinweg
  • Schneller als FileMaker Copy-Paste zwischen Dateien

Einschränkungen und wichtige Hinweise

Technische Einschränkungen

Nur macOS:

  • FmClipTools basiert auf AppleScript
  • Keine Windows-Alternative bekannt
  • Parallels/VM funktioniert, aber umständlich

FileMaker-IDs bleiben erhalten:

  • Script-Step-IDs, Field-IDs, Layout-IDs werden nicht neu generiert
  • Bei Copy-Paste zwischen Dateien kann das Probleme machen
  • Lösung: XML manuell anpassen oder FmClipTools-Variante nutzen

Nicht alle FileMaker-Objekte:

  • Custom Functions: Funktioniert, aber eingeschränkt bearbeitbar
  • Wertelisten: Funktioniert
  • Scripts: Perfekt
  • Themes: Funktioniert (seit 2023)

Workflow-Einschränkungen

Lernkurve:

  • Erste 1-2 Anwendungen: Unsicherheit
  • Nach 3-4 Anwendungen: Workflow sitzt
  • XML-Kenntnisse hilfreich, aber nicht zwingend

Raycast-Kosten:

  • Free Version: Völlig ausreichend
  • Pro Version: €8/Monat (wenn man Raycast intensiv nutzt)
  • Alternative: Alfred Powerpack (~€25 einmalig)

Fehlerquellen:

Selbstschließende Tags funktionieren NICHT:

<!-- FALSCH (FileMaker erkennt es nicht): -->
<Restore state="False"/>

<!-- RICHTIG: -->
<Restore state="False"></Restore>

Mehrere <fmxmlsnippet> Blöcke in einer Datei:

  • Nur EIN Block pro Konvertierung!
  • Bei mehreren: Nur erster wird konvertiert

Wann NICHT verwenden

Bei einzelnen kleinen Änderungen:

  • Overhead lohnt sich nicht
  • FileMaker Script Workspace schneller

Bei komplexen Berechnungen:

  • FileMaker Data Viewer besser zum Testen
  • Calculation Dialog zeigt Fehler direkt

Bei Layout-Design:

  • Layout-Objekte sind in XML schwer zu visualisieren
  • Besser direkt in FileMaker

Weiterführende Möglichkeiten

Python-Script-Generierung

Für wirklich große Projekte (50+ ähnliche Blöcke):

# generate_fm_scripts.py
import xml.etree.ElementTree as ET

fields = [
    ("POS_HL", "Handlauf"),
    ("POS_BLENDEN", "Blenden"),
    # ... 50 weitere
]

template = """<Step enable="True" id="68" name="Wenn">
  <Calculation><![CDATA[NICHT IstLeer (T01_KATALOG::{field})]]></Calculation>
</Step>"""

for field, category in fields:
    print(template.format(field=field, category=category))

Kombiniert mit FmClipTools: Generierung in Sekunden.

Git-basierter Workflow

Scripts als XML in Git:

# FileMaker-Projekt mit Git-Repo
~/Projects/CustomerDB/
├── database/
│   └── customer.fmp12
└── scripts/
    ├── import_catalog.xml
    ├── export_reports.xml
    └── automation/
        └── nightly_backup.xml

# Workflow:
1. Script in FileMaker entwickeln
2. FmClipTools → XML exportieren
3. Git commit mit Beschreibung
4. Bei Bedarf: XML → FmClipTools → FileMaker reimportieren

Vorteil: Script-Historie außerhalb von FileMaker.

Team-Workflows

Code-Reviews ohne FileMaker:

# Kollege schickt Pull Request mit Script-Änderungen
git diff scripts/import_catalog.xml

# Zeigt genau was geändert wurde:
- <Field table="T01_KATALOG" name="alte_bezeichnung">
+ <Field table="T01_KATALOG" name="neue_bezeichnung">

Review im Browser, ohne FileMaker zu öffnen.

Template-Bibliothek

Häufige Script-Muster als Snippets:

~/FileMaker-Templates/
├── if-field-not-empty.xml
├── create-related-record.xml
├── export-to-excel.xml
└── send-email-with-attachment.xml

Bei Bedarf: Template laden → anpassen → importieren.


Alternative Ansätze

Für Windows-Nutzer

Clipboard Explorer (2empowerFM):

  • Kommerziell (~€30)
  • Ähnliche Funktionalität wie FmClipTools
  • Weniger aktiv maintained

BaseElements Plugin:

  • Free FileMaker Plugin
  • Kann Script-XML exportieren
  • Kein direktes Clipboard-Handling

Für Terminal-Affine

FmClipTools direkt via Shell-Aliases:

# ~/.zshrc
alias fm2xml="osascript ~/Code/FmClipTools/Scripts/fmClip\ -\ Clipboard\ FM\ Objects\ to\ XML.applescript"
alias xml2fm="osascript ~/Code/FmClipTools/Scripts/fmClip\ -\ Clipboard\ XML\ to\ FM\ Objects.applescript"

# Nutzung:
fm2xml  # statt Raycast

Schneller als Raycast für Terminal-Nutzer.

Für Alfred-Nutzer

Alfred Workflows mit gleicher Funktionalität erstellbar:

Keyword: "fm2xml" → Run Script → osascript ...
Keyword: "xml2fm" → Run Script → osascript ...

Raycast hat aber bessere Script-Command-Integration.


Fazit

Raycast macht den Unterschied

FmClipTools existiert seit Jahren und ist ein ausgezeichnetes Werkzeug. Aber erst mit Raycast wird es zum alltäglichen Workflow-Baustein.

Der Zeitgewinn kommt nicht primär vom XML-Editing (das ging vorher auch), sondern von der Reibungslosigkeit des Prozesses.

Keine Terminal-Befehle. Keine Menü-Navigation. Keine Pfade merken.
Nur: Cmd+Space → drei Buchstaben → Enter.

Das ist der Unterschied zwischen “kenne ich” und “nutze ich täglich”.

Für wen geeignet?

Definitiv für:

  • FileMaker-Entwickler mit repetitiven Script-Aufgaben
  • Teams, die Script-Dokumentation außerhalb von FM wollen
  • Refactoring-intensive Projekte
  • macOS-Nutzer

Eher nicht für:

  • Gelegentliche FileMaker-Nutzer
  • Windows-Entwickler (mangels FmClipTools)
  • Wer Terminal-Workflows bevorzugt (Raycast dann unnötig)

Persönliche Empfehlung

Nach 2 Tagen intensiver Nutzung: Klare Empfehlung.

Die 20 Minuten Setup-Zeit haben sich bereits nach der zweiten Anwendung amortisiert. Die Fehlerreduktion allein wäre es wert, die Zeitersparnis ist Bonus.

Ein Tool zum Arbeiten.


Downloads und Ressourcen

Software


Wenn Starlink dein VPN blockiert: Die Relay-Server-Lösung

Ein praktischer Leitfaden für FileMaker-Entwickler und Remote-Worker

Als FileMaker-Entwickler arbeite ich regelmäßig remote an Kundenprojekten. Der Zugriff auf interne FileMaker-Server erfolgt dabei manchmal über OpenVPN. Das funktionierte über Jahre hinweg problemlos, bis ich auf Starlink als Internet-Provider wechselte.

Die Symptome

Die VPN-Verbindung schien auf den ersten Blick zu funktionieren:

  • TLS-Handshake erfolgreich
  • Zertifikate werden akzeptiert
  • Verbindung zum VPN-Server wird aufgebaut

Aber dann: AUTH_FAILED

Interessanterweise zeigte der VPN-Server keinerlei Login-Versuche in seinen Logs. Es war, als würde die Authentifizierung ins Leere laufen.

Ein schneller Test mit dem Smartphone als Hotspot (mobiles Netz) brachte Klarheit: Die VPN-Verbindung funktionierte sofort einwandfrei.

Das bedeutet:

  • Die Credentials sind korrekt
  • Die VPN-Konfiguration ist valide
  • Starlink manipuliert oder blockiert OpenVPN-Traffic

Starlink ist bekannt dafür, dass es mit bestimmten VPN-Protokollen auf Standard-Ports Probleme gibt. Die Gründe sind vielfältig:

  1. Carrier-Grade NAT (CGNAT): Starlink nutzt oft mehrere NAT-Ebenen, was VPN-Protokolle verwirren kann
  2. Traffic-Shaping: Bestimmte Protokolle werden priorisiert oder gedrosselt
  3. Deep Packet Inspection: OpenVPN-Pakete auf Port 1194 (TCP) werden möglicherweise erkannt und anders behandelt
  4. Satellitenlatenz: Die hohe Latenz kann bei bestimmten Protokollen zu Timeouts führen

In meinem Fall wurde die Verbindung technisch aufgebaut, aber die Authentifizierungs-Pakete kamen nie beim Server an oder wurden fehlerhaft übertragen.

Die Lösung: Ein VPN-Relay-Server

Statt gegen Starlink anzukämpfen, habe ich einen Workaround entwickelt: Ein Relay-Server als VPN-Vermittler.

Die Architektur

Mein Mac (Starlink) 
    ↓ [Normaler TCP-Traffic]
Windows Server (Cloud/Rechenzentrum)
    ↓ [OpenVPN]
Kunden-FileMaker-Server

Der Trick: Der Relay-Server hat eine normale Internet-Verbindung ohne Starlink-Einschränkungen und baut die OpenVPN-Verbindung problemlos auf.

Warum einen eigenen Server nutzen?

In meinem Fall hatte ich bereits einen gemieteten Windows Server. Statt einen zusätzlichen VPS zu mieten, nutze ich einfach diesen:

Vorteile:

  • Keine zusätzlichen Kosten
  • Bestehende Infrastruktur nutzen
  • Volle Kontrolle über die Konfiguration
  • Kann für mehrere Kundenprojekte genutzt werden
  • Einfach ein-/ausschaltbar

Technische Umsetzung

Schritt 1: OpenVPN auf dem Relay-Server

Auf dem Windows Server (könnte auch Linux sein):

  1. OpenVPN Client installieren
  2. Die VPN-Config des Kunden importieren
  3. Verbindung aufbauen – funktioniert problemlos!

Schritt 2: Port-Forwarding einrichten

Der elegante Teil: Ich richte auf dem Relay-Server ein Port-Forwarding ein, sodass ich vom Mac aus direkt auf den Kunden-FileMaker-Server zugreifen kann.

Windows (PowerShell als Admin):

# Port 15003 auf den FileMaker-Server weiterleiten
netsh interface portproxy add v4tov4 ^
  listenport=15003 ^
  listenaddress=0.0.0.0 ^
  connectport=5003 ^
  connectaddress=192.168.00.00

# Firewall öffnen
netsh advfirewall firewall add rule ^
  name="FileMaker Relay" ^
  dir=in action=allow protocol=TCP localport=15003

Linux Alternative:

# Mit iptables
iptables -t nat -A PREROUTING -p tcp --dport 15003 \
  -j DNAT --to-destination 192.168.00.00:5003
iptables -t nat -A POSTROUTING -j MASQUERADE

# Oder mit socat (einfacher für Tests)
socat TCP-LISTEN:15003,fork TCP:192.168.00.00:5003

Schritt 3: Vom Mac aus verbinden

In FileMaker Pro einfach als Host eintragen:

mein-relay-server.de:15003

Fertig! Der FileMaker Server ist erreichbar, als wäre er direkt im Internet.

Sicherheitsüberlegungen

Wichtig:

  1. Port-Forwarding nur für vertrauenswürdige Ziele – du leitest Traffic durch deinen Server
  2. Firewall-Regeln eng fassen – nur die benötigten Ports öffnen
  3. Starke Authentifizierung am FileMaker-Server selbst
  4. Logging aktivieren – um unbefugte Zugriffe zu erkennen
  5. IP-Whitelist in Betracht ziehen, falls deine eigene IP stabil ist

Performance

Durch den zusätzlichen Hop (Relay-Server) entsteht minimal zusätzliche Latenz:

  • Direkt (ohne Starlink-Problem): ~50ms
  • Via Relay: ~70-100ms

Für FileMaker-Development ist das völlig akzeptabel. Die Satellitenlatenz von Starlink (20-40ms) ist da meist der größere Faktor.

Kosten-Nutzen-Rechnung

Ohne eigenen Server:

  • VPS-Kosten: ~5€/Monat
  • Zeitaufwand Setup: ~1-2 Stunden einmalig
  • Nutzen: Produktives Arbeiten von jedem Ort mit Starlink

Mit eigenem Server:

  • Zusatzkosten: 0€
  • Zeitaufwand Setup: ~30 Minuten
  • Nutzen: Mehrere Kundenprojekte über einen Relay

Alternative (Handy-Hotspot):

  • Kosten: Mobiles Datenvolumen
  • Nachteil: Umständlich, langsamer, Akku leer

Für mich war die Relay-Lösung die perfekte Alternative.

Fazit

Starlink ist eine fantastische Technologie für Remote-Work – aber mit VPN-Verbindungen gibt es bekannte Hürden. Statt zu verzweifeln oder ständig auf Handy-Hotspot auszuweichen, bietet ein Relay-Server eine elegante, dauerhafte Lösung.

Die Einrichtung ist in unter einer Stunde erledigt und funktioniert dann zuverlässig. Besonders für FileMaker-Entwickler, die regelmäßig auf verschiedene Kunden-Server zugreifen müssen, ist diese Methode Gold wert.

Zusammengefasst

Problem: Starlink blockiert OpenVPN-Authentifizierung
Lösung: Relay-Server als VPN-Vermittler
Aufwand: 30-60 Minuten Setup
Kosten: 0-5€/Monat (falls kein eigener Server vorhanden)
Ergebnis: Produktives Arbeiten von überall


Weiterführende Ressourcen


Hast du ähnliche Erfahrungen mit Starlink und VPN gemacht? Welche Lösungen hast du gefunden? Schreib es in die Kommentare!


Seamless Email Integration for FileMaker – now in English!

Seamless Email Integration for FileMaker – now in English!

Now available: FM MailBridge – the add-on for anyone who wants to integrate email into their FileMaker solutions seamlessly. No external tools. No manual workarounds. Just pure IMAP.

Whether you’re using it as a standalone on your local machine, deploying it on a server, or bundling it into your own commercial FileMaker projects – FM MailBridge makes it possible to process and manage emails directly within FileMaker. Clean, efficient, and fully customizable.

What is FM MailBridge?

FM MailBridge is a standalone PHP-based module that connects directly to IMAP mailboxes and delivers structured email data – including attachments – to FileMaker via Insert from URL. The complete message is returned as JSON, including: • Sender, subject, date • Email body (plain text or HTML) • Attachments (Base64-encoded, with filename & MIME type)

The integration is designed to work with any FileMaker solution – locally, server-side, or as part of a commercial product.

Three license models to fit your needs:

  1. Single User – €49 For local use by developers or single users. Runs via local web server.

  2. Server – €199 For centralized use on a FileMaker Server (via scheduled script or PSOS). No client setup required.

  3. Enterprise – €699 For developers and agencies who want to integrate FM MailBridge into their own FileMaker products and resell it.

Why FM MailBridge? • Direct IMAP access – no Google API or OAuth required • Works with Gmail, Outlook, hosted mailboxes, and more • Returns structured email data as JSON (incl. attachments) • Fully customizable for any FileMaker environment • No external tools – just PHP and FileMaker

Technical Background

The solution relies on a lean PHP script that connects to an IMAP inbox, fetches and processes emails, and returns them as JSON. FileMaker then handles this data within its own table structure. The setup is solid, battle-tested with thousands of messages, and intentionally lightweight.

Product page & download: filemaker-experts.de/applicati…


FM MailBridge ist da, E-Mails direkt in FileMaker integrieren

Image server.

Ab sofort verfügbar: FM MailBridge, das Add-on für alle, die E-Mails nahtlos in ihre FileMaker-Lösungen einbinden möchten ohne externe Tools, ohne manuelle Umwege, direkt per IMAP.

Ob als Einzelplatzversion, für den Servereinsatz oder als Entwicklerlizenz zur Weiterverwertung in eigenen Projekten. FM MailBridge macht es möglich, E-Mails automatisiert in deine FileMaker-Umgebung zu integrieren. Übersichtlich, effizient und vollständig anpassbar.

Was ist FM MailBridge?

FM MailBridge ist ein eigenständiges PHP-basiertes Modul, das sich direkt mit IMAP-Postfächern verbindet und E-Mails samt Anhängen strukturiert an FileMaker übergibt. Dieses erfolgt via Insert from URL. Dabei wird der komplette Mailinhalt als JSON übergeben: Absender, Betreff, Datum, Text (wahlweise HTML oder nur Text) und wenn vorhanden, Base64-kodierte Anhänge inkl. Dateiname und MIME-Typ.

Die Integration ist so konzipiert, dass sie in beliebige FileMaker-Projekte eingebaut werden kann. Entweder lokal, serverseitig oder als Bestandteil einer kommerziellen Lösung.

Drei Lizenzmodelle für jeden Anwendungsfall:

  1. Einzelplatz Für den lokalen Abruf durch einen Entwickler oder Einzelplatznutzer. Einrichtung über lokalen Webserver. -49 €

  2. Server Für den zentralen Einsatz auf einem FileMaker Server (mit Zeitplan oder PSOS). Keine Client-Einrichtung nötig. -199 €

  3. Enterprise Für Entwickler und Agenturen, die FM MailBridge in eigene FileMaker-Projekte einbauen und weiterverkaufen möchten. -699 €

Was macht FM MailBridge besonders?

•	Nutzt reinen IMAP-Zugriff, keine Google API oder OAuth erforderlich
•	Funktioniert mit Gmail, Outlook, Webhostern u. v. m.
•	Übergibt Mails strukturiert als JSON (inkl. Anhänge)
•	Vollständig anpassbar für beliebige FileMaker-Lösungen
•	Keine externen Tools nötig, nur PHP & FileMaker

Technischer Hintergrund

Die Kommunikation erfolgt über ein kompaktes PHP-Skript, das IMAP-Mails abruft, verarbeitet und als JSON zurückliefert. FileMaker verarbeitet diese Daten direkt innerhalb der eigenen Tabellen-Strucktur. Der Aufbau ist stabil, getestet mit tausenden E-Mails und bewusst schlank gehalten.

Produktseite & Download: https://filemaker-experts.de/application.html

Fragen zur Integration, Lizenz oder Sonderfällen? Schreib uns an: support@filemaker-experts.de


Implementierung des IMAP‑AddOns in FileMaker

In unserem neuesten Video zeigen wir Schritt für Schritt, wie Sie unser IMAP‑AddOn in Ihre FileMaker‑Lösung integrieren – von der Einbindung bis zur ersten produktiven Nutzung. Innerhalb von nur zwei Minuten steht Ihnen ein vollwertiger Mail‑Client direkt in Ihrer FileMaker‑Umgebung zur Verfügung. Keine komplizierte Einrichtung, keine zusätzlichen Tools: einfach installieren, konfigurieren und loslegen.

Sehen Sie selbst, wie einfach sich E‑Mails abrufen, durchsuchen und verarbeiten lassen – nahtlos eingebettet in Ihre bestehende Lösung.

Link zum Video auf Canva von FileMaker Experts

Mein kleiner feiner Mail‑Client, auch als Add‑on nutzbar!

In den letzten Wochen habe ich etwas entwickelt, das ich selbst schon lange gebraucht habe: Einen voll anpassbaren Mail‑Client, der sich nahtlos in FileMaker integrieren lässt. Und weil es so gut geworden ist, gibt’s das Ganze jetzt auch als Add‑on für alle, die ähnliche Anforderungen haben. Eigentlich wollte ich nur die Funktionalität des Mail-Abrufes aufzeigen. Nun ist ein kleiner FileMaker-Mail Klient daraus geworden.

Bildschirmfoto 2025-07-15 um 13.10.37.

Was kann das Add‑on? -Durchdachte Ordnerliste, dynamisch per JavaScript erzeugt -Dateianhänge werden automatisch in Containerfelder importiert -Schlank und effizient, keine 2 MB Gesamtgröße -Vollständig anpassbar an eigene Workflows und Layouts -Einfach einzubinden und erweiterbar – auch mit eigenen Skripten oder PHP‑Backends

Damit lassen sich IMAP‑Postfächer direkt aus FileMaker heraus durchstöbern, Mails anzeigen, Anhänge sichern und vieles mehr, ohne zusätzliche schwere Tools.

Warum als Add‑on? Arbeite ich mit einem Plugin, dann wird es oft zeitaufwendig. Tabellen, Layouts, Scripte etc. in die eigene Lösung einbauen. Häufige schnelle Notlösung, die Dateien zum Plugin als weitere FileMaker-Datei einbinden. Das recht sich aber im späteren Prozess fast immer.

Neugierig geworden? Schreib mir gern hier direkt auf LinkedIn oder besuche filemaker-experts.de für weitere Infos. Ich zeige dir gern in einer Erklärung, wie es funktioniert und wie du es in deinem System einsetzen kannst!

#FileMaker #AddOn #MailClient #IMAP #LowCode #Entwicklung #Automation #BusinessTools #FileMakerExperts


Neues FileMaker-Add-on: IMAP-Mailabruf direkt und lokal

Ich habe ein kompaktes Add-on für FileMaker entwickelt, das IMAP-Mails inkl. Anhänge direkt aus FileMaker abrufen kann – komplett lokal, ohne externen Server oder API.

Datenschutzfreundlich: Läuft lokal auf Windows & macOS – kein Hosting, keine Cloud-Abhängigkeit

Technisch gelöst über PHP: Ein integrierter Mini-Server (portable PHP) macht’s möglich. Einfach starten, nutzen, fertig.

Add-on-kompatibel: Einfach in bestehende FileMaker-Lösungen integrierbar

Ideal für: • automatisierte Mail-Importe • Anhänge (z. B. Rechnungen) direkt in FileMaker verarbeiten • vollständige lokale Kontrolle ohne Drittanbieter

Wer Interesse hat: Ich biete auch eine Demo-Version mit 7-Tage-Testlaufzeit an.

Bei Fragen einfach melden – ich freu mich über Austausch!

IMAP FileMaker.

#FileMaker #IMAP #AddOn #PHP #Lokal #Datenschutz #MaRoProgrammierung


Clip Manager

Gerade bei Aufgaben die ständige Wiederholungen beinhalten dient mir nun schon längere Zeit das Tool -Clip Manager-(myFMbutler). Dies liegt in der Version 4 für Windows und MacOS vor. Gerade wenn man einen Schwung Tabellen, Layout-Elemete oder aber Scripte umbenennen möchte sollte man sich dieses kleine Hilfsprogramm einmal anschauen. Praktisch ist die Layout-Ansicht in der man sieht welche Bereiche gerade in Bearbeitung sind. 
Also solange FileMaker keinen vernünftigen Editor beinhaltet ist -Clip Manager- unverzichtbar.