Hej, ursäkta att jag väcker upp den här slumrande tråden…
Har testat en del av de script som finns tillgängligt i tråden, tack för paketeringen på Git.
Funkar ditt script fortfarande med med datum, @williamw ? Jag lyckas inte och har nog testat vad jag kan nu.
Uppdatering av fil funkar bra, men inte datumet. 
Nån som kan tänka sig dela en uppdaterad fungerande FME-script-sektion för datumet?
@tomas.monsen Det är ju ingen fara, det är ju tanken att kunna återuppväcka trådar när det behövs!
Har du testat kika i de resurser vi samlat i [Community Tools]?
Om inte annat kan jag försöka kolla med @williamw och hans före detta kollegor i Lomma men vi kan ju också gå ut till fler kunder för att uppmärksamma frågan. 
Yes jag har knyckt lite grejer från FME-scripten.
Tittar man på koden i resten av repositoriet så används inte anrop till metadata-storen i API för att uppdatera datum - detta upplevde jag även när jag för 5-6 år sedan skrev PowerShell för att uppdatera filer på katalogen - metadata uppdaterades automatiskt då, efter att en fil uppladdats genom att man ropar på taskrunner-API. Man gör inte det (anropar taskrunner) i exemplen i FME, inget av dem, och jag är för korkad för att veta varför (har inte heller lyckats när jag försökt själv
). Gissar att det beror på att “cURL” inte finns som funktion per se i FME.
När man kör FME blir det inte så, vet ej varför, metadatat med “modified”-fältet för datum och tid uppdateras inte automatiskt utan man måste skriva det själv. Det är detta steg jag inte lyckas med. Filen laddar upp fin-fint och jag är djupt tacksam för de script för FME som jag fått ta del av - stort tack.
@tomas.monsen OK. Ska vi då kolla om det går att lösa automatisk uppdatering av modified-fältet med hjälp av att samla gemenskapen kring en insats om detta?
Det skulle kunna vara så att jag inte fattar hur man gör, läser dokumentation nu på lediga stunder om jag kan anropa taskrunner från FME via HTTPCaller istället för de lösningar jag sett, så kommer det ju funka. Kanske lyckas jag, och då behövs ju inte någon uppdatering av taskrunner.
När man kör taskrunner och ladda upp en fil, så uppdateras datumet vad jag kan se.
Kör man med anrop mot resursen med PUT som FME-scripten är byggda måste man sen göra put igen med ett custom object för att få datumet att uppdateras. Det kanske helt enkelt går att lösa om man anropar taskrunner från FME istället - då behöver vi inget ändra!
OK tack @tomas.monsen uppdatera gärna när du kommit vidare! 
Länge sedan man var inne här nu…
@tomas.monsen & @mattias, om jag minns rätt skedde en förändring i den JSON-strängen som skickas när ett datum ska uppdateras för den fil som uppdateras efter en versionsuppdatering. Så det kan vara där som felet ligger.
I våra nuvarande befintliga FME-projekt så fungerar uppdateringen av datumen korrekt.
Om jag har lite tid framöver kan jag se om jag kan hitta skillnaden från projektet som ligger på Github kontra hur vi har det nu. Men det blir nog inte tidigaste förens imorgon.
Alternativet kan vara att jag skapar en ny version av projektet och skickar det till dig Mattias så kan du kanske uppdatera det på Github.
1 Like
@AndreParviainen Välkommen tillbaka!
Tack för uppdatering!
Det vore super om du kan dela er kod från din GitHub eller GitLab @AndreParviainen eller om du skapar en organisations-yta gratis där för Borås Stad. När jag söker efter Borås på GitHub finns det en del kod som verkar kopplat till staden: Repository search results · GitHub
@tomas.monsen, såg nu att det saknas en väsentlig information i förklaringstexten.
Efter att JSON-texten för datum-hanteringen klistrats in i HTTP-Callern så måste datumet i strängen bytas ut mot attributet “_timestamp” så att om körningen görs exempelvis via FME-Flow att den tar datumet då körningen görs.
Ett textexempel enligt följande där jag markerat var attributet ska in med fet still:
{“https://catalog.boras.se/store/1/resource/103":{“http://purl.org/dc/terms/format”:[{“type”:“literal”,“value”:“application/json”}],“http://purl.org/dc/terms/license”:[{“type”:“uri”,“value”:“http://creativecommons.org/publicdomain/zero/1.0/”}],“http://www.w3.org/ns/dcat#downloadURL”:[{“type”:“uri”,“value”:“https://catalog.boras.se/store/1/resource/102”}],“http://data.europa.eu/r5r/availability”:[{“type”:“uri”,“value”:“http://data.europa.eu/r5r/availability/stable”}],“http://www.w3.org/ns/adms#status”:[{“type”:“uri”,“value”:“http://purl.org/adms/status/Completed”}],“http://purl.org/dc/terms/title”:[{“type”:“literal”,“value”:"Badhus/simhallar JSON”,“lang”:“sv”}],“Data Catalog Vocabulary (DCAT) Namespace i JSON-format”,“lang”:“sv”}],“http://www.w3.org/1999/02/22-rdf-syntax-ns#type":[{“type”:“uri”,“value”:“http://www.w3.org/ns/dcat#Distribution”}],“http://purl.org/dc/terms/rights”:[{“type”:“bnode”,“value”:“_:node1gc6vvur3x1”}],“http://purl.org/dc/terms/modified”:[{“type”:“literal”,“value”:“@Value(_timestamp)”,“datatype”:“http://www.w3.org/2001/XMLSchema#date”}]},“_:node1gc6vvur3x1”:{“http://schema.theodi.org/odrs#copyrightHolder”:[{“type”:“uri”,“value”:“https://catalog.boras.se/store/1/resource/1”}],“http://www.w3.org/1999/02/22-rdf-syntax-ns#type”:[{“type”:“uri”,“value”:"http://schema.theodi.org/odrs#RightsStatement”}]}}
edit, verkade inte gå att göra det fetmarkerat. Men om du letar upp “@value(_timestamp)” i texten så ser du var det ska in 
@AndreParviainen Du kan redigera och omformatera detta kod som kodblock i inlägget men det går tyvärr inte att fetmarkera vissa delar i kodblocket. Men jag tror din förklaring hjälper @tomas.monsen nog ändå, vad säger du @tomas.monsen ?
Hej ja jag har modifierat din kod redan så att jag byter ut datumet, det var lite pilligt för det beter sig inte som jag hade tänkt. Jag slet nog en hel dag med olika varianter och replace-funktioner - Trots detta uppdateras inte datumet. Jag tycker att jag har gjort allt rätt nu 
Mattias - kanske kan detta var något som går att förbättra/förändra i API taskrunner, så att datum alltid automatiskt sätts? Eller med en växel så att jag i anropet kan ange om jag vill att datumet ska sättas till tidpunkten för en successful update?
Jag tar gärna del av ny/uppdaterad kod, @AndreParviainen, jag har fått allt att funka inlusive hämtning av data från ett internt API i vårt kartsystem, casting av detta till JSON, kvalitetskontroll av attributen och värdena i filen (så att inget som måste vara med saknas, felstavningar osv), samt uppladdning till katalogen… förutom datumet. 
@tomas.monsen Bra att du verkar ha fått det att funka.
Jag pingar relevant kollega som kan kolla på förslaget. Det kanske inte är något alla alltid, i alla fall, vill ska ändras automatiskt, men enklare för den som vill tänker jag?
Hoppas att vi kan få till uppdaterad kod som kan användas av flera. 
Ja alltså update funkar, men inte datumet, och det blir inte snyggt metadatamässigt - det ser ut som om datat är stale, även om det uppdateras. Inte bra för en konsument.
En växel eller nåt som kan skickas med i anropet, som automatiskt uppdaterar. Skickar man inte med den så fungerar det som idag. Skickar man med den så uppdateras datumet för distributionen (och det tillhörande, om sådant finns, automatiskt API). Detta gör att man inte saboterar flöden som är byggda idag, iom att växeln är optional.
…eventuellt kanske ett helt nytt anrop, som uppdaterar datum bara, som jag kan anropa efter att jag laddat upp filen? En helt ny metod i APIet som uppdaterar datum på ändpunkter/distributioner?