2019

maj

22

Av

Idag den 22 maj är det dags för den årliga uppdateringen av FileMaker, nu version 18! Här kommer en genomgång av de viktigaste nyheterna. Du kan också läsa på FileMakers hemsida.

Kontrollera din epost! Om du har licenser som du hyr årsvis eller licenser med underhållsavtal kommer du att få FileMaker 18 inom det närmaste dygnet med epost.

Importera poster

Dialogrutan för att importera poster och para ihop fält har sett likadan ut i decennier, nu är det dags för helt nytt utseende och med ny funktionalitet. Du kan:

  • välja fält att importera till i en sökbar lista.
  • du kan välja fältnamn från valfri rad i den importerade filen (ofta i t.ex. Excel-dokument finns en övergripande rubrik på första raden, fältnamnen kommer kanske på rad 2 eller 3).
  • välja separator i textfiler, t.ex. komma eller tab-tecken.
  • välja om automatisk beräkning ska göras för målfält, t.ex. ändrad datum.

Det första du ser när du väljer kommandot Importera poster i menyn Arkiv är att det finns färger 🙂

 

 

Längst upp i dialogrutan väljer du källa och mål (precis som tidigare). Det finns symboler som visar vilken typ av fil du importerar. Det nya är att det är slut med att dra/släppa fält och ändra importordningen på det sättet. Från version 18 väljer du istället i en meny vilket målfält du vill importera till. Klickar du i ett fält i kolumnen Målfält visas en meny med alla fält. Där kan välja fält, har du många kan du också söka bland fälten.

 

 

I bilden ovan har jag klickat i fältet som Artikeltyp ska importeras till och får välja målfält.

Den gröna knappen mellan Källfält och Målfält anger om fältet ska importeras eller inte.

 

 

Du väljer helt enkelt om fältet ska importeras, i bilden ovan är det fältet Enhet som importeras till målfältet med samma namn.

En smart funktion är att du kan välja om fältet automatiskt ska fyllas i. Tidigare har alternativet varit ”alla fält” eller ”inga fält”. Nu kan du välja per fält.

 

 

T.ex. vill du ofta inte uppdatera fält som innehåller Ändrad av eller Ändrad datum/tid, de ska förmodligen vara samma innehåll som de som importeras. Du kan slå av automatisk inmatning dels med symbolen till höger om målfältet och dels i en ”popover” som visar alla fält som har tillval för automatisk inmatning.

 

 

För import av textfiler väljer du nu även fältavgränsare i textfilen, t.ex. Tabb, Komma eller Semikolon. Eller en helt valfri avgränsare.

 

 

På samma sätt som tidigare kan du uppdatera eller ersätta innehållet i din databas, nu med tydliga(?) bilder.

 

 

Ny behörighetsuppsättning

I tidigare versioner är det endast användare med behörigheten ”Full åtkomst” som kan lägga till användare. Från och med version 18 finns en ny nivå, en nivå som inte har Full åtkomst till alla fält och layouter, men som kan lägga till och ändra användare. En sådan användare behöver inte ens ha åtkomst till posterna i databasen.

I behörighetsuppsättningen finns en ny kryssruta.

 

 

I skärmbilden nedan har användaren Kalle behörighet att hantera användar-konton, behörighetsuppsättningen har döpts till ”Användarhantering”.

 

 

Manussteg för filhantering

Det är många som använder plugins, t.ex. Troi File plugin, för att läsa, skriva, flytta och radera filer och mappar m.m. Det är förmodligen en av de plugins som använts mest under åren. Nu har Troi fått konkurrens av självaste FileMaker, som byggt in flera funktioner för hantering av filer som manussteg. Med FileMaker kan du nu skapa och läsa filer, skapa mappar, radera osv med hjälp av manussteg.

Följande manussteg finns:

  • Byt namn på fil
  • Hämta datafilsposition (detta för tankarna till forna tiders Basic-programmering, men det kanske bara är jag?)
  • Hämta filstorlek
  • Läs från datafil (här kan du ange antal byte som ska läsas, kan läsas direkt till variabel)
  • Ny fil
  • Radera fil
  • Skapa datafil
  • Skriv till datafil (även direkt från en variabel)
  • Ställ in datafilsposition
  • Stäng datafil
  • Öppna datafil

Funktion för While-loop

