2019

Oct

16

Av Rolf

Ofta finns det behov att samla in uppgifter av olika slag från en mängd personer, det kan vara allt från anmälningar till nyhetsbrev till längre enkäter. Många tänker inte på att det finns en väldigt bra (och gratis) lösning med Google Forms. Det är relativt enkelt att skapa ett formulär med olika typer av frågor, publicera det på webben och visa det på din webbsajt eller använda i din iPad. Informationen som samlas in sparas i ett Google Kalkylark som kan exporteras och importas till allas vårt favoritprogram FileMaker. Självklart går det också att spara direkt i en FileMaker-databas!

Utvecklingen går mer och mer till att använda flera olika mindre program och sätta ihop dem för att få fungerande lösningar. Det är inte alls nödvändigt att använda ett och samma program för alla uppgifter, istället gäller det mer och mer att hitta den smidigaste, enklaste och snabbaste lösningen. Med Google Forms, Google Kalkylark och Google Mail kan du komma långt, kopplat till FileMaker kan du komma ännu längre!

Ett Google-formulär kan vara enkelt med några få fält, eller en hel enkät med många frågor, både flerval, matriser och t.o.m. filuppladdning. Varje gång ett Google-formulär sparas skapas det en rad i ett tillhörande kalkylark hos Google. Du skapar både formulär och kalkylark i webbläsaren, du behöver inga extra program.

Kalkylarket kan sparas i olika format och innehållet användas i andra sammanhang som t.ex. en FileMaker-lösning. För att slippa exportera kalkylarket när du är klar med insamlingen och importera resultatet i FileMaker, går det att lägga till en programsnutt som utnyttjar FileMakers Data API för att automatiskt skapa en post direkt i en FileMaker-databas för varje formulär-svar. Även det görs i webbläsaren.

Du behöver ingen egen server för webb-formuläret eller för din programsnutt, allt sparas och körs hos Google i molnet. Du behöver dock en FileMaker Server (på en server som också kan finnas i molnet), en databas där du slagit på behörigheten för Data API (”fmrest”) för ett konto och en tabell med tillhörande layout för att spara uppgifterna. Din FileMaker Server behöver också vara tillgänglig från internet, så att Google kan skicka information till den. Givetvis måste Data API vara påslaget i FileMaker Servers admin-konsol. Tänk på att Data API endast finns för version 17 och 18.

För att göra Google-formulär behöver du ett Google-konto. Om du inte redan har ett Google-konto, t.ex. en epostadress med @gmail.com, behöver du skapa ett. Även det är gratis 🙂

Börja sedan med att skapa ett kalkylark i Google. Starta en webbläsare och gå till docs.google.com, välj Kalkylark i menyn till vänster och skapa ett nytt. Här kommer allt som sedan skickas från formuläret att hamna. I menyn Verktyg väljer du att Skapa ett formulär. Det finns en mängd funktioner för att skapa formulär, vill du lära dig hur du gör finns det flera genomgångar på internet som du kan följa och lära dig av (googla!).

 

 

I mitt lilla exempel har jag skrivit en rubrik, en underrubrik och sedan lagt till 2 fält för E-postadress och Namn. Du lägger till ett nytt fält med plus-tecknet i verktygspaletten till höger och välj typ av fält, båda mina är av typen ”Kort svar” och jag har valt att de ska vara obligatoriska att fylla i.

Klicka på knappen Skicka upptill till höger och välj hur du vill delge dina uppgiftslämnare webbadressen till formuläret. Vilket du väljer beror på hur du vill göra. Jag väljer den andra symbolen, en länk till formuläret, som jag också väljer att förkorta så jag kan skicka den i ett epostmeddelande.

 

 

När du är klar klickar du på ”ögat” upptill till höger för att förhandsgranska formuläret. Skriv in värde i fälten och klicka på Skicka så att det sparas en rad i kalkylarket.

Vill du se och fylla i mitt formulär finns det här:

https://forms.gle/xvvYE8NJJ8FGFxzw6

Tillägg! Jag har lagt till så att Google Forms även startar ett FileMaker-script som skickar ett epost-meddelande till dig som bekräftelse på att det fungerar. OBS! Alla epostadresser/namn som skickas med exempel-formuläret raderas från FileMaker-databasen och Google-kalkylarket en gång per dygn.

När du är nöjd med ditt formuläret går du tillbaka till kalkylarket där det nu ska finnas en rad med de uppgifter du skrev in i formuläret.

I första raden i kalkylarket har Google-formuläret lagt in rubriker, det är namnen på respektive fält. I exemplet nedan har jag klickat 3 gånger på Skicka-knappen, det har då skapats 3 rader i kalkylarket.

Jag lägger nu in en programsnutt, ett Javascript, som ska köras för varje gång formuläret sparas. Scriptet sätter ihop innehållet i mina båda fält samt en tidstämpel som Google-formuläret lägger till och skickar det med Data API till en databas på en av våra FileMaker Server 18.

Välj Scriptredigerare i menyn Verktyg när du visar kalkylarket, en ny flik öppnas i webbläsaren. Du ska lägga in 2 funktioner, en funktion som aktiverar en trigger när formuläret sparas och en funktion som är själva triggern. Den första funktionen behöver du bara köra en gång, den andra körs varje gång formuläret sparas av en uppgiftslämnare.

 

 

Överst i kodfönstret finns funktionen initialize. Kör den en gång genom att välja den i menyn upptill (där det står Välj funktion) och klicka på triangeln till vänster om. Då är triggern initierad. När du kör programsnutten för första gången måste du tillåta att den får köras.

Funktionen submitFormToFileMaker är den som körs vid varje formulär. Du behöver komplettera med din server-adress, din databas, din layout, ditt kontonamn och lösenord samt ange vilka namn Google valt för dina fält och motsvarande FIleMaker-fält där du vill spara respektive information i din FileMaker-tabell.

Hela programsnutten hittar du på Github: https://github.com/RolfCl/google-form-to-filemaker

Kopiera all kod i filen code.js från Github och klistra in i Scriptredigeraren för kalkylarket. Byt ut kopplingen till FileMaker-databasen och fälten, dessa uppgifter finns i början av funktionen submitFormToFileMaker.

Det är 3 anrop som görs till FileMaker Data API för varje formulär som sparas. Först görs en inloggning i databasen med konto/lösenord och ett s.k. token fås tillbaka. Ett token är egentligen en lång textsträng. I nästa anrop skickas fältnamn och respektive uppgift från formuläret i JSON-format till FileMaker. Den långa textsträngen används för att visa att scriptet har behörighet. Till sist loggar scriptet ut från databasen, även då används det token som skapades vid inloggning.

När du fått informationen i din databas kan du omedelbart och med automatik skicka epost till personen eller skicka en faktura på en beställning. Det får bli ett nytt blogginlägg 🙂

Kommentarer

2019-11-17 Job

Hi Rolf, Great article. Do you also have experience on creating online web forms / apps with Caspio and connect that to FileMaker via API or import / export?

2019-11-18 Rolf

Thanks for your feedback! I think you can use Zapier to connect Caspio to a FileMaker database.

Skriv en kommentar

Din epost-adress stannar hos oss.