[[TOC(heading=Inhoudsopgave)]] = Beheershandleiding OpenAC: inrichting en systeembeheer = U bent lokaal technisch aanspreekpunt voor OpenAC of op het secretariaat verantwoordelijk voor de inrichting van OpenAC met betrekking tot brieven, spreekuurcodes en roosters, dan vindt u hier beknopte instructies. Wanneer de hier geboden informatie u niet voldoende verder helpt, kunt u [wiki:ServiceLevels contact opnemen met Bureau AudCom]. De informatie over [wiki:Documentatie/ModulesEnFuncties modules] is [wiki:Documentatie/ModulesEnFuncties verhuisd]. == Maken van een testomgeving == In de installatiehandleiding van OpenAC wordt omschreven hoe u een database '''openac''' aanmaakt in MySQL of SQL server en hoe u de starter kit installeert. Vaak is het handig om te kunnen beschikken over één of twee ''testomgevingen''. U richt deze als volgt in: * Maak een tweede database, bijvoorbeeld ''openactest'' op dezelfde database server, of eventueel op een lokale machine. Tip: zorg dat het woord 'test' staat in de naam van de database; OpenAC herkent dit. * Rename het OpenAC-icoon op het bureaublad naar '''OpenAC-Productie''' * Pak een tweede starter kit uit, en zet deze op een andere locatie dan de hoofd-OpenAC, dus bijvoorbeeld: '''C:\Program Files\OpenAC-Test\''' * Rename het icoon van de nieuwe versie naar '''OpenAC-Test''' * Open een CMD prompt en maak een mapje '.openac' aan in de install directory van de tweede OpenAC, dus '''OpenAC-Test\.openac''' * Dit mapje is een cue voor OpenAC dat de configuratie van OpenAC niet in de gebruikers ''Application Data'' moet worden neergezet en uitgelezen, maar direct onder de installatie van OpenAC. * Start de nieuwe versie en vul de connectieparameters in naar de testomgeving. Wanneer u één van de beide OpenAC's start, moet duidelijk in de titelbalk zichtbaar zijn welke database u draait. U kunt nu bijvoorbeeld nieuwe versies testen, of bijvoorbeeld nieuwe functionaliteit die nog niet beschikbaar is gemaakt in een release-versie van OpenAC. Wat u ook doet in de testversie, dit heeft geen betrekking op uw productie-omgeving. == Gebruikers, codetabellen, versiebeheer (beheerschermen) == Wanneer u in OpenAC bent ingelogd als '''admin''' beschikt u onderin het startscherm over diverse knoppen naar schermen voor beheersfuncties. We beschrijven hier de belangrijkste. === Codetabellen === OpenAC valt uiteen in drie onderdelen: * De programmatuur * De adaptatie, waaronder '''codetabellen''' * SQL-database. De 'codetabellen' houden het midden tussen data en applicatie. In een codetabel worden doorgaans korte lijstjes bijgehouden van codes, bijvoorbeeld verrichtingcodes, spreekuurcodes enzovoort. De codetabellen kunnen vanuit OpenAC worden bewerkt. Wijzigingen in een codetabel dienen te worden ingeleverd en verspreid naar eindgebruikers middels het '''versiebeheer'''. In de adaptatie worden alleen ''toevoegingen'' en ''wijzigingen'' opgeslagen ten opzichte van de basisdefinities in OpenAC. Dit gebeurt automatisch. === Datamodel en tabeldefinities === Vanuit OpenAC heeft u toegang tot de definities van de tabellen en codetabellen. U kunt dus vanuit OpenAC zelf tabellen en velden toevoegen. Om wijzigingen te effectueren dient OpenAC opnieuw te worden gestart. Wijzigingen worden pas definitief voor alle gebruikers, nadat ze zijn ingeleverd via '''versiebeheer'''. === Versiebeheer === In het versiebeheerscherm kunt u * OpenAC bijwerken naar een nieuwe release (bijv. '''v1.208''') * OpenAC bijwerken naar een nieuwe revisie (bijv. '''r10408''') binnen de bestaande release. * Schakelen tussen release en de ontwikkelversie. * Gemaakte wijzigingen inleveren. * Gebruikers in uw instelling instructie geven naar welke versie dient te worden geschakeld. === SQL queries === In dit scherm kunt u één of meer SQL-queries definiëren en uitvoeren. Queries die u aanmerkt als '''publiek''' zijn voor alle gebruikers van OpenAC toegankelijk die toegang hebben tot managementrapportages. === Script (adaptatie-init) === Uw adaptatie van OpenAC wordt gestart vanuit een Python-bronbestand '''___init__.py'''. Onder deze knop zit een scherm waarin u dit bestand kunt bewerken. === Instellingen === In dit scherm vindt u diverse instellingen voor OpenAC. U geeft hier bovendien aan welke instellingen voor alle gebruikers gelijk moeten zijn. Deze worden opgeslagen in de database. Alle overige instellingen worden 'lokaal' opgeslagen. Dit betekent: * Normaal gesproken in Application Data voor de Windows-gebruiker * Optioneel kunt u in '''Program Files\OpenAC''' een mapje '''.openac''' aanmaken. Als deze map bestaat, wordt de configuratie niet per gebruiker opgeslagen, maar per OpenAC-installatie. Let op: * Veel applicatie-instellingen zijn niet vanuit OpenAC zelf instelbaar, maar dienen in de '''__init__.py''' te worden 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. === Switches === In dit scherm kunnen diverse 'debug switches' worden gezet. Normaal gesproken staan alle switches uit. === Medewerkers === Het scherm '''medewerkers''' is sinds v1.216 open voor alle gebruikers van OpenAC. Als reguliere gebruiker dient het medewerkerscherm als een adreslijst van het AC. Als beheerder of medewerker met P&O-rechten kunt u in dit scherm de gegevens van uw medewerkers beheren. Dat kunnen technische instellingen zijn (zoals wachtwoorden en gebruikersrechten) of administratieve gegevens (contracten, mutaties, burgerservicenummer). * Medewerkers zijn tevens de gebruikerscodes in OpenAC die nodig zijn voor het inloggen. * Hier geeft u de '''rechten''' aan van de medewerkers voor onderdelen van OpenAC (zie hieronder)l. * U geeft aan of een medewerker in dienst is. * U kunt de '''ondertekening''' en '''functie''' van een medewerker definiëren, voor gebruik in brieven. * U geeft hier ook de '''plangroep''' van een medewerker aan. De plangroep bepaalt de sortering van de medewerkers in menu's en in de agenda. Het bepaalt ook de werking van het ''automatisch inplannen'' (zie ook de [wiki:Documentatie/Beheershandleiding beheershandleiding]). * U kunt hier de ''verrichtingcodes'' aangeve die de medewerker in de regel uitvoert. Dit is facultatief en leidt tot verbetering van de managementrapportage ''Productie/Medewerker'' (zie ook de [wiki:Documentatie/Rapportages handleiding managementrapportages]). * Gebruik de ''memo''-functie voor het toevoegen van een notitie of bestand aan het dossier van een medewerker. U kent als volgt rechten toe aan uw medewerkers: * STAP 1. Deel uw medewerkers in in ''gebruikersgroepen''. Een aantal basisgroepen is al in OpenAC gedefinieerd. Per groep geeft u aan welke rechten mensen uit elke gebruikersgroep standaard meekrijgen. * STAP 2. Voeg eventueel individuele permissies per medewerker toe. === Aantekeningen, tarieven, normtijden === Verder vallen onder ''Beheer'' diverse schermen waarin lijsten zijn te bewerken die onderdeel uitmaken van de database. Dit zijn tenminste: * '''Aantekeningen''' - aantekeningen komen op diverse plekken in dossiers, relaties e.d. voor. Dit zijn velden met een keuze-menu, waaraan tijdens de sessie nieuwe waarden zijn toe te voegen. Het voordeel ten opzichte van een vrij tekstveld voor notities, is dat eenvoudig op de ingevulde waarden kan worden gezocht en geselecteerd. * '''Tarieven''' - tarieven voor de AP's en jaarkaarten. Er wordt een historie vastgelegd, m.a.w. oudere tarieven blijven staan. Het is niet mogelijk een tarief te wijzigen wanneer het al is toegepast. * '''Normtijden''' - normtijden voor de FENAC-verrichtingen. Er wordt een historie vastgelegd. Het is niet mogelijk een normtijd te wijzigen wanneer deze al is toegepast, tenzij u werkt in een ''testomgeving'' (databasenaam bevat het woord '''test'''). == Beheer van de database (beheer-menu) == Wanneer u OpenAC inlogt als '''admin''' beschikt u over diverse database-beheersfuncties onder het menu '''beheer''' naast '''bestand''', '''bewerken''' etc. === Codetabellen, datamodel === Verwijzingen naar de beheerschermen die hierboven al zijn beschreven. === Datastructuur bijwerken === Tijdens het opstarten controleert OpenAC of alle tabellen en velden in de database in overeenstemming zijn met het datamodel. Wanneer er verschillen zijn, werkt OpenAC grotendeels automatisch bij, voor zover dat veilig kan. Zijn er wijzigingen nodig die niet zomaar kunnen worden uitgevoerd, zoals aanpassen of verwijderen van een veldje, dan vraagt OpenAC of de beheerder expliciet opdracht wil geven tot aanpassen van het datamodel. Het strekt tot aanbeveling dit altijd zo snel mogelijk te doen na het moment dat alle gebruikers op de versie in kwestie zijn overgestapt. === Integriteitscheck === Door gebruik van OpenAC kunnen kleine inconsistenties optreden in de database. Deze kunnen worden opgeruimd middels deze functie. Wanneer deze functie voor het eerst wordt uitgevoerd, schrikt men soms van het aantal fouten dat wordt opgelost. Hoewel het altijd aan te raden is eerst een backup te maken, is het gebruik van deze functie een relatief veilige aangelegenheid. Hoe langer de fouten blijven bestaan, hoe meer nieuwe inconsistenties erbij kunnen komen. Bij recente versies van OpenAC moeten er niet meer dan enkele inconsistenties bijkomen. Heeft u er meer dan 10 per maand (na een eerste keer), dan kan het goed zijn [wiki:ServiceLevels contact op te nemen met het bureau]. === Tabel doorrekenen === In een enkel geval is het nodig een hele tabel in de OpenAC-database opnieuw door te rekenen. Concreet: * Het '''dossierscherm''' heeft zijn eigen doorrekenfunctie, die bovendien de mogelijkheid heeft om een selectie op te geven. * 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 voor het rooster niet consequent gesorteerd weergegeven. === Importeren uit... === Afhankelijk van de adaptatie van OpenAC kunnen onder deze menuregel één of meerdere importfuncties zitten. === Backup/restore === 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. ==== Backup maken ==== Met dit item maakt u een OpenAC-backup. Dit is een map met tab-separated bestanden, één bestand per tabel in de OpenAC-database. ==== Backup terugzetten ==== Met dit item kunt u een OpenAC-backup (directory met TSV-bestanden) terugzetten. U kiest in de regel voor 'bestanden leegmaken voor terugzetten', tenzij u een gedeeltelijke backup wilt terugzetten (data toevoegen aan een bestaande database). ==== Geanonimiseerde backup maken en versturen ==== 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 functie om periodiek een dataset naar de branchevereniging te sturen in het kader van de landelijke afspraak (4x per jaar) over dataverzameling. https://www.fenac.nl/openac/upload/ ==== Backup van één of meer dossiers ==== Met dit item maakt u een OpenAC-backup van één of meer dossiers. Deze kan naar keuze alleen lokaal worden opgeslagen, of worden verstuurd aan de FENAC bijvoorbeeld voor de FENAC ICT helpdesk om problemen met OpenAC op te lossen. ==== Backup van één of meer dossiers terugzetten ==== 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. ==== Databeleid FENAC ==== ''Dit is een bondige weergave van het voorlopige beleid. De FENAC is bezig het databeleid (Q4/2009) te formaliseren in een dataconvenant.'' 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. 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. ==== Periodiek een backup maken ==== Er zijn drie mogelijkheden voor het maken van backups van de OpenAC-database. * OpenAC-backups. De OpenAC-backups bieden meer flexibiliteit met betrekking tot terugzetten. Maak eerst handmatig een backup: log in, kies in het menu ''beheer'', submenu ''Backup/restore'' de optie ''backup maken...'' en vul de map in waar je backups wilt verzamelen. Breek eventueel het backup-proces af, het gaat erom dat je de instellingen goed invoert. Stel het volgende commando in als "taak" onder Windows (laat de taak uitvoeren door dezelfde windows-gebruiker die al een keer handmatig een backup heeft gemaakt): {{{ Beginnen in : C:\Program Files\OpenAC Uitvoeren: Python24\python.exe script.py backup }}} * Maak een backup met het programma 'mysqldump'. Deze worden sneller gemaakt, waardoor je vaker een backup kunt draaien. {{{ mysqldump --opt --user=gebruikersnaam --password=password naam_database > openac_backup.sql }}} * kopieer het bestand 'ibdata' in de MySQL-data-dir. Dit is alleen een 'last-resort' of extra veiligheid. === Database wissen... === Deze optie wordt alleen gebruikt tijdens de uitrol van een nieuwe OpenAC en het testen van een importprocedure. === Tabel leegmaken... === Deze optie wordt alleen gebruikt tijdens de uitrol van een nieuwe OpenAC en het testen van een importprocedure. === Wachtwoord wijzigen === 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). == Sjablonen en correspondentie == Zie [wiki:Documentatie/Beheershandleiding/Sjablonen de sjablonen beheerspagina]. == Scripting == OpenAC kan worden gescript door gebruik te maken van script.py met als argument het uit te voeren script. Eventuele verdere argumenten zijn argumenten voor het uit te voeren script. Zorg ervoor dat een script altijd wordt uitgevoerd vanuit de map waar OpenAC is geïnstalleerd. Vanuit deze map is de opdrachtregel: python25\python.exe script.py . 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. Scripts gebruiken dezelfde instellingen als de laatste OpenAC-sessie. Het is dus zaak om OpenAC minimaal één keer op de reguliere manier te starten en te controleren of alle instellingen correct zijn. === Een geplande taak aanmaken in Windows === * Open "Geplande taken" vanuit het configuratiescherm. De wizard "Taak plannen" zal worden gestart. * Blader naar python.exe in \python24. * Geef de taak een naam. * Geef aan wanneer de taak moet worden uitgevoerd. * Voltooi de wizard. Vink op de laatste pagina moet de optie "Geavanceerde eigenschappen voor deze taak openen wanneer ik op Voltooien klik" aan. Dit is nodig om de argumenten en de werkdirectory in te stellen. * Vul de opdrachtregel achter "Uitvoeren" aan met script.py . Zie voor de naam en argumenten van het script het lijstje scripts hieronder. De volledige opdrachtregel wordt: \python24\python.exe script.py . * Het is belangrijk dat achter "Beginnen in" de OpenAC map wordt ingevuld. Dit is de werkdirectory. === Script backup === Aanroep vanaf de command line: "'''Python25\python.exe script.py backup'''". Dit script schrijft een actuele backup naar de verzameldirectory. === Script svn_cleanup === Aanroep vanaf de command line: "'''Python25\python.exe script.py svn_cleanup'''". Dit script kan problemen met het versiebeheer van OpenAC oplossen. === Script periodieke TOREN-import === Aanroep vanaf de command line: "'''Python25\python.exe script.py periodiek_toren_import import'''". Het script periodiek_toren_import doet het volgende: * Alle bestanden uit de TOREN-importmap met een bepaalde bestandsextensie worden ingelezen. De TOREN-importmap en de bestandextensie kunnen worden ingesteld via '''Beheer->Instellingen''' in OpenAC. * Als er een structuurfout zit in het importbestand, of als de import voortijdig wordt afgebroken, dan wordt het importbestand verplaatst naar de map "'''mislukt'''". Het script "periodiek_toren_import" garandeert dat elke verrichting uit een importbestand maar één keer wordt verwerkt, dus een bestand kan zonder gevaar op dubbele verrichtingen meerdere keren worden geïmporteerd. * Verrichtingen die niet kunnen worden verwerkt worden weggeschreven als een kommagescheiden bestand in de map "'''fouten'''". * Nadat een TOREN-bestand is geïmporteerd wordt het verplaatst naar de map "'''behandeld'''". * Bestanden uit de map "mislukt" kunnen worden teruggezet naar de TOREN-importmap met "'''script.py periodiek_toren_import herstel'''". === Script verstuur DBC's === Aanroep vanaf de command line: "'''Python25\python.exe script.py verstuur_dbcs'''". Het script verstuur_dbcs voert de acties uit het scherm DBC's versturen automatisch uit. == Versiebeheer: releases en revisies == === Hoe werkt de SVN repository? === De SVN repository bevat twee directories: development met de actuele ontwikkelversie, en release met daarin stabiele releases van OpenAC. 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. Wijzigingen die in een release worden ingeleverd, moeten via een SVN merge worden opgenomen in de ontwikkeltak. === Planning van een OpenAC release === * 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). * 5e week voor releasedatum: scope bepalen, ontwerpjes maken * 4e en 3e week voor releasedatum: bespreken ontwerpjes voor de grotere tickets, tickets afwerken * 2e week voor releasedatum: testen (en soms nog wat losse eindjes ontwikkelwerk), 2 pilot-AC's zoeken * week voor releasedatum: documenteren, changes overnemen en live (zie hieronder) * week na releasedatum: test bij 2 pilot-AC's, changes overnemen, bericht productieversie live === Testen en maken van een OpenAC release === Je zit in een werkkopie van de tak 'development'. Doe nu de volgende stappen: * 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). * 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. * Draai de unit tests en fix zonodig * Loop het [TestScript test script] door * Merge door AC's gemaakte fixes op de vorige release in de development-tak * Test de wijzigingen zonodig * '''svn commit''' om de wijzigingen uit de merge in te leveren * Werk '''VERSIES.txt''' bij door de releasedatum aan de laatste versie toe te voegen en de omschrijving af te maken * Draai '''bin/clean''' en commit eventuele bestanden die nog geen eol-style LF hadden * Draai nog 1x de unit tests * '''svn commit''' * Draai '''bin/release 1.XXX''' om development te kopiëren naar de nieuwe release in SVN * Maak de adaptatiemap in de nieuwe release schrijfbaar voor centra door 3 regels te kopiëren in /usr/local/apache1/svn/etc/permissions * Stuur een release-bericht naar openac@fenac.nl. Denk daarbij goed na welke migraties er allemaal gebeuren bij deze nieuwe versie. === Maken van een nieuwe starter kit === 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. * Check de release uit waarvan de starterkit moet worden gemaakt. * 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. * 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. * Draai '''./bin/makezip'''. Dit maakt een complete ZIP die goed door windows kan worden uitgepakt. * De zip is ongeveer 100MB. * Gebruik EnZIP voor het maken van de EXE: rechtermuis op starterkit.zip -> open with Enzip -> Create self extractor * Bij Message Box: nee, we willen geen message box. * Bij Folder: '''"OpenAC"''' * Title Caption: '''"OpenAC installatie"''' * Command: '''icon.bat ''' * Selecteer het icon-bestand '''images/OpenAC-128x128.ico ''' * In het laatste scherm geen opties veranderen * Upload het bestand naar '''Downloads''' op de TRAC site * Pas de links aan op de wiki-homepage en in de installatiehandleiding, zodat deze wijzen naar de meest recente starter kit. == Online documentatie genereren == === Infrastructuur en werking === 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: ||development-working-copy||een lokaal uitgecheckte versie van OpenAC|| ||genereer||een symbolische link naar het script waarmee de documentatie gegenereerd kan worden|| ||html||de html-output na het genereren van de documentatie|| Het script gebruikt de volgende onderdelen uit de sandbox map van de OpenAC repository: ||Doxyfile||het configuratiebestand van Doxygen|| ||doxypy.py||een doxygen filter voor het verwerken van Python-bestanden|| ||documentatie/custom||custom headers, footers, stylesheets e.d. die gebruikt worden door Doxygen tijdens het genereren van de documentatie|| 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: ||/usr/local/apache1/openac-site/documentatie/html||de documentatie|| ||/usr/local/apache1/openac-site/documentatie/custom||stylesheets e.d.|| === Genereren documentatie === De online documentatie kan worden gegenereerd met het commando '''genereer''', op de volgende manier: {{{ cd /usr/local/apache1/openac-documentatie ./genereer }}} '''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. === Afhankelijkheden === Voor het genereren van de online documentatie moeten de volgende twee pakketten op de server zijn geinstalleerd: * Graphviz, voor het dynamisch genereren van diagrammen door Doxygen; * Doxygen, en wel de door ons zelf gewijzigde versie. Beide pakketten staan in '''/usr/local/inst''', inclusief een ''myconfig.sh'' voor de lokale instellingen.