= Scripts = OpenAC heeft, naast de gewone functionaliteit van het programma, ook ''scripts'' die ongewone acties uitvoeren of die bijzondere queries op de database loslaten. Deze scripts staan bij de OpenAC programmatuur en kunnen [#handmatig met de hand] of [#gepland als geplande taak] worden uitgevoerd. Scripts doen speciale dingen met OpenAC. Hierdoor is het van belang om de scripts met de nodige voorzichtigheid te draaien. == Scripts Draaien == Voor het uitvoeren van een script zijn er drie stukken informatie nodig: - Waar is OpenAC geinstalleerd? Dit scrijven we verder als ''''. Als OpenAC op een reguliere manier is geinstalleerd zou dit {{{C:\Program Files\OpenAC}}} kunnen zijn. - Welke versie van de [Documentatie/Beheershandleiding/Runtime OpenAC runtime] wordt er gebruikt? De meeste installaties hebben Python 2.5, sommige Python 2.4. - Welk script moet er worden uitgevoerd? Een lijst van beschikbare scripts staat op deze pagina [#scripts hieronder], of kijk in ''/scripts/'' voor de namen van alle scripts die met OpenAC geinstalleerd zijn. Scripts worden het beste vanaf de ''command-line'' uitgevoerd. Deze is op te starten als {{{cmd.exe}}}. Instructies voor specifieke Windows versies staan hieronder. Als de command-line is opgestart, dan kunt u met het commando {{{cd }}}'' naar de juiste map gaan. Eenmaal in de juiste map, gebruik het juiste commando van de [Beheershandleiding/Runtime runtime], een spatie, {{{script.py}}} en de naam van het script om uit te voeren. Indien geen script wordt opgegeven klaagt het programma dat er geen script opgegeven is en doet verder niks. In de screenshot hieronder worden de volgende twee opdrachten uitgevoerd: {{{ cd "C:\Users\adriaan\AppData\OpenAC Docs\v1.222" Python25\python.exe script.py }}} Het eerste commando zorgt ervoor dat het commando op de juiste plek wordt uitgevoerd. De tweede voert het script uit (zonder naam van een script, dus we verwachten ook dat het klaagt). [[Image(script-geen.PNG)]] === Command Line in Windows 7 === [[Image(start-win7.PNG,class=align-left)]] Klik op start en vul in het zoekveld {{{cmd}}} in en druk op enter. De command-line start op. === Command Line in Windows XP === ''TODO: hier screenshots maken.'' De command-line opstarten in Windows XP lijkt erg op het opstarten onder Windows 7. == Achtergrond == (''verouderd'') OpenAC kan worden gescript door gebruik te maken van script.py met als argument het uit te voeren script. Eventuele verdere argumenten zijn argumenten voor het uit te voeren script. Zorg ervoor dat een script altijd wordt uitgevoerd vanuit de map waar OpenAC is geïnstalleerd. Vanuit deze map is de opdrachtregel: python25\python.exe script.py . Door als eerste argument van het uit te voeren script mailto:e-mailadres op te geven, dan wordt het sessielog na het uitvoeren van het script gestuurd aan het opgegeven e-mailadres. Scripts gebruiken dezelfde instellingen als de laatste OpenAC-sessie. Het is dus zaak om OpenAC minimaal één keer op de reguliere manier te starten en te controleren of alle instellingen correct zijn. == Een geplande taak aanmaken in Windows == * Open "Geplande taken" vanuit het configuratiescherm. De wizard "Taak plannen" zal worden gestart. * Blader naar python.exe in \python24. * Geef de taak een naam. * Geef aan wanneer de taak moet worden uitgevoerd. * Voltooi de wizard. Vink op de laatste pagina moet de optie "Geavanceerde eigenschappen voor deze taak openen wanneer ik op Voltooien klik" aan. Dit is nodig om de argumenten en de werkdirectory in te stellen. * Vul de opdrachtregel achter "Uitvoeren" aan met script.py . Zie voor de naam en argumenten van het script het lijstje scripts hieronder. De volledige opdrachtregel wordt: \python24\python.exe script.py . * Het is belangrijk dat achter "Beginnen in" de OpenAC map wordt ingevuld. Dit is de werkdirectory. == Scripts Draaien == == Beschikbare Scripts == === Script backup === Aanroep vanaf de command line: "'''Python25\python.exe script.py backup'''". Dit script schrijft een actuele backup naar de verzameldirectory. === Script svn_cleanup === Aanroep vanaf de command line: "'''Python25\python.exe script.py svn_cleanup'''". Dit script kan problemen met het versiebeheer van OpenAC oplossen. === Script periodieke TOREN-import === Aanroep vanaf de command line: "'''Python25\python.exe script.py periodiek_toren_import import'''". Het script periodiek_toren_import doet het volgende: * Alle bestanden uit de TOREN-importmap met een bepaalde bestandsextensie worden ingelezen. De TOREN-importmap en de bestandextensie kunnen worden ingesteld via '''Beheer->Instellingen''' in OpenAC. * Als er een structuurfout zit in het importbestand, of als de import voortijdig wordt afgebroken, dan wordt het importbestand verplaatst naar de map "'''mislukt'''". Het script "periodiek_toren_import" garandeert dat elke verrichting uit een importbestand maar één keer wordt verwerkt, dus een bestand kan zonder gevaar op dubbele verrichtingen meerdere keren worden geïmporteerd. * Verrichtingen die niet kunnen worden verwerkt worden weggeschreven als een kommagescheiden bestand in de map "'''fouten'''". * Nadat een TOREN-bestand is geïmporteerd wordt het verplaatst naar de map "'''behandeld'''". * Bestanden uit de map "mislukt" kunnen worden teruggezet naar de TOREN-importmap met "'''script.py periodiek_toren_import herstel'''". === Script verstuur DBC's === Aanroep vanaf de command line: "'''Python25\python.exe script.py verstuur_dbcs'''". Het script verstuur_dbcs voert de acties uit het scherm DBC's versturen automatisch uit.