Författare Ämne: Importera filer från SMB till container-fält  (läst 2668 gånger)

0 medlemmar och 1 gäst tittar på detta ämne.

Utloggad David Wikström

  • Mycket flitig postare
  • Antal inlägg: 681
    • Visa profil
    • CamelCase data - FileMaker developers
Importera filer från SMB till container-fält
« skrivet: 22 februari, 2012, 18:00 »
Undrar om någon har ett smart sätt att hantera följande:

FileMaker Server 11 på OS X samt en smb-delad mapp på en Windows-dator (med inloggning), innehållande ett antal jpeg-filer.

Jag behöver först hämta en lista på filerna i mappen, loopa igenom listan, och sedan skapa en post samt infoga bilden om den inte redan finns.

I nuläget görs detta med AppleScript av en FileMaker Pro-användare, men egentligen vill jag köra detta helt server-side, som ett scheduled script, utan att något användarkonto är inloggat på FMS-datorn.
FileMaker 17/16/15/14/13/12/11/10/9/8 Certified Developer | FBA Member

mvRobert

  • Gäst
SV: Importera filer från SMB till container-fält
« Svar #1 skrivet: 22 februari, 2012, 22:33 »
Den kluriga biten verkar vara att få in själva bilden i ett container-fält såvida det inte går bra med en filreferens till den bara?
I övrigt är det väl serverside manus som gäller där du före (FileMaker) manuset kör en bat-fil som kopplar upp sig, listar samt dumpar till text-fil som du sedan importerar i manuset och där du även skapar de poster du behöver.

Utloggad David Wikström

  • Mycket flitig postare
  • Antal inlägg: 681
    • Visa profil
    • CamelCase data - FileMaker developers
SV: Importera filer från SMB till container-fält
« Svar #2 skrivet: 23 februari, 2012, 09:59 »
Jo, det var det jag trodde också...
Nu var det ett tag sedan jag testade detta ordentligt, men vad jag minns från test samt lektyr så var problemet att ett shell script (FMS är på Mac, inte Windows) som körs från FMS inte "får lov" att arbeta med filer utanför FileMaker Servers arbetsområde (/Documents osv). Så ett skript som fungerar perfekt från FileMaker Pro, command line eller en cron utförs inte korrekt när det körs av FileMaker Server. Har för mig att felmeddelandet något kryptiskt var "user abort".
Förhoppningsvis är det jag som missat något.

Än så länge är det närmaste till det jag vill uppnå att köra en FTP-server på Windows maskingen och sedan använda FTPeek-pluginet server-side. Fungerar bra men känns väldigt bakvänt.

Till saken hör att jag inte bara behöver flytta över bilderna utan detta körs som en del av en relativt intrikat process, som behöver kunna köras flera gånger i timmen, där olika saker görs beroende på ifall en matchande bild finns eller ej. Så det passar inte så bra att bara dumpa över bilderna separat utanför FileMaker, vilket jag lätt kan göra ex.vis. med shell script i en cron.
FileMaker 17/16/15/14/13/12/11/10/9/8 Certified Developer | FBA Member

Utloggad RolfC

  • Flitig postare
  • Antal inlägg: 184
  • FileMaker-utvecklare sedan 1988
    • Visa profil
    • Mallverkstan
SV: Importera filer från SMB till container-fält
« Svar #3 skrivet: 23 februari, 2012, 10:07 »
Om du inte kan lösa det med vanlig bat-fil före/efter FileMaker-manuset kan du kanske prova med PHP-script? Det brukar lösa det mesta :)
Rolf Clausen | Mallverkstan.se | 046235250 | Certifierad FileMaker 7/8/10/11/12/13/14/15/16

Utloggad David Wikström

  • Mycket flitig postare
  • Antal inlägg: 681
    • Visa profil
    • CamelCase data - FileMaker developers
SV: Importera filer från SMB till container-fält
« Svar #4 skrivet: 23 februari, 2012, 10:25 »
Tanken slog mig, men mina PHP-kunskaper är rätt begränsade. Men du har nog rätt, det kan vara värt att testa.
Jag återkommer...

Ett förtydligande: Mitt problem är nog att jag vill köra kopiera över filerna mitt inne i ett FileMaker-manus, dvs inte göra en vanlig server-sekvens med FileMaker-manus följt av OS-manus (eller tvärtom).

Jag borde nog titta en gång till på att helt enkelt först kopiera över alla nya bildfiler till en mapp i FMS /Documents mha ett shell script som körs av ett konto som har tillräckliga rättigheter (dvs inte med default-kontot fmserver).

Därefter ska mitt vanliga FileMaker-manus kunna läsa filerna i Documents.

Bilderna hade jag tänkt peta in i container-fälten mha 360Works ScriptMaster (som Robert påperkade är detta också lite knepigt server-side). Kanske inte heller det bästa sättet, men det fungerar.
« Senast ändrad: 23 februari, 2012, 10:35 av David Wikström »
FileMaker 17/16/15/14/13/12/11/10/9/8 Certified Developer | FBA Member

Utloggad David Wikström

  • Mycket flitig postare
  • Antal inlägg: 681
    • Visa profil
    • CamelCase data - FileMaker developers
SV: Importera filer från SMB till container-fält
« Svar #5 skrivet: 23 februari, 2012, 12:54 »
Hittade en del intressant "fine print" i ämnet: thefmkb.com/7555
FileMaker 17/16/15/14/13/12/11/10/9/8 Certified Developer | FBA Member

Utloggad RolfC

  • Flitig postare
  • Antal inlägg: 184
  • FileMaker-utvecklare sedan 1988
    • Visa profil
    • Mallverkstan
SV: Importera filer från SMB till container-fält
« Svar #6 skrivet: 24 februari, 2012, 11:50 »
Precis som mvRobert tipsade om tidigare i tråden kan du köra ett shell-script (eller bat-fil på Windows) före, och ett efter, ett FileMaker-manus. Eftersom FileMaker Server endast kan läsa filer från FileMakers dokumentmapp måste filerna först flyttas dit innan FileMaker-manuset kan köras som bearbetar filerna (t.ex. importerar dem). När det är klart kan filerna flyttas till en arkiv-mapp eller helt enkelt raderas, vilket görs som sista steg i manusordningen. Det är ett utmärkt sätt att sammanställa information från eller till andra system eller tillämpningar.

Eftersom du har dina filer på en extern dator måste du köra scriptet med ett konto som har behörighet att logga in på den. Du kan också (i Windows i alla fall) ange användarnamn/lösenord när du monterar den externa enheten i bat-filen (om du tycker det är ok att skriva dessa i klartext i bat-filen). Jag brukar alltid ge den externa enheten ett enhetsnamn i samband med monteringen (görs med DOS-kommandot NET USE), jag tycker det blir enklare. Behöver du bearbeta, göra urval etc. i samband med kopieringen av filerna kan du använda PHP-script i bat-filen.

Ska du flytta stora bilder över nätverket är ett alternativ att istället dela ut mappen där bilderna finns och skapa länkar till bilderna från FileMakers container-fält. Du slipper då lagra dem i databasen och du kan använda samma bilder i andra tillämpningar som Indesign, webb etc. Det förutsätter förstås att användarna finns i samma nätverk.
Rolf Clausen | Mallverkstan.se | 046235250 | Certifierad FileMaker 7/8/10/11/12/13/14/15/16

Utloggad David Wikström

  • Mycket flitig postare
  • Antal inlägg: 681
    • Visa profil
    • CamelCase data - FileMaker developers
SV: Importera filer från SMB till container-fält
« Svar #7 skrivet: 24 februari, 2012, 12:04 »
Jo, precis.
Det som strulade med att flytta över filerna är att det på OS X inte räcker med att ange ett annat konto att köra scriptet med; man måste även modifiera /etc/sudoers (det är bland annat detta som står i  thefmkb.com/7555). Tycker dock denna information kunde framgå lite klarare av grunddokumentationen + borde stå i FMS Admin Console. Hade sparat mig en hel del huvudvärk samt tid.
Väntar nu på att den ansvarige IT-personen ska modifiera /etc/sudoers åt mig - förhoppningsvis fungerar allt som det ska därefter.
FileMaker 17/16/15/14/13/12/11/10/9/8 Certified Developer | FBA Member