Difference between revisions of "User:Wimdewinter"

From Agri4castWiki
Jump to: navigation, search
(programmaopties)
(download link)
Line 64: Line 64:
  
 
=== download link ===
 
=== download link ===
[[file: dbAnalyzer.zip]]
+
[[file: dbAnalyzer.zip]] is versleuteld met het veelgebruikte password.

Revision as of 11:40, 8 March 2016

wijzigingen in bestaande tekst

De pagina Appendix 5: CGMS tables is verplaatst naar Appendix 5: Database objects/CGMS12old tbv een consistente url voor geautomatiseerde verwerking.

nieuwe templates

Template:TocTable en Template:TocRow zijn aangemaakt tbv een handmatige ToC binnen de gegenereerde pagina's. De ToC die wiki zelf maakt zweeft over de tekst en verstoort de lay-out; bovendien neemt deze meerdere niveaus mee waardoor de lijst vreselijk lang wordt.


nieuwe pagina's

toelichting

De pagina's onder Appendix 5: Database objects zijn gegenereerd met behulp van een python programma en kunnen ook weer door dat zelfde programmma worden teruggelezen. Commentaren en toelichtingen bij tabellen en velden mogen worden veranderd, maar het is belangrijk dat de structuur van de pagina gelijkblijft. Het programma kan bovendien commentaar lezen uit de oracle database en comment-statements schrijven op basis van de verzamelde informatie. Het heeft een parameter om aan te geven hoe te handelen bij commentaar dat verschilt tussen db en wiki (alleen db, alleen wiki, eerst db-dan wiki, eerst wiki-dan db).

wijzigingen in bestaande tekst

De pagina Appendix 5: CGMS tables is verplaatst naar Appendix 5: Database objects/CGMS12old tbv een consistente url voor geautomatiseerde verwerking.

nieuwe templates

Template:TocTable en Template:TocRow zijn aangemaakt tbv een handmatige ToC binnen de gegenereerde pagina's. De ToC die wiki zelf maakt zweeft over de tekst en verstoort de lay-out; bovendien neemt deze meerdere niveaus mee waardoor de lijst vreselijk lang wordt.


nieuwe pagina's

toelichting

De pagina's onder Appendix 5: Database objects zijn gegenereerd met behulp van een python programma en kunnen ook weer door dat zelfde programmma worden teruggelezen. Commentaren en toelichtingen bij tabellen en velden mogen worden veranderd, maar het is belangrijk dat de structuur van de pagina gelijkblijft. Het programma kan bovendien commentaar lezen uit de oracle database en comment-statements schrijven op basis van de verzamelde informatie. Het heeft een parameter om aan te geven hoe te handelen bij commentaar dat verschilt tussen db en wiki (alleen db, alleen wiki, eerst db-dan wiki, eerst wiki-dan db).

standaard programma-opties

Het programma wordt gerund vanuit (de main-sectie in) de module analyseDatabase. Alle uitvoer gaat naar de console en onbedoelde wijzigingen op de wiki of in de database zijn niet mogelijk. De volgende opties moeten worden gekozen:

  1. welke database-connectie te gebruiken: in de module oracle is een aantal database-connecties voorgedefinieerd (andere kunnen eenvoudig hier worden toegevoegd; de tabel spreekt voor zichzelf). Hieruit wordt er één gekozen en aande variable dbs toegekend.
  2. welke mergeMode gebruikt moet worden:
    • modDB: uitsluitend info uit de database wordt benut
    • modWIKI: commentaren/toelichtingen worden uitsluitend uit de wiki gehaald
    • modDBthenWIKI: commentaren/toelichtingen worden uit beide bronnen gehaald, maar indien ze niet hetzelfde zijn krijgen die uit de wiki prioriteit
    • modWIKIthenDB: idem, maar indien ze niet hetzelfde zijn krijgen die uit de database prioriteit
  3. kies output:
    • generateWiki: (geupdate) code voor een wiki-pagina wordt gegenereerd
    • generateComment: een SQL-script met comment-statements wordt gegenereerd
    • reportWiki: (tbv. werkingscontrole) er worden lijsten getoond welke tabellen/dbObjecten er uit de wikipagina geparsed konden worden en hoe deze matchen met de tabellen die uit de database zijn gelezen; de tweede lijst geeft bovendien aan in hoeverre er bijbehorende commentaren zijn gevonden


NB1: een blanco-commentaar zal nooit een niet-blanco commentaar overschrijven
NB2: de structuur-informatie wordt altijd gebaseerd op de database# kies output:


extra programma-opties

  • de base_url is zo gekozen dat de wiki-bronpagina's worden gezocht als sub-pagina's van Appendix 5: Database objects
  • de naam van de sub-pagina is gelijk aan de user-name van de oracle-connectie; indien dit ongewenst is kan je in de dict urls een alias toevoegen.
  • de variabele url wordt geconstrueerd op basis van bovengenoemde base_url en de user-naam/alias; desgewenst kun je 'm hard-coded een andere waarde geven; ook een bestandsnaam is toegelaten.
  • als url niet kan worden geopend treedt er geen foutmelding op, maar draait het programma feitelijk in de modus modDB. Dit is handig als je een geheel nieuwe pagina wilt maken.


python source

Het programma is geschreven in python 2.7 (64bit). Het maakt gebruikt van cx_Oracle; het kan even pielen zijn voor je een werkende combinatie van python, libraries en cx_oracle hebt gevonden.

download link

File:DbAnalyzer.zip is versleuteld met het veelgebruikte password.