| 52 | | (''vanaf [wiki:/Releases/v2.002 versie 2.002]'') |
| 53 | | |
| 54 | | De proxy-instellingen van de communicatie-onderdelen |
| 55 | | 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 |
| 56 | | was er maar ''een'' HTTP proxy instelling (te vinden in het versiebeheerscherm, daar genoemd ''SVN Proxy''). Die instellingen werden gebruikt voor alle HTTP en |
| 57 | | HTTPS verbindingen en zijn opgeslagen in de twee configuratievariabelen `svn_proxy` en `svn_puserpass`. Beide variabelen hebben |
| 58 | | een tweeledige waarde: proxy is een `host:port` combinatie, |
| 59 | | en puserpass is een `username:password` combinatie. Voor HTTP en HTTPS proxies |
| 60 | | zijn alle vier waarden nodig. |
| 61 | | |
| 62 | | In v2.002 is het mogelijk om meerdere configuratie-variabelen |
| 63 | | te hebben voor het instellen van HTTP proxies, of om de proxy |
| 64 | | uit te zetten in specifieke gevallen. Elke HTTP verbinding die |
| 65 | | OpenAC maakt zoekt de proxy instellingen op aan de hand van een |
| 66 | | naam. De namen zijn als volgt: |
| 67 | | - In een kernmodule, de naam `module`.`submodule` of alleen `module`. |
| 68 | | Voorbeelden zijn `d035_zorgrelatie` en `e080_vecozo.declaratie`. |
| 69 | | - Losse modules `svn`, `sms`, `fenac` en `trac`. |
| 70 | | Voor elke proxy is het mogelijk om afzonderlijk te configureren |
| 71 | | welke proxy-instellingen gebruikt moeten worden. |
| 72 | | - De proxy kan uit staan. Dan wordt er geen proxy gebruikt. |
| 73 | | - De proxy kan in een tweetal configuratie-variabelen staan, |
| 74 | | in dezelfde stijl als bij de bestaande proxy. |
| 75 | | - De proxy kan hard-coded in OpenAC ingevoerd zijn. |
| 76 | | - De proxy kan gebruik maken van de instellingen van een andere |
| 77 | | proxy. |
| 78 | | Als bij een gegeven proxy-naam geen instellingen zijn gedefinieerd, |
| 79 | | dan worden de instellingen van SVN gebruikt, net als in v2.000. |
| 80 | | |
| 81 | | De instellingen worden opgeslagen in `logica.configuratie.ProxyMap`. |
| 82 | | De default indeling van de !ProxyMap is om alles door de spelen |
| 83 | | aan de twee SVN variabelen, maar de adaptatie kan specifieke |
| 84 | | gevallen aanpassen. Die doe je door bepaalde waarden toe te kennen |
| 85 | | aan de namen in de !ProxyMap, zo: |
| 86 | | {{{ |
| 87 | | logica.configuratie.ProxyMap[proxynaam] = waarde |
| 88 | | }}} |
| 89 | | Hierbij is `proxynaam` een string om de proxy-instelling te |
| 90 | | benoemen, zoals `"e080_vecozo.declaratie"`. De waarde kan |
| 91 | | als volgt gekozen worden: |
| 92 | | - `None`, om de proxy uit te schakelen. |
| 93 | | - `("var1","var2")` met de namen van twee configuratie-variabelen |
| 94 | | waar de instellingen in moeten zitten. Deze moeten dan wel in je |
| 95 | | `config.tsv` zitten (of in de database van gedeelde variabelen). |
| 96 | | - `("host",port,"user","pass")` met de vier waarden die gebruikt |
| 97 | | moeten worden, expliciet uitgeschreven in de code. |
| 98 | | - `"proxynaam"` de naam van een andere proxy, wiens instellingen |
| 99 | | gebruikt moeten worden. |
| 100 | | Als een proxy verwijst naar een andere proxy, kan die andere uiteraard |
| 101 | | zelf weer doorverwijzen, tot er een proxy is met eigen (niet-doorverwezen) |
| 102 | | instellingen (desnoods die voor svn). |
| 103 | | |
| 104 | | Proxy-instellingen van een en dezelfde module (zoals `e080_vecozo.declaratie` |
| 105 | | en `e080_vecozo.verzekeringsrecht`) kunnen worden ingesteld op '''module''' |
| 106 | | niveau of op '''submodule''' niveau. De meest specifieke instelling telt, |
| 107 | | dus de proxy-instelling voor `e080_vecozo` wordt gebruikt voor de proxy |
| 108 | | van `e080_vecozo.declaratie` '''alleen''' als er geen eigen instellingen |
| 109 | | zijn voor die submodule. |
| 110 | | |
| 111 | | Hier is een volledig voorbeeld, dat in de `finish()` functie van de eigen adaptatie gezet zou kunnen worden: |
| 112 | | {{{ |
| 113 | | # Geen proxy voor TRAC |
| 114 | | logica.configuratie.ProxyMap["trac"] = None |
| 115 | | # Bevestig wat we over svn weten |
| 116 | | logica.configuratie.ProxyMap["svn"] = ("svn_proxy","svn_puserpass") |
| 117 | | # Upload naar FENAC gebruikt de svn instellingen |
| 118 | | logica.configuratie.ProxyMap["fenac"] = "svn" |
| 119 | | # De VECOZO (inclusief e080_vecozo.declaratie) gebruikt een vaste proxy |
| 120 | | logica.configuratie.ProxyMap["e080_vecozo"] = ("proxy.local",8080,"http","geheim") |
| 121 | | # Behalve verzekeringsrecht, dat gebruikt aparte configuratievariabelen |
| 122 | | logica.configuratie.ProxyMap["e080_vecozo.verzekeringsrecht"] = ("vecozo_proxy","vecozo_puserpass") |
| 123 | | }}} |
| 124 | | |
| 125 | | We verwachten dat het meest-gebruikte zal zijn om de proxy uit te schakelen |
| 126 | | voor specifieke verbindingen. |
| 127 | | |
| 128 | | '''NB.''' als proxy-instellingen over-en-weer naar elkaar verwijzen, ontstaat een oneindige loop. |
| 129 | | |
| | 78 | == Versiebeheer == |