wiki:Documentatie/Beheerder/Schermen/Script

Script

adaptatie-init

Uw adaptatie van OpenAC wordt gestart vanuit een Python-bronbestand __init__.py in de eigen adaptatiemap (bijvoorbeeld OpenAC\adaptaties\ac_simpelveld\__init__.py). Dit bronbestand regelt onder andere welke modules van OpenAC gebruikt worden en wat de interne instellingen voor die modules zijn. Achter de script knop zit een scherm waarin u dit bestand kunt bewerken (maar het zou ook met een tekst-editor zoals NotePad kunnen).

Sommige applicatie-instellingen worden niet vanuit OpenAC zelf ingesteld, maar worden in de __init__.py vastgelegd. Het gaat hier om instellingen waarvan het (1) het riskant is deze te wijzigen en/of (2) het van belang is voor de ondersteuning dat de ontwikkelaars op de hoogte zijn van de gekozen instelling.

Na het bewerkern is het nodig om eerst lokaal te testen. Daarna is het verstandig om het gewijzigde script in te leveren via versiebeheer en dan pas gebruikers te schakelen naar de nieuw-ingeleverde versie zodat ze de verbeteringen in het script kunnen overnemen.

Decursus-Thema's

Het inrichten van decursus wordt op een aparte decursuspagina uitgelegd. Dit wordt in de adaptatie-script gedaan.

Proxy-Instellingen

(vanaf versie 2.002)

De proxy-instellingen van de communicatie-onderdelen die HTTP of HTTPS gebruiken, kunnen verschillend zijn (bijvoorbeeld als communicatie met de Grouper via een proxy en VECOZO via een andere proxy moet). Tot v2.000 was er maar een HTTP proxy instelling (te vinden in het versiebeheerscherm, daar genoemd SVN Proxy). Die instellingen werden gebruikt voor alle HTTP en HTTPS verbindingen en zijn opgeslagen in de twee configuratievariabelen svn_proxy en svn_puserpass. Beide variabelen hebben een tweeledige waarde: proxy is een host:port combinatie, en puserpass is een username:password combinatie. Voor HTTP en HTTPS proxies zijn alle vier waarden nodig.

In v2.002 is het mogelijk om meerdere configuratie-variabelen te hebben voor het instellen van HTTP proxies, of om de proxy uit te zetten in specifieke gevallen. Elke HTTP verbinding die OpenAC maakt zoekt de proxy instellingen op aan de hand van een naam. De namen zijn als volgt:

  • In een kernmodule, de naam module.submodule of alleen module. Voorbeelden zijn d035_zorgrelatie en e080_vecozo.declaratie.
  • Losse modules svn, sms, fenac en trac.

Voor elke proxy is het mogelijk om afzonderlijk te configureren welke proxy-instellingen gebruikt moeten worden.

  • De proxy kan uit staan. Dan wordt er geen proxy gebruikt.
  • De proxy kan in een tweetal configuratie-variabelen staan, in dezelfde stijl als bij de bestaande proxy.
  • De proxy kan hard-coded in OpenAC ingevoerd zijn.
  • De proxy kan gebruik maken van de instellingen van een andere proxy.

Als bij een gegeven proxy-naam geen instellingen zijn gedefinieerd, dan worden de instellingen van SVN gebruikt, net als in v2.000.

De instellingen worden opgeslagen in logica.configuratie.ProxyMap. De default indeling van de ProxyMap is om alles door de spelen aan de twee SVN variabelen, maar de adaptatie kan specifieke gevallen aanpassen. Die doe je door bepaalde waarden toe te kennen aan de namen in de ProxyMap, zo:

logica.configuratie.ProxyMap[proxynaam] = waarde

Hierbij is proxynaam een string om de proxy-instelling te benoemen, zoals "e080_vecozo.declaratie". De waarde kan als volgt gekozen worden:

  • None, om de proxy uit te schakelen.
  • ("var1","var2") met de namen van twee configuratie-variabelen waar de instellingen in moeten zitten. Deze moeten dan wel in je config.tsv zitten (of in de database van gedeelde variabelen).
  • ("host",port,"user","pass") met de vier waarden die gebruikt moeten worden, expliciet uitgeschreven in de code.
  • "proxynaam" de naam van een andere proxy, wiens instellingen gebruikt moeten worden.

Als een proxy verwijst naar een andere proxy, kan die andere uiteraard zelf weer doorverwijzen, tot er een proxy is met eigen (niet-doorverwezen) instellingen (desnoods die voor svn).

Proxy-instellingen van een en dezelfde module (zoals e080_vecozo.declaratie en e080_vecozo.verzekeringsrecht) kunnen worden ingesteld op module niveau of op submodule niveau. De meest specifieke instelling telt, dus de proxy-instelling voor e080_vecozo wordt gebruikt voor de proxy van e080_vecozo.declaratie alleen als er geen eigen instellingen zijn voor die submodule.

Hier is een volledig voorbeeld, dat in de finish() functie van de eigen adaptatie gezet zou kunnen worden:

# Geen proxy voor TRAC
logica.configuratie.ProxyMap["trac"] = None
# Bevestig wat we over svn weten
logica.configuratie.ProxyMap["svn"] = ("svn_proxy","svn_puserpass")
# Upload naar FENAC gebruikt de svn instellingen
logica.configuratie.ProxyMap["fenac"] = "svn"
# De VECOZO (inclusief e080_vecozo.declaratie) gebruikt een vaste proxy
logica.configuratie.ProxyMap["e080_vecozo"] = ("proxy.local",8080,"http","geheim")
# Behalve verzekeringsrecht, dat gebruikt aparte configuratievariabelen
logica.configuratie.ProxyMap["e080_vecozo.verzekeringsrecht"] = ("vecozo_proxy","vecozo_puserpass")

We verwachten dat het meest-gebruikte zal zijn om de proxy uit te schakelen voor specifieke verbindingen.

NB. als proxy-instellingen over-en-weer naar elkaar verwijzen, ontstaat een oneindige loop.

Last modified 8 years ago Last modified on Mar 30, 2016 10:14:20 AM

Attachments (2)

Download all attachments as: .zip