U geeft om uw klanten, dus u bent van plan hen een enquête te e-mailen. En natuurlijk wendt u zich hiervoor tot Claris Studio.
Maar uw klanten geven helemaal niets om uw enquête, dus ze willen er zo weinig mogelijk tijd aan besteden. Oké, misschien willen ze wel wat feedback achterlaten, maar het laatste wat je zou willen dat ze moeten doen is handmatig hun naam, leeftijd, klantnummer, contracttype, land van verblijf, branche, aantal late betalingen, naam van hun accountmanager, netto-inkomsten, ... je snapt het wel.
U wilt die gegevens dus vooraf dynamisch doorgeven aan de view.
Te veel gevraagd voor Claris Studio? Nee!
Beter nog, het geeft ons niet één maar twee opties om gegevens van buitenaf door te geven aan formulieren en aangepaste weergaven. Beide resulteren in een aangepaste link die je bijvoorbeeld kunt delen in een e-mail of kunt presenteren als een QR-code.
(Als u de link bewerkt, gebruik dan Teksteditor of Kladblok in plaats van Pages, Word of Notities. Op deze manier weet u zeker dat u bij het kopiëren van de link de link zelf kopieert, en niet een label. Als u een tekstverwerkingsprogramma gebruikt, loopt u het risico dat u het label bewerkt in plaats van de link en dat u uiteindelijk de originele link kopieert in plaats van de gewijzigde link).
#1: Vooraf ingevulde formulierlinks
De eerste methode werkt alleen met formulierweergaven. Zorg er eerst voor dat het formulier gepubliceerd is. Klik op de knop Delen in de werkbalk bovenaan en schakel de schakelaar "Deellink ingeschakeld" in. U krijgt nu een link te zien, maar die is nog niet ingevuld. Klik op de knop "Configureren" onderaan om de vooraf ingevulde link te configureren.

Vervolgens krijgen we een aantal opties te zien. We raden aan om de spreadsheetkiezer in te stellen op "No Spreadsheet", omdat je dan de link zo flexibel mogelijk kunt gebruiken. Voeg de velden toe die beschikbaar moeten zijn in je URL. Voeg in het veld "Vooraf ingevulde gegevens" korte, gemakkelijk te onthouden strings toe. Klik vervolgens op Volgende om het op te slaan en je ziet je vooraf ingevulde link onderin het venster.

Dit is onze link(probeer het hier):
De URL heeft nu twee key-value paren gescheiden door een &
die de query parameters vormen (het deel na de ?
en voor de #
):
Kortetekst=NUMMER
Kortetekst2=NAAM
Ziet u de aanduidingen NUMMER
en NAAM
die we hebben toegevoegd in de velden "Vooraf ingevulde gegevens"? U kunt ze nu (programmatisch) vervangen door de waardes die u wilt.
Zorg ervoor dat u de queryparameters voor de #
houdt, zoals gedaan is doet wanneer u de link uit het dialoogvenster kopieert. URL-encode ook de waarden als ze rare tekens bevatten zoals !@#%*^$
. Hier is een FileMaker-functie voor.
#2: Gecodeerde JSON-payload
De tweede methode is iets minder eenvoudig, maar wordt ondersteund door alle weergavetypen, niet alleen formulieren. Het werkt door een Base64-gecodeerde JSON-payload toe te voegen aan de URL:
Met {"ClientName": "Jan", "ClientNr": 2}
als JSON-gegevens wordt de URL dit:
Merk op dat de gecodeerde JSON wordt voorafgegaan door het gedeelte ?_ctx
.
Er is een Base64Encode-functie in FileMaker en Claris Connect heeft er ook een beschikbaar in de "Text" set van hulpprogramma's. Je kunt ook een online tool gebruiken om te testen, maar houd er rekening mee dat je na het coderen geen variabelen kunt vervangen. (Wees natuurlijk voorzichtig met gevoelige gegevens als u dergelijke online tools gebruikt).
Er is nog één stap nodig om dit te laten werken. Door op deze manier een payload door te geven, krijgen we toegang tot een contextvariabele
in Studio-berekeningen, en we moeten ervoor zorgen dat het veld vooraf wordt gevuld met de contextgegevens door een standaardwaarde in te stellen op basis van een berekening. In ons geval is dat context.ClientName
en context.ClientNr
, omdat ClientName
en ClientNr
de veldnamen zijn in ons JSON-object.

U heeft hier een berekening voor nodig, wat betekent dat het gebruik van de contextvariabele
niet beperkt is tot alleen velden! Zie hier zelf dat dit ook werkt.
Mix & match
U kunt zelfs de twee methoden combineren, bijvoorbeeld door Kortetekst=NUM
als queryparameter door te geven en {"ClientName": "Jan"}
als Base64 gecodeerde JSON. Probeer het maar eens!
Praktijkvoorbeelden
OpenC gebruikt momenteel methode #1 en onderzoekt methode #2 om de due dilligence van klanten te vereenvoudigen voor een Nederlandse verzekeringsmaatschappij, die elke week tientallen klanten controleert. Ze gingen van meerdere vellen papier per klant per week naar ... nul vellen papier, en de klanten hoeven niet meer al hun gegevens over te schrijven.
Hoe gebruikt u deze mogelijkheden om vooraf ingevulde koppelingen te maken in Claris Studio? Deel uw ervaringen hieronder in de comments!