Ik heb een app die bestaat uit een UI met erachter data-files (seperation model).
In de UI file wil ik de external datasources laden met global variables. Zodat ik op de development-server de dev data files kan laden en op de productie-server de productie data files.
Ik ervaar het volgende probleem:
Filemaker vraagt bij het openen van de hosted app om 2 van de 7 external datasources vóórdat het OnFirstWindowOpen script gaat draaien. Hij kan deze niet oplossen en noemt in de dialoog de global variable als pad. Dus voordat de global variables met het pad naar de files is gedeclareerd, klaagt hij al dat hij de file niet kan vinden en zoekt op letterlijk de "$$DATAPAD" in plaats van deze global te hebben geladen en het pad kan vinden.
Ik ben al een tijdje aan het rondneuzen op het Claris-forum. Het probleem is bekend. Er is onder andere deze thread het issue.
Filemaker onthoudt bij sluiten van de app onder meer de laatste layout die lokaal ge-edit is en indien daar referenties naar externe files op staan, dan probeert hij deze te laden vóórdat hij start met gaan naar de default layout in de file-setting en runnen van het OnFirstWindowOpen script.
De app is nu zo ingericht dat in het OnFirstWindowOpen script deze eerst naar een Splash-layout gaat met niets erop, en onderliggend een SPLASH tabel met geen enkele relatie en geen records. Niets wat een external datasource kan triggeren dus. Daarna laden de global variables met de paden naar de external datasources. En daarna gaat de app naar de layout waar de gebruiker start.
Bij afsluiten gaat het OnLastWindowClose script weer terug naar de splash-layout met niets erop en tabel zonder relaties, sluit alle externe data-files en dan sluit de app af. Ik heb overigens geen close application erin zitten, zoals soms geadviseerd wordt omdat dit nog een stukje cache weg zal halen.
Als eerste oplossing wordt er geadviseerd een lichte recovery op de file te doen zodat de cache leeg komt.
En daarnaast een andere goede (en logischer) oplossing Appsolutions (ik vermoede de NL partij):
---
FileMaker has a starting layout that is open BEFORE the file options or script trigger layout is invoked. This is because FileMaker always needs a current Layout to function and can't even login and send you to a different layout without loading a current layout first.
This starting layout is the last layout that has been EDITED (while not hosted!). OnLastWindowClose is not enough. Go to the empty layout in layout mode and change anything, ie. move something 1px and save it. Close the file and reopen.
---
Ik heb dit geprobeerd - dus lokaal splash layout iets editten, afsluiten, weer hosted openen en inderdaad, de eerste keer dat ik de file hosted open, is het probleem weg! Filemaker vraagt niet meer om de missende files en alle external datasources laden als een zonnetje.
Echter de vreugde was van korte duur - en nu komt het - als ik de hosted app dan weer afsluit en opnieuw open, is het probleem weer terug.
En ik doe helemaal niets.
Zelfs geprobeerd in scenario waarbij de app slechts op de splash layout blijft, niets doet behalve de external datasource global variables declareren en dan bij afsluiten ook niets extra's doen.
Heeft iemand ervaring hiermee?
Weet iemand nog opties om te proberen?
Question
Gaiser
Ik heb een app die bestaat uit een UI met erachter data-files (seperation model).
In de UI file wil ik de external datasources laden met global variables. Zodat ik op de development-server de dev data files kan laden en op de productie-server de productie data files.
Ik ervaar het volgende probleem:
Filemaker vraagt bij het openen van de hosted app om 2 van de 7 external datasources vóórdat het OnFirstWindowOpen script gaat draaien. Hij kan deze niet oplossen en noemt in de dialoog de global variable als pad. Dus voordat de global variables met het pad naar de files is gedeclareerd, klaagt hij al dat hij de file niet kan vinden en zoekt op letterlijk de "$$DATAPAD" in plaats van deze global te hebben geladen en het pad kan vinden.
Ik ben al een tijdje aan het rondneuzen op het Claris-forum. Het probleem is bekend. Er is onder andere deze thread het issue.
Filemaker onthoudt bij sluiten van de app onder meer de laatste layout die lokaal ge-edit is en indien daar referenties naar externe files op staan, dan probeert hij deze te laden vóórdat hij start met gaan naar de default layout in de file-setting en runnen van het OnFirstWindowOpen script.
De app is nu zo ingericht dat in het OnFirstWindowOpen script deze eerst naar een Splash-layout gaat met niets erop, en onderliggend een SPLASH tabel met geen enkele relatie en geen records. Niets wat een external datasource kan triggeren dus. Daarna laden de global variables met de paden naar de external datasources. En daarna gaat de app naar de layout waar de gebruiker start.
Bij afsluiten gaat het OnLastWindowClose script weer terug naar de splash-layout met niets erop en tabel zonder relaties, sluit alle externe data-files en dan sluit de app af. Ik heb overigens geen close application erin zitten, zoals soms geadviseerd wordt omdat dit nog een stukje cache weg zal halen.
Als eerste oplossing wordt er geadviseerd een lichte recovery op de file te doen zodat de cache leeg komt.
En daarnaast een andere goede (en logischer) oplossing Appsolutions (ik vermoede de NL partij):
---
FileMaker has a starting layout that is open BEFORE the file options or script trigger layout is invoked. This is because FileMaker always needs a current Layout to function and can't even login and send you to a different layout without loading a current layout first.
This starting layout is the last layout that has been EDITED (while not hosted!). OnLastWindowClose is not enough. Go to the empty layout in layout mode and change anything, ie. move something 1px and save it. Close the file and reopen.
---
Ik heb dit geprobeerd - dus lokaal splash layout iets editten, afsluiten, weer hosted openen en inderdaad, de eerste keer dat ik de file hosted open, is het probleem weg! Filemaker vraagt niet meer om de missende files en alle external datasources laden als een zonnetje.
Echter de vreugde was van korte duur - en nu komt het - als ik de hosted app dan weer afsluit en opnieuw open, is het probleem weer terug.
En ik doe helemaal niets.
Zelfs geprobeerd in scenario waarbij de app slechts op de splash layout blijft, niets doet behalve de external datasource global variables declareren en dan bij afsluiten ook niets extra's doen.
Heeft iemand ervaring hiermee?
Weet iemand nog opties om te proberen?
Dank!
Gijs
38 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.