| 181 | | Hoewel het altijd aan te raden is eerst een backup te maken, is het gebruik van deze functie |
| 182 | | een relatief veilige aangelegenheid. Hoe langer de fouten blijven bestaan, hoe meer nieuwe inconsistenties |
| 183 | | erbij kunnen komen. |
| 184 | | |
| 185 | | Bij recente versies van OpenAC moeten er niet meer dan enkele inconsistenties bijkomen. Heeft u er meer |
| 186 | | dan 10 per maand (na een eerste keer), dan kan het goed zijn [wiki:ServiceLevels contact op te nemen met |
| 187 | | het bureau]. |
| 188 | | |
| 189 | | |
| 190 | | === Tabel doorrekenen === |
| 191 | | |
| 192 | | In een enkel geval is het nodig een hele tabel in de OpenAC-database opnieuw door te rekenen. Concreet: |
| 193 | | |
| 194 | | * Het '''dossierscherm''' heeft zijn eigen doorrekenfunctie, die bovendien de mogelijkheid heeft om een selectie op te geven. |
| 195 | | * Wanneer alle '''plangroepen''' worden gewijzigd, kan de sortering van de medewerkers veranderen. De tabel '''rooster_item''' dient dan opnieuw te worden doorgerekend, anders worden de rooster-items in het beheerscherm |
| 196 | | voor het rooster niet consequent gesorteerd weergegeven. |
| 197 | | |
| 198 | | |
| 199 | | === Importeren uit... === |
| 200 | | |
| 201 | | Afhankelijk van de adaptatie van OpenAC kunnen onder deze menuregel één of meerdere importfuncties zitten. |
| 202 | | |
| 203 | | |
| 204 | | === Backup/restore === |
| 205 | | |
| 206 | | In het menu ''beheer'', submenu ''Backup/restore...'' staan opties voor het maken van datasets en terugzetten van backups, en het veilig verzenden van gegevens uit OpenAC aan de FENAC. |
| 207 | | |
| 208 | | ==== Backup maken ==== |
| 209 | | |
| 210 | | Met dit item maakt u een OpenAC-backup. Dit is een map met tab-separated bestanden, één bestand per tabel in de OpenAC-database. |
| 211 | | |
| 212 | | ==== Backup terugzetten ==== |
| 213 | | |
| 214 | | Met dit item kunt u een OpenAC-backup (directory met TSV-bestanden) terugzetten. U kiest in de regel |
| 215 | | voor 'bestanden leegmaken voor terugzetten', tenzij u een gedeeltelijke backup wilt terugzetten (data |
| 216 | | toevoegen aan een bestaande database). |
| 217 | | |
| 218 | | ==== Geanonimiseerde backup maken en versturen ==== |
| 219 | | |
| 220 | | Met dit item maakt u een TSV-dataset waarbij persoonsgegevens en tekstnotities onherleidbaar zijn gemaakt (uitgezonderd zijn de geboortedatum en - vooralsnog - de 4 cijfers van de postcode). Deze geboortedatum is nodig omdat de anonieme datasets anders niet leiden tot dezelfde geaggregeerde gegevens (o.a. andere AP-producten). De gegevens worden niet alleen lokaal opgeslagen, maar worden ook verstuurd aan de FENAC. Gebruik deze |
| 221 | | functie om periodiek een dataset naar de branchevereniging te sturen in het kader van de landelijke afspraak |
| 222 | | (4x per jaar) over dataverzameling. |
| 223 | | |
| 224 | | https://www.fenac.nl/openac/upload/ |
| 225 | | |
| 226 | | ==== Backup van één of meer dossiers ==== |
| 227 | | |
| 228 | | Met dit item maakt u een OpenAC-backup van één of meer dossiers. Deze kan naar keuze alleen lokaal worden opgeslagen, |
| 229 | | of worden verstuurd aan de FENAC bijvoorbeeld voor de FENAC ICT helpdesk om problemen met OpenAC op te lossen. |
| 230 | | |
| 231 | | ==== Backup van één of meer dossiers terugzetten ==== |
| 232 | | |
| 233 | | Met dit item zet u een backup van enkele dossiers terug. Deze functie kan worden gebruikt om bijvoorbeeld uit een oude backup enkele dossiers terug te zetten in de productie-omgeving. Uiteraard moet deze functie met enige zorgvuldigheid worden toegepast. |
| 234 | | |
| 235 | | ==== Databeleid FENAC ==== |
| 236 | | |
| 237 | | ''Dit is een bondige weergave van het voorlopige beleid. De FENAC is bezig het databeleid (Q4/2009) te formaliseren in een dataconvenant.'' |
| 238 | | |
| 239 | | Datasets met niet geanonimiseerde gegevens (één of meer dossiers) worden vernietigd nadat de betreffende ondersteuningsvraag is beantwoord. Van de datasets met geanonimiseerde gegevens wordt maximaal één kopie bewaard. |
| 240 | | |
| 241 | | De gegevens die naar de FENAC webserver worden verstuurd, worden beveiligd verzonden via HTTPS. FENAC ICT krijgt bij de start en aan het eind van de backup een e-mailbericht. Zij halen de gegevens zo snel mogelijk, uiterlijk binnen 1 dag weer van de FENAC server af en slaan de dataset op op een beveiligde schijf binnen het lokale netwerk van Bureau !AudCom voor FENAC en Siméa. Wanneer een backup-procedure onverhoopt wordt afgebroken, worden de al verstuurde bestanden van de incomplete backup automatisch na 4 uur vernietigd. Off site backups van de gegevens bij Bureau !AudCom zijn alleen te lezen met een wachtwoord dat slechts bij FENAC ICT bekend is. |
| 242 | | |
| 243 | | |
| 244 | | ==== Periodiek een backup maken ==== |
| 245 | | |
| 246 | | Er zijn drie mogelijkheden voor het maken van backups van de OpenAC-database. |
| 247 | | |
| 248 | | * OpenAC-backups. De OpenAC-backups bieden meer flexibiliteit met |
| 249 | | betrekking tot terugzetten. Maak eerst handmatig een backup: log in, |
| 250 | | kies in het menu ''beheer'', submenu ''Backup/restore'' de optie ''backup maken...'' en vul de map |
| 251 | | in waar je backups wilt verzamelen. Breek eventueel het backup-proces |
| 252 | | af, het gaat erom dat je de instellingen goed invoert. Stel het |
| 253 | | volgende commando in als "taak" onder Windows (laat de taak uitvoeren |
| 254 | | door dezelfde windows-gebruiker die al een keer handmatig een backup |
| 255 | | heeft gemaakt): |
| 256 | | |
| 257 | | {{{ |
| 258 | | Beginnen in : C:\Program Files\OpenAC |
| 259 | | Uitvoeren: Python24\python.exe script.py backup |
| 260 | | }}} |
| 261 | | |
| 262 | | * Maak een backup met het programma 'mysqldump'. Deze worden sneller |
| 263 | | gemaakt, waardoor je vaker een backup kunt draaien. |
| 264 | | |
| 265 | | {{{ |
| 266 | | mysqldump --opt --user=gebruikersnaam --password=password naam_database > openac_backup.sql |
| 267 | | }}} |
| 268 | | |
| 269 | | * kopieer het bestand 'ibdata' in de MySQL-data-dir. Dit is alleen een |
| 270 | | 'last-resort' of extra veiligheid. |
| 271 | | |
| 272 | | |
| 273 | | === Database wissen... === |
| 274 | | |
| 275 | | Deze optie wordt alleen gebruikt tijdens de uitrol van een nieuwe OpenAC en het testen van een importprocedure. |
| 276 | | |
| 277 | | === Tabel leegmaken... === |
| 278 | | |
| 279 | | Deze optie wordt alleen gebruikt tijdens de uitrol van een nieuwe OpenAC en het testen van een importprocedure. |
| 280 | | |
| 281 | | === Wachtwoord wijzigen === |
| 282 | | |
| 283 | | Hier kunt u uw gebruikerswachtwoord bewerken. Ook gebruiker 'admin' kan in recente versies van OpenAC een eigen wachtwoord ingeven (dit was lange tijd een landelijk vast wachtwoord). |
| 284 | | |
| 285 | | |
| | 125 | Scripts zijn kleine programma's die gebruik maken van de OpenAC programmatuur om specifieke taken uit te voeren die normaal niet binnen OpenAC passen. Ze staan beschreven op de [wiki:Documentatie/Beheershandleiding/Scripts de scripting pagina]. |
| 294 | | OpenAC kan worden gescript door gebruik te maken van script.py met als |
| 295 | | argument het uit te voeren script. Eventuele verdere argumenten zijn |
| 296 | | argumenten voor het uit te voeren script. |
| 297 | | |
| 298 | | Zorg ervoor dat een script altijd wordt uitgevoerd vanuit de map waar |
| 299 | | OpenAC is geïnstalleerd. Vanuit deze map is de opdrachtregel: |
| 300 | | python25\python.exe script.py <naam en argumenten uit te voeren script>. |
| 301 | | |
| 302 | | 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. |
| 303 | | |
| 304 | | Scripts gebruiken dezelfde instellingen als de laatste OpenAC-sessie. |
| 305 | | Het is dus zaak om OpenAC minimaal één keer op de reguliere manier te |
| 306 | | starten en te controleren of alle instellingen correct zijn. |
| 307 | | |
| 308 | | === Een geplande taak aanmaken in Windows === |
| 309 | | |
| 310 | | * Open "Geplande taken" vanuit het configuratiescherm. De wizard "Taak |
| 311 | | plannen" zal worden gestart. |
| 312 | | |
| 313 | | * Blader naar python.exe in <OpenAC map>\python24. |
| 314 | | |
| 315 | | * Geef de taak een naam. |
| 316 | | |
| 317 | | * Geef aan wanneer de taak moet worden uitgevoerd. |
| 318 | | |
| 319 | | * Voltooi de wizard. Vink op de laatste pagina moet de optie |
| 320 | | "Geavanceerde eigenschappen voor deze taak openen wanneer ik op |
| 321 | | Voltooien klik" aan. Dit is nodig om de argumenten en de werkdirectory |
| 322 | | in te stellen. |
| 323 | | |
| 324 | | * Vul de opdrachtregel achter "Uitvoeren" aan met script.py <naam en |
| 325 | | argumenten uit te voeren script>. Zie voor de naam en argumenten van |
| 326 | | het script het lijstje scripts hieronder. De volledige opdrachtregel |
| 327 | | wordt: <OpenAC map>\python24\python.exe script.py <naam en argumenten |
| 328 | | uit te voeren script>. |
| 329 | | |
| 330 | | * Het is belangrijk dat achter "Beginnen in" de OpenAC map wordt |
| 331 | | ingevuld. Dit is de werkdirectory. |
| 332 | | |
| 333 | | === Script backup === |
| 334 | | |
| 335 | | Aanroep vanaf de command line: "'''Python25\python.exe script.py backup'''". |
| 336 | | |
| 337 | | Dit script schrijft een actuele backup naar de verzameldirectory. |
| 338 | | |
| 339 | | |
| 340 | | === Script svn_cleanup === |
| 341 | | |
| 342 | | Aanroep vanaf de command line: "'''Python25\python.exe script.py svn_cleanup'''". |
| 343 | | |
| 344 | | Dit script kan problemen met het versiebeheer van OpenAC oplossen. |
| 345 | | |
| 346 | | === Script periodieke TOREN-import === |
| 347 | | |
| 348 | | Aanroep vanaf de command line: "'''Python25\python.exe script.py |
| 349 | | periodiek_toren_import import'''". |
| 350 | | |
| 351 | | Het script periodiek_toren_import doet het volgende: |
| 352 | | |
| 353 | | * Alle bestanden uit de TOREN-importmap met een bepaalde |
| 354 | | bestandsextensie worden ingelezen. De TOREN-importmap en de |
| 355 | | bestandextensie kunnen worden ingesteld via '''Beheer->Instellingen''' |
| 356 | | in OpenAC. |
| 357 | | |
| 358 | | * Als er een structuurfout zit in het importbestand, of als de import |
| 359 | | voortijdig wordt afgebroken, dan wordt het importbestand verplaatst |
| 360 | | naar de map "'''mislukt'''". Het script "periodiek_toren_import" |
| 361 | | garandeert dat elke verrichting uit een importbestand maar één keer |
| 362 | | wordt verwerkt, dus een bestand kan zonder gevaar op dubbele |
| 363 | | verrichtingen meerdere keren worden geïmporteerd. |
| 364 | | |
| 365 | | * Verrichtingen die niet kunnen worden verwerkt worden weggeschreven |
| 366 | | als een kommagescheiden bestand in de map "'''fouten'''". |
| 367 | | |
| 368 | | * Nadat een TOREN-bestand is geïmporteerd wordt het verplaatst naar de |
| 369 | | map "'''behandeld'''". |
| 370 | | |
| 371 | | * Bestanden uit de map "mislukt" kunnen worden teruggezet naar de |
| 372 | | TOREN-importmap met "'''script.py periodiek_toren_import herstel'''". |
| 373 | | |
| 374 | | === Script verstuur DBC's === |
| 375 | | Aanroep vanaf de command line: "'''Python25\python.exe script.py verstuur_dbcs'''". |
| 376 | | |
| 377 | | Het script verstuur_dbcs voert de acties uit het scherm DBC's versturen automatisch uit. |
| 378 | | |
| 379 | | |
| 380 | | == Versiebeheer: releases en revisies == |
| 381 | | |
| 382 | | === Hoe werkt de SVN repository? === |
| 383 | | De SVN repository bevat twee directories: development met de actuele ontwikkelversie, en release met daarin stabiele releases van OpenAC. |
| 384 | | |
| 385 | | De AC's kunnen zelf wijzigingen in hun adapataties inleveren. Ze doen dit in de regel in de nieuwste release. Wanneer een AC een wijziging heeft ingeleverd, is dit te zien in de timeline van TRAC. Die houden we als ontwikkelaars dus nauwlettend in de gaten. Wekelijks worden wijzigingen door centra ingeleverd overgenomen in de development-tak. Als centra een oudere release in gebruik hebben, worden wijzigingen ook in de nieuwere releases overgenomen. Wanneer een centrum een wijzing indient en er is al een nieuwe release, krijgt men een waarschuwing dat de ingeleverde zaken niet automatisch beschikbaar zijn in de nieuwe release. |
| 386 | | |
| 387 | | Wijzigingen die in een release worden ingeleverd, moeten via een SVN merge worden opgenomen in de ontwikkeltak. |
| 388 | | |
| 389 | | |
| 390 | | === Planning van een OpenAC release === |
| 391 | | |
| 392 | | * De releasedatum is de datum dat de acceptatieversie wordt aangemaakt door de development-branch te kopiëren naar een release-branch. De releasedata vallen in principe op 31-3, 30-6, 25-9 en 15-12 (4x per jaar). |
| 393 | | * 5e week voor releasedatum: scope bepalen, ontwerpjes maken |
| 394 | | * 4e en 3e week voor releasedatum: bespreken ontwerpjes voor de grotere tickets, tickets afwerken |
| 395 | | * 2e week voor releasedatum: testen (en soms nog wat losse eindjes ontwikkelwerk), 2 pilot-AC's zoeken |
| 396 | | * week voor releasedatum: documenteren, changes overnemen en live (zie hieronder) |
| 397 | | * week na releasedatum: test bij 2 pilot-AC's, changes overnemen, bericht productieversie live |
| 398 | | |
| 399 | | === Testen en maken van een OpenAC release === |
| 400 | | |
| 401 | | Je zit in een werkkopie van de tak 'development'. Doe nu de volgende stappen: |
| 402 | | |
| 403 | | * Ga op de TRAC-website onder "Timeline" naar de vorige release, en loop zorgvuldig de changesets na die sindsdien zijn ingevoerd, draai eventueel een DIFF. Dit gebeurt elke week maar moet vlak voor een release nog een keer worden herhaald, zodat op het moment dat de release note uitkomt, alle wijzigingen zijn overgenomen. Wat men daarna inlevert, moet men zelf weten (versiebeheer waarschuwt dan ook). |
| 404 | | * Controleer of alle wijzigingen in de loop van de vorige release zijn overgenomen: development/bin/adaptatie-diff v1.XXX development (vergelijk laatste versie met development). Loop de diff door op vergeten change sets. |
| 405 | | * Draai de unit tests en fix zonodig |
| 406 | | * Loop het [TestScript test script] door |
| 407 | | * Merge door AC's gemaakte fixes op de vorige release in de development-tak |
| 408 | | * Test de wijzigingen zonodig |
| 409 | | * '''svn commit''' om de wijzigingen uit de merge in te leveren |
| 410 | | * Werk '''VERSIES.txt''' bij door de releasedatum aan de laatste versie toe te voegen en de omschrijving af te maken |
| 411 | | * Draai '''bin/clean''' en commit eventuele bestanden die nog geen eol-style LF hadden |
| 412 | | * Draai nog 1x de unit tests |
| 413 | | * '''svn commit''' |
| 414 | | * Draai '''bin/release 1.XXX''' om development te kopiëren naar de nieuwe release in SVN |
| 415 | | * Maak de adaptatiemap in de nieuwe release schrijfbaar voor centra door 3 regels te kopiëren in /usr/local/apache1/svn/etc/permissions |
| 416 | | * Stuur een release-bericht naar openac@fenac.nl. Denk daarbij goed na welke migraties er allemaal gebeuren bij deze nieuwe versie. |
| 417 | | |
| 418 | | === Maken van een nieuwe starter kit === |
| 419 | | De starter kit is in essentie een self-extracting ZIP van een release branch van OpenAC. Dit zijn de stappen die je moet doorlopen om een starter kit te maken. |
| 420 | | |
| 421 | | * Check de release uit waarvan de starterkit moet worden gemaakt. |
| 422 | | * Zorg dat de volgende elementen in de directory aanwezig zijn: directory Python25, en de 4 DLLs msvcpp71.dll, python25.dll, pythoncom25.dll en pywintypes25.dll. |
| 423 | | * Draai '''./bin/clean'''. Dit ruimt tempfiles op en zet permissies goed, maar kan ook wijzigingen maken in bestanden. Doe een svn status en als er wijzigingen zijn, deze eerst committen. |
| 424 | | * Draai '''./bin/makezip'''. Dit maakt een complete ZIP die goed door windows kan worden uitgepakt. |
| 425 | | * De zip is ongeveer 100MB. |
| 426 | | * Gebruik EnZIP voor het maken van de EXE: rechtermuis op starterkit.zip -> open with Enzip -> Create self extractor |
| 427 | | * Bij Message Box: nee, we willen geen message box. |
| 428 | | * Bij Folder: '''"OpenAC"''' |
| 429 | | * Title Caption: '''"OpenAC installatie"''' |
| 430 | | * Command: '''icon.bat ''' |
| 431 | | * Selecteer het icon-bestand '''images/OpenAC-128x128.ico ''' |
| 432 | | * In het laatste scherm geen opties veranderen |
| 433 | | * Upload het bestand naar '''Downloads''' op de TRAC site |
| 434 | | * Pas de links aan op de wiki-homepage en in de installatiehandleiding, zodat deze wijzen naar de meest recente starter kit. |
| 435 | | |
| 436 | | == Online documentatie genereren == |
| 437 | | |
| 438 | | === Infrastructuur en werking === |
| 439 | | |
| 440 | | De benodigdheden voor het genereren van de online documentatie staan op de server in directory '''/usr/local/apache1/openac-documentatie'''. Deze directory bevat de volgende onderdelen: |
| 441 | | ||development-working-copy||een lokaal uitgecheckte versie van OpenAC|| |
| 442 | | ||genereer||een symbolische link naar het script waarmee de documentatie gegenereerd kan worden|| |
| 443 | | ||html||de html-output na het genereren van de documentatie|| |
| 444 | | |
| 445 | | Het script gebruikt de volgende onderdelen uit de sandbox map van de OpenAC repository: |
| 446 | | ||Doxyfile||het configuratiebestand van Doxygen|| |
| 447 | | ||doxypy.py||een doxygen filter voor het verwerken van Python-bestanden|| |
| 448 | | ||documentatie/custom||custom headers, footers, stylesheets e.d. die gebruikt worden door Doxygen tijdens het genereren van de documentatie|| |
| 449 | | |
| 450 | | Het script begint met het bijwerken van de lokaal uitgecheckte versie van OpenAC met svn update. Vervolgens wordt de documentatie gegenereerd met Doxygen. Daarna wordt de documentatie naar de uiteindelijke locaties gekopieerd, te weten: |
| 451 | | ||/usr/local/apache1/openac-site/documentatie/html||de documentatie|| |
| 452 | | ||/usr/local/apache1/openac-site/documentatie/custom||stylesheets e.d.|| |
| 453 | | |
| 454 | | === Genereren documentatie === |
| 455 | | |
| 456 | | De online documentatie kan worden gegenereerd met het commando '''genereer''', op de volgende manier: |
| 457 | | |
| 458 | | {{{ |
| 459 | | cd /usr/local/apache1/openac-documentatie |
| 460 | | ./genereer |
| 461 | | }}} |
| 462 | | |
| 463 | | '''genereer''' is een symbolische link naar het script ''/usr/local/apache-1/openac-documentatie/svn_checkout/bin/documentatie'' en verandert dus automatisch als ''bin/documentatie'' wordt gewijzigd en gecommit. Na de wijziging is het natuurlijk wel noodzakelijk om een svn update te doen in de map svn_checkout. |
| 464 | | |
| 465 | | === Afhankelijkheden === |
| 466 | | |
| 467 | | Voor het genereren van de online documentatie moeten de volgende twee pakketten op de server zijn geinstalleerd: |
| 468 | | * Graphviz, voor het dynamisch genereren van diagrammen door Doxygen; |
| 469 | | * Doxygen, en wel de door ons zelf gewijzigde versie. |
| 470 | | |
| 471 | | Beide pakketten staan in '''/usr/local/inst''', inclusief een ''myconfig.sh'' voor de lokale instellingen. |