Beräkningar som behöver någon form av loop har i tidigare versioner gjorts antingen som en rekursiv egen funktion, eller med en loop i ett manus. Nu finns ett alternativ till, beräkningsfunktionen While. Med While behöver du inte lära dig hur rekursion fungerar, det är lite enklare att klura ut hur en While-loop-fungerar.

Nedan finns ett exempel på en beräkning med While. Formeln hämtar innehållet i fältet Benämning för de 10 första hittade posterna i tabellen.

While ( 
[ i = 0; data = "" ]; 
i < 10; 
[ i = i + 1; data = List(data; GetNthRecord ( Benämning; i)) ];
data)

I det första argumentet måste alla variabler som används i funktionen deklareras. Jämför med funktionen Let där det finns motsvarande typ av variabler. I det här fallet behöver jag en räknare (i) och ett fält som sätter ihop resultatet (data). Variabeln i är lika med 0 till en början och data är tomt. Flera beräkningar kan alltså göras i det första argumentet, därför omsluts det med []-tecken.

I det andra argumentet anger du villkor för hur länge loopen ska fortsätta. I det här fallet ska loopen fortsätta så länge variabeln i är mindre än 10, dvs. loopen ska köras 10 gånger.

Det tredje argumentet är själva loopen, dvs. de beräkningar som ska göras i varje loop. Först räknar jag upp variabeln i så att den får värdet i + 1. Sedan hämtar jag innehållet i fältet Benämning för post nr i (dvs. post nr 1, 2, 3 osv upp till 10), resultatet sätts ihop med funktionen List. För varje loop blir det en extra rad i variabeln data. Flera beräkningar kan alltså göras i det tredje argumentet därför omsluts det med []-tecken.

Som sista argument anges resultatet. I exemplet är det variabeln data som nu alltså innehåller 10 rader, varje rad är fältet Benämning i en post. Detta blir beräkningens resultat.

SetRecursion

En annan ny beräkningsfunktion är SetRecursion. Vad ska den användas till? Som ni kanske inte(?) känner till finns det en begränsning i antal anrop som går att göra till en rekursiv funktion, beroende på hur funktionen görs är det antingen 10000 eller 50000 anrop. Blir det fler anrop blir resultatet ett frågetecken. Även de nya While-funktionen har ett tak på 50000 loopar.

Vill du kunna göra fler och inte är orolig för att det kan ta lång tid eller minnet kan ta slut använder du den nya funktionen SetRecursion. Med funktionen anger du hur många anrop som ska vara maximalt antal, och det kan vara mindre än 10000 också. Är inte loopen slut efter max antal så får du ett frågetecken. Funktionen används så här:

SetRecursion (formeln med While eller rekursion; X)

där X är lika med det antal loopar/rekursionsanrop du önskar att funktionen ska utföra. Använder du inte SetRecursion används de förvalda värdena för max antal anrop.

Layoutläget

Tryck Skift-pil för att flytta ett objekt i steg om 10 px.

Loggning

Vid programmering är det vanligt att man vill veta värdet på fält eller variabler vid ett visst tillfälle. Det kan vara för att kontrollera att manuset verkligen körs, att if-satser evalueras korrekt, att variabelnamn är rättstavade och innehåller rätt värde m.m. Det finns i FileMaker Pro Advanced en debugger (slå på kryssrutan Använd avancerade verktyg i dialogrutan Inställningar om du saknar det i version 17/18) för att stega sig fram ett manussteg i taget samtidigt som relevanta värden visas.

Nu finns även ett manussteg för att slå på loggning, varje gång ett fel uppstår i ett manus sparas information om felet i en textfil på din dator.

Du slår på loggningen med manussteget Ställ in felloggning. När loggning är påslaget sparas alla felmeddelande i en textfil i din dokumentmapp. I manussteget Ställ in felloggning kan du också ange en beräkning som utförs när det blir något fel och resultatet skrivs även det i loggfilen. Du kan t.ex. visa aktuellt postnummer, innehållet i ett fält eller dylikt som gör det enkelt för dig att förstå var felet finns.

Loggningen fungerar dock inte på manus som körs på servern, varken schemalagda manus, manus som startas från Custom Web Publishing eller de som körs med manussteget Utför script på server. I de fall kan du göra ett eget manus som sparar valfri information i en FileMaker-tabell eller skickar information till dig med t.ex. Slack.

Ett manus för att spara i en logg-tabell kan se ut så här (ett manus som fungerar även i tidigare FileMaker-versioner):

 

 

Spara en hel databas som XML

Alla objekt, fält, tabeller, layouter, värdelistor mm som behövs för att du ska kunna arbeta med din information kan nu exporteras till en XML-fil. Det finns dels ett menykommando som sparar hela din databas som XML (dock inte din information!) och dels ett manussteg som gör detsamma. Du kan alltså schemalägga exporten.

Tyvärr går det inte att importera XML-filen för att återskapa en databas, men förhoppningsvis kommer det i nästa version 🙂

iOS: Fler streckkoder

En användbar funktion är att scanna streckkoder med FileMaker Go på din iPhone/iPad. I version 18 finns stöd för 4 nya streckkodstyper: PDF417, ITF-14, Aztec och Data Matrix.

iOS: Lägga till i ett PDF-dokument

Med FileMaker Pro på din dator går det sedan flera år att lägga till PDF-dokument till ett befintligt PDF-dokument. Det kan nu också göras med FileMaker Go.

Server: Ingen svensk version för första gången

För första gången sedan första versionen av FileMaker Server, version 2 från 1992, finns det inte en svensk version av admin-konsollen. Det är väl egentligen inte hela världen, det är inte ofta admin-konsollen för FileMaker Server behöver användas (tack och lov!). Svenska finns kvar som språk i både FileMaker Pro på dator, FileMaker Go och WebDirect.

Server: Justeringar i gränssnittet

Flera små förändringar är gjorda i admin-konsollens gränssnitt. Även det API som kan användas för att utföra funktioner i admin-konsollen från annan enhet är förbättrat.

Flera mindre ändringar

Det finns fler mindre nyheter och justeringar, när du har installerat den nya versionen finns alla förändringar listade i FileMaker Hjälp under Nyheter.

Product Roadmap

FileMaker Inc. publicerar sedan några år en Product Roadmap, FileMaker 18 är benämnd som ”Next” i den uppställningen. Där kan du läsa mer om vad som händer i kommande versioner.

När får jag uppdateringen till 18?

Om du har licenser som du hyr årsvis eller med underhållsavtal kommer du att få FileMaker 18 inom det närmaste dygnet med epost. I vissa fall kan det dröja några dagar. Kontrollera din epost! Epostmeddelandet skickas från filemaker_announcements@filemaker.com och har meddelanderad av typen: ”FileMaker 18-plattformen – meddelande för dig med giltigt underhållsavtal”. Det har hänt att uppdateringen har hamnat i skräpposten.

En ändring är att nedladdningslänken till installationsprogrammen numera alltid är tillgänglig, tidigare behövde man förnya länken efter 90 dagar.

För dig som har enstaka licenser måste du beställa en uppgradering. Har du köpt en enstaka licens av FileMaker Pro 17 Advanced den 22 april eller senare så får du version 18. Har du köpt via FileMaker Store får du uppdateringen med automatik (med epost).

Om du har frågor om licenser eller vad som helst om FileMaker, kontakta oss på tel 046-235250 så hjälper vi dig!

2 kommentarer till ”FileMaker 18!”

  1. Mattias

    Ja nu trodde jag att man skulle kunna lägga in bilder i ett containerfält med ett server-side script utan att installera BaseElements som server-plugin. Nehej för om man kör det nya scriptsteget ”läs från datafil” och lägger in en bild så blir det så klart en ”fil” i containerfältet och inte en ”bild” (bilden visas som ikon, fult). Någon motsvarighet till BaseElements BE_ConvertContainer() har FileMaker inte implementerat, vad jag vet. Eller finns det något annat sätt?

    Svara
  2. Rolf

    Jag brukar använda manussteget ”Infoga från URL” för att importera bilder till Container-fält i manus som körs på servern. Då visas bilden i Container-fältet direkt. Använd en URL som inleds med protokollet ”file://” och sedan en sökväg som finns i FileMakers dokumentmapp, t.ex. ”file://” & Get ( Dokumentsökväg ) & ”abc.jpg”.

    Du kan se ett exempel med PDF-dokument här: https://www.filemakerbloggen.se/post/spara-som-pdf-pa-servern/

    Svara

Skriv en kommentar

  • (will not be published)

Läs också: