2013

Jan

11

Av

En ny funktion i FileMaker 12 är möjligheten att spara bilder utanför databasfilen, antingen den server där databasen finns utdelad med FileMaker Server, eller i en mapp utanför databasfilen. En finess som inte bara gör att alla server-användare har tillgång till bilderna utan också automatiskt skapar mindre visningsbilder (“tumnaglar”) så att inte hela bilden behöver laddas ner till klienten vid varje tillfälle för att visas. Databasfilen blir också betydligt mindre. 

Det finns numera inställningsalternativ för lagring av innehållet i container-fält. Lagringsalternativen ställer du in för respektive container-fält. Välj Hantera databas i menyn Arkiv, markera ett container-fält i en tabell (eller gör ett nytt) och klicka sedan på knappen Tillval för fältet. Under fliken Lagring finns möjlighet att “Lagra containerdata externt” i en mapp som är relativt databasens sökväg (alltså i samma mapp som databasfilen).

ContExternt

Du kan också välja Säker eller Öppen lagring, säker lagring “krypterar” filerna så att de inte kan öppnas mer än av FileMaker medan öppen lagring tillåter andra program att öppna dem (men inte spara!). Inställningen gäller bara för fält vars innehåll är kopierat in i databasen, bilder m.m. som är länkade till databasen sparas fortfarande på sin vanliga plats och berörs inte av denna inställning. Länkade filer är ju redan externt lagrade.

Ändrar du lagringsalternativet för ett befintligt container-fält med innehåll får du en fråga om du vill att innehållet i fältet ska flyttas till den externa mappen.

ContFlytta
Klickar du på Överför kommer FileMaker att flytta innehållet i fältet för samtliga poster till den externa lagringsplatsen. När det är klart (vilket kan ta en stund om du har många poster) får du ett meddelande.

ContFlyttaKlar
Väljer du Säker lagring skapas ett antal mappar på hårddisken med filen “krypterad”. Så här kan det se ut, databasfilen ligger jämte mappen Files.

ContSakerMapp
Väljer du Öppen lagring ligger filen i en mapp med fältets namn.

ContOppenLagring

Om du har databasfilen utdelad med en FileMaker Server skapas mappar på servern med delvis andra namn, men principen är densamma.

Som jag nämnde tidigare påverkar inte lagringsalternativet de filer som är länkade till container-fältet. Du väljer när du sätter in filen/bilden om den ska länkas in genom att klicka i en kryssruta (Spara endast länk till filen). Om du vill samla alla filerna på ett ställe och låta FileMaker hantera dem måste du därför först “bädda in” filerna i FileMaker. Det kan du göra med ett enkelt manus.

Jag har en databas med 3 fält där jag har några poster med bilder. Fältet Bild_länkad innehåller en länk till en bildfil, fältet Bildnamn innehåller namnet på den länkade bilden och hela sökvägen till bilden samt fältet Bild_inbäddad är ett än så länge tomt container-fält där jag ställt in extern lagring.

Fältet Bildnamn är ett beräkningsfält med följande formel:

GetValue(GetAsText(Bild_länkad);3)

Formeln hämtar först information om den länkade bilden och sedan sökvägen till bilden som finns på rad 3. Innehållet i en post i databasen kan se ut så här, en av exempelbilderna i Windows är länkad till fältet.

ContBilder

Nu kan jag göra ett manus som går genom samtliga poster och sätter in bilden utan länk i fältet Bild_inbäddad. (Jag kunde använt samma container-fält och importerat samma bild igen, men jag har valt att ha 2 olika.) Manuset består av en loop och manussteget Sätt in bild där det är viktigt att se till att kryssrutan “Spara endast en länk” inte är ikryssad.

ContManus2

Manussteget Sätt in bild kräver först att man går till fältet där bilden ska sättas in samt att sökvägen till bilden finns i en variabel.

När du kör manuset går FileMaker genom samtliga poster i databasen, importerar de länkade bilderna på nytt fast nu utan länk samt flyttar dem med automatik till extern lagring.

Skriv en kommentar

  • (will not be published)
  • + seven = 13

Läs också: