Changes between Version 4 and Version 5 of Documentatie/Beheerder/Schermen/Instellingen


Ignore:
Timestamp:
Aug 8, 2012 11:28:51 AM (14 years ago)
Author:
adriaan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentatie/Beheerder/Schermen/Instellingen

    v4 v5  
    6868Uw adaptatie van OpenAC wordt gestart vanuit een Python-bronbestand {{{__init__.py}}}.  Onder deze 
    6969knop zit een scherm waarin u dit bestand kunt bewerken. 
     70 
     71== Proxy-Instellingen == 
     72 
     73(''vanaf [wiki:/Releases/v2.002 versie 2.002]'')  
     74 
     75De proxy-instellingen van verschillende communicatie-onderdelen 
     76die HTTP of HTTPS gebruiken, kunnen verschillend zijn. Tot v2.000 
     77was er maar ''een'' HTTP proxy instelling (te vinden in het versie- 
     78beheerscherm). Die instellingen werden gebruikt voor alle HTTP en 
     79HTTPS verbindingen en zijn opgeslagen in de twee configuratie- 
     80variabelen svn_proxy en svn_puserpass. Beide variabelen hebben 
     81een tweeledige waarde: de svn proxy is een host:port combinatie, 
     82en puserpass is een username:password combinatie. Voor HTTP proxies 
     83zijn alle vier waarden nodig. 
     84 
     85In v2.002 is het mogelijk om meerdere configuratie-variabelen 
     86te hebben voor het instellen van HTTP proxies, of om de proxy 
     87uit te zetten in specifieke gevallen. Elke HTTP verbinding die 
     88OpenAC maakt zoekt de proxy instellingen op aan de hand van een 
     89naam. De namen zijn als volgt: 
     90  - In een kernmodule, `module`.`submodule` of alleen `module`. 
     91    Voorbeelden zijn `d035_zorgrelatie en e080_vecozo.declaratie. 
     92  - Losse modules `svn`, `sms`, `fenac` en `trac`. 
     93Voor elke proxy is het mogelijk om afzonderlijk te configureren 
     94welke proxy-instellingen gebruikt moeten worden. 
     95  - De proxy kan uit staan. Dan wordt er geen proxy gebruikt. 
     96  - De proxy kan in een tweetal configuratie-variabelen staan, 
     97    in dezelfde stijl als bij svn. 
     98  - De proxy kan hard-coded in OpenAC ingevoerd zijn. 
     99  - De proxy kan gebruik maken van de instellingen van een andere 
     100    proxy. 
     101Als bij een gegeven proxy-naam geen instellingen zijn gedefinieerd, 
     102dan worden de instellingen van svn gebruikt, net als in v2.000. 
     103 
     104De instellingen worden opgeslagen in logica.configuratie.!ProxyMap. 
     105De default indeling van de !ProxyMap is om alles door de spelen 
     106aan de twee svn variabelen, maar de adaptatie kan specifieke 
     107gevallen aanpassen. Die doe je door bepaalde waarden toe te kennen 
     108aan de namen in de !ProxyMap, zo: 
     109  {{{ 
     110  logica.configuratie.ProxyMap[proxynaam] = waarde 
     111  }}} 
     112Hierbij is `proxynaam` een string om de proxy-instelling te 
     113benoemen, zoals `"e080_vecozo.declaratie"`. De waarde kan 
     114als volgt gekozen worden: 
     115  - `None`, om `de proxy uit te schakelen. 
     116  - `("var1","var2")` met de namen van twee configuratie-variabelen 
     117    waar de instellingen in moeten zitten. Deze moeten dan wel in je 
     118    `config.tsv` zitten (of in de database van gedeelde variabelen). 
     119  - `("host",port,"user","pass")` met de vier waarden die gebruikt 
     120    moeten worden, expliciet uitgeschreven in de code. 
     121  - `"proxynaam"` de naam van een andere proxy, wiens instellingen 
     122    gebruikt moeten worden. 
     123Als een proxy verwijst naar een andere proxy, kan die andere uiteraard 
     124zelf weer doorverwijzen, tot er een proxy is met eigen (niet-doorverwezen) 
     125instellingen (desnoods die voor svn). 
     126 
     127Proxy-instellingen van een en dezelfde module (zoals `e080_vecozo.declaratie` 
     128en `e080_vecozo.verzekeringsrecht`) kunnen worden ingesteld op '''module''' 
     129niveau of op '''submodule''' niveau. De meest specifieke instelling telt, 
     130dus de proxy-instelling voor `e080_vecozo` wordt gebruikt voor de proxy 
     131van `e080_vecozo.declaratie` '''alleen''' als er geen eigen instellingen 
     132zijn voor die submodule. 
     133 
     134Hier is een volledig voorbeeld, dat in de `finish()` functie van de eigen adaptatie gezet zou kunnen worden: 
     135 {{{ 
     136 # Geen proxy voor TRAC 
     137 logica.configuratie.ProxyMap["trac"] = None 
     138 # Bevestig wat we over svn weten 
     139 logica.configuratie.ProxyMap["svn"] = ("svn_proxy","svn_puserpass") 
     140 # Upload naar FENAC gebruikt de svn instellingen 
     141 logica.configuratie.ProxyMap["fenac"] = "svn" 
     142 # De VECOZO (inclusief e080_vecozo.declaratie) gebruikt een vaste proxy 
     143 logica.configuratie.ProxyMap["e080_vecozo"] = ("proxy.local",8080,"http","geheim") 
     144 # Behalve verzekeringsrecht, dat gebruikt aparte configuratievariabelen 
     145 logica.configuratie.ProxyMap["e080_vecozo.verzekeringsrecht"] = ("vecozo_proxy","vecozo_puserpass") 
     146 }}} 
     147 
     148We verwachten dat het meest-gebruikte zal zijn om de proxy uit te schakelen 
     149voor specifieke verbindingen. 
     150 
     151'''NB.''' als proxy-instellingen naar elkaar verwijzen, ontstaat een oneindige loop. 
     152 
     153'''NB.''' de proxy instellingen kan je beter niet behandelen als attributen van !ProxyMap, 
     154maar alleen via de blokhaken zetten en benaderen. Merk op dat wat je er '''uit''' krijgt 
     155(een vier-tupel met instellingen) niet hetzelfde is als wat je er '''in''' stopt.