Scripts in bestanden die door FileMaker Server en FileMaker Cloud-producten worden gehost, worden doorgaans op de client uitgevoerd. Desondanks kunt u een script op de server uitvoeren (een script aan serverzijde) door middel van:
•de Script op Server uitvoeren scriptstap in een script dat op een client wordt uitgevoerd
•een planning (raadpleeg FileMaker Server Help of de documentatie over FileMaker Cloud-producten in het Centrum voor productdocumentatie)
Een script dat door een van de eerder vermelde methoden wordt gestart, wordt uitgevoerd door de FileMaker Script Engine (FMSE), een onderdeel van FileMaker Server en FileMaker Cloud-producten. De FMSE is een client die elk script uitvoert in een aparte sessie op de server. Voor scripts op de server betekent dit het volgende:
•Ze hebben de context van de client niet (huidige lay-out, gevonden reeks, sorteervolgorde, record, waarden van globaalvelden, en waarden van lokale of algemene variabelen)
U kunt de informatie over de context van de client doorgeven aan een script op de server door middel van de scriptparameter in de scriptstap Script op Server uitvoeren. Het script op de server kan die informatie gebruiken in scriptstappen zoals Ga naar lay-out scriptstap en Zoekopdracht uitvoeren scriptstap om op te geven welke lay-out en gevonden reeks moeten worden gebruikt.
•Ze ondersteunen scriptparameters en scriptresultaten van maximaal 1 miljoen tekens
•Ze hebben alleen toegang tot andere FileMaker Pro Advanced-bestanden wanneer aan de volgende voorwaarden wordt voldaan:
•de bestanden staan op dezelfde host
•de bestanden waren al geopend door de client die het script op de server heeft gestart, of geconfigureerd met een accountnaam en wachtwoord opgegeven in het dialoogvenster Bestandsopties van het bestand
Scripts op een server worden op dezelfde manier uitgevoerd ongeacht hoe ze worden gestart, met uitzondering van:
•Een client die de scriptstap Script op Server uitvoeren gebruikt, heeft de mogelijkheid om te wachten totdat het script op de server is voltooid en om de Get (ScriptResultaat) functie te gebruiken om het resultaat vast te leggen.
•Een planning kan zo worden ingesteld dat deze stopt als het actieve script de opgegeven tijdslimiet overschrijdt.
Vele scriptstappen worden door de FMSE ondersteund. Bij een poging tot het uitvoeren van een niet-ondersteunde scriptstap krijgt u als resultaat fout 3 ("Opdracht is onbeschikbaar"), wordt de niet-ondersteunde stap overgeslagen en wordt naar de volgende stap gegaan. Voor de verwerking van niet-ondersteunde stappen kan uw script de scriptstap If gebruiken met:
•De Get (LaatsteFout) functie na een stap om te controleren of die stap al dan niet wordt ondersteund om vervolgens de ondersteunde stappen wel uit te voeren. Bijvoorbeeld: de scriptstap Bestand openen wordt niet door de FMSE ondersteund, waardoor bij het volgende actieve script op de server die stap wordt overgeslagen en "niet ondersteund" als resultaat wordt gegeven.
Bestand openen [Verborgen openen: Uit ; "Back-up facturen"]
If [ Get (LaatsteFout) = 3 ]
Script afsluiten [ Tekstresultaat: "niet ondersteund" ]
End If
•De Get (ApplicatieVersie) functie vóór andere stappen om te controleren of het script actief is in FileMaker Server of een FileMaker Cloud-product, om vervolgens alleen ondersteunde stappen uit te voeren. Bijvoorbeeld:
If [ PatternCount ( Get (ApplicatieVersie) ; "Server" ) > 0 ]
# Ga door met scriptstappen ondersteund door de FMSE
End If
Als u wilt zien welke scriptstappen worden ondersteund door de FMSE, opent u in de Scriptwerkruimte in FileMaker Pro Advanced een script, klikt u op en selecteert u vervolgens Server. Scriptstappen die niet worden ondersteund, verschijnen in een andere kleur. U kunt ook de tabel Compatibiliteit raadplegen voor elke scriptstap in Naslaggegevens voor scriptstappen.
•om de prestaties te verbeteren door het netwerkverkeer tussen de client en de server te verminderen
•om langdurige taken over te brengen van tragere clients naar een snellere server
•om FileMaker Go-clients taken te laten uitvoeren waarvoor plug-ins zijn vereist die in FileMaker Server en FileMaker Cloud-producten worden ondersteund, maar niet in FileMaker Go
•om de scriptstappen Records importeren of SQL uitvoeren te gebruiken met een ODBC-gegevensbron die de DSN van de server gebruikt
•Als records worden vergrendeld door een client, hebben scripts op de server geen toegang tot niet-vastgelegde gegevens of kunnen ze de inhoud van die records niet wijzigen.
•Het uitvoeren van scripts op een server opent en sluit de bestanden die de scripts bevatten. Daarom treedt de BijEersteVensterOpenen scriptactivering in werking bij de start van het script en treedt BijLaatsteVensterSluiten scriptactivering in werking bij het einde van het script.
•Scripts op een server kunnen de Script uitvoeren scriptstap gebruiken om subscripts uit te voeren die ook op de server worden gestart. Dit is alleen het geval als die subscripts zich in bestanden op dezelfde server bevinden en al zijn geopend door de client.
•Scripts die worden gestart door Script op Server uitvoeren gebruiken hetzelfde account als de client. Scripts die worden gestart door een planning gebruiken het account opgegeven in de planning.
•Scripts op de server kunnen er niet voor zorgen dat een client FileMaker-waarschuwingsberichten weergeeft wanneer scripts op clients zijn gestart. Daarom worden scripts op een server altijd uitgevoerd als de Foutafvanging instellen scriptstap was ingesteld op Aan. Gebruik de Get (LaatsteFout) functie in scripts op de server om fouten te verwerken. Om u te helpen bij het oplossen van problemen worden problemen ook geschreven naar het gebeurtenissenlogboek in FileMaker Server en FileMaker Cloud-producten.
•Clients kunnen geen scripts aan serverzijde stoppen. Een script aan serverzijde kan wel worden gestopt als:
•een serverbeheerder het script stopt dat als een aparte client verschijnt waarmee de verbinding kan worden verbroken in de Admin Console voor FileMaker Server of FileMaker Cloud-producten
•het actieve script de opgegeven tijdslimiet overschrijdt in de planning die het heeft gestart.
•het script een onbekende scriptstap aantreft (raadpleeg Onderbreken door gebruiker toestaan scriptstap).
Raadpleeg de FileMaker Server Help of de documentatie over FileMaker Cloud-producten.
•Bij scripts aan serverzijde geven functies gerelateerd aan hardware, zoals Get (SysteemIPadres), informatie van de databaseserver van FileMaker Server en het FileMaker Cloud-product, en niet van de client.
•Voor scripts op servers is de bestandstoegang beperkt tot de map Documenten en de tijdelijke map. Raadpleeg Paden in scripts op servers.
•In scripts aan serverzijde kunnen script-stappen met de optie Met dialoogvenster ingeschakeld geen dialoogvelden weergeven en een foutmelding genereren. Om deze fout te voorkomen, schakelt u Met dialoogvenster uit in scripts aan serverzijde.