| | 70 | |
| | 71 | == Proxy-Instellingen == |
| | 72 | |
| | 73 | (''vanaf [wiki:/Releases/v2.002 versie 2.002]'') |
| | 74 | |
| | 75 | De proxy-instellingen van verschillende communicatie-onderdelen |
| | 76 | die HTTP of HTTPS gebruiken, kunnen verschillend zijn. Tot v2.000 |
| | 77 | was er maar ''een'' HTTP proxy instelling (te vinden in het versie- |
| | 78 | beheerscherm). Die instellingen werden gebruikt voor alle HTTP en |
| | 79 | HTTPS verbindingen en zijn opgeslagen in de twee configuratie- |
| | 80 | variabelen svn_proxy en svn_puserpass. Beide variabelen hebben |
| | 81 | een tweeledige waarde: de svn proxy is een host:port combinatie, |
| | 82 | en puserpass is een username:password combinatie. Voor HTTP proxies |
| | 83 | zijn alle vier waarden nodig. |
| | 84 | |
| | 85 | In v2.002 is het mogelijk om meerdere configuratie-variabelen |
| | 86 | te hebben voor het instellen van HTTP proxies, of om de proxy |
| | 87 | uit te zetten in specifieke gevallen. Elke HTTP verbinding die |
| | 88 | OpenAC maakt zoekt de proxy instellingen op aan de hand van een |
| | 89 | naam. 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`. |
| | 93 | Voor elke proxy is het mogelijk om afzonderlijk te configureren |
| | 94 | welke 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. |
| | 101 | Als bij een gegeven proxy-naam geen instellingen zijn gedefinieerd, |
| | 102 | dan worden de instellingen van svn gebruikt, net als in v2.000. |
| | 103 | |
| | 104 | De instellingen worden opgeslagen in logica.configuratie.!ProxyMap. |
| | 105 | De default indeling van de !ProxyMap is om alles door de spelen |
| | 106 | aan de twee svn variabelen, maar de adaptatie kan specifieke |
| | 107 | gevallen aanpassen. Die doe je door bepaalde waarden toe te kennen |
| | 108 | aan de namen in de !ProxyMap, zo: |
| | 109 | {{{ |
| | 110 | logica.configuratie.ProxyMap[proxynaam] = waarde |
| | 111 | }}} |
| | 112 | Hierbij is `proxynaam` een string om de proxy-instelling te |
| | 113 | benoemen, zoals `"e080_vecozo.declaratie"`. De waarde kan |
| | 114 | als 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. |
| | 123 | Als een proxy verwijst naar een andere proxy, kan die andere uiteraard |
| | 124 | zelf weer doorverwijzen, tot er een proxy is met eigen (niet-doorverwezen) |
| | 125 | instellingen (desnoods die voor svn). |
| | 126 | |
| | 127 | Proxy-instellingen van een en dezelfde module (zoals `e080_vecozo.declaratie` |
| | 128 | en `e080_vecozo.verzekeringsrecht`) kunnen worden ingesteld op '''module''' |
| | 129 | niveau of op '''submodule''' niveau. De meest specifieke instelling telt, |
| | 130 | dus de proxy-instelling voor `e080_vecozo` wordt gebruikt voor de proxy |
| | 131 | van `e080_vecozo.declaratie` '''alleen''' als er geen eigen instellingen |
| | 132 | zijn voor die submodule. |
| | 133 | |
| | 134 | Hier 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 | |
| | 148 | We verwachten dat het meest-gebruikte zal zijn om de proxy uit te schakelen |
| | 149 | voor 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, |
| | 154 | maar 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. |