39. DAVSinc: Filesynchronisatie over WebDAV

39.1. Inleiding

De Brocade toolcat applicatie davsinc heeft tot doel een lokale folder met subfolders te kopiëren naar een vergelijkbare structuur in een WebDAV structuur.

Dit is geen complete synchronisatie oplossing. De software heeft de volgende beperkingen:

  • de software maakt nooit folders aan op de WebDAV server
  • enkel bestanden uit de lokale folders die overeenkomen met deze op de WebDAV server worden gekopieerd.
  • de namen van de subfolders mogen enkel worden samengesteld met karakters a-z, A-Z, 0-9
  • er worden nooit bestanden gekopieerd naar de lokale machine toe
  • de folderstructuur op de lokale machine worden aangepast aan deze van de WebDAV server. Er worden wel geen lokale folders geschrapt.

39.2. cURL

De kern van de software is het cURL programma. Op de lokale machine moet een versie van deze software worden geïnstalleerd. Een versie groter of gelijk aan 7.21 is wel nodig.

Meer informatie omtrent cURL kan je vinden op: - cURL home pagina - Binaries voor het Windows platform.

Kies het liefst een static versie: cURL is dan gewoon een enkel .exe bestand.

vb.: http://www.gknw.de/mirror/curl/win32/curl-7.21.5-sspi-zlib-static-bin-w32.zip

Op de meeste platformen wordt cURL automatisch geïnstalleerd. Op het Windows platform is het voldoende curl.exe in een folder te plaatsen die zich in de PATH bevindt.

39.3. Aanmaken van de installatiesoftware

Waarschuwing

Dit hoofstukje is enkel bedoeld voor ontwikkelaars

Voer de volgende punten uit:

  • Werk op een Windows machine

  • Installeer cURL

  • Ga in een lege folder staan

  • Voer uit:

    qtech -get /webdav/sinc
    
  • Voer uit:

    python make.py
    
  • Transfereer setup-davsinc.zip naar moto:

    pscp.exe setup-davsinc.zip moto:/library/tmp
    
  • Voer uit op moto:

    software -upload davsinc /library/tmp/setup-davsinc.zip rphilips
    
  • De software staat nu ter beschikking via:

    http://anet.ua.ac.be/software/davsinc
    

39.4. Installatie op een Windows lokale machine

Er zijn 2 stappen te volgen:

  • Installeer een versie (>2.6) van python op de lokale machine. Zorg ervoor dat de folder met de python executable (python.exe) in het PATH staat.
  • Download de davsinc software en unzip dit bestand in een folder in het PATH van de gebruiker Je kan bijvoorbeeld deze zipfile unzippen in de folder met de python executable

39.5. Configuratie van de WebDAV server

Op de WebDAV server dient een folder te worden aangemaakt die de betreffende documenten kan ontvangen. Indien deze documenten worden gebruikt in het kader van Agrippa en STCV is het ook aangewezen om de passende subfolders (met bijhorende manifesten) worden aangemaakt.

Voorzie ook in een userid en een password voor een gebruiker. Deze moet lees- en schrijfrechten hebben in deze folder en subfolders.

39.6. Configuratie van de lokale machine

De configuratie wordt het beste opgezet met behulp van davsinc zelf.

  • Start met een lege lokale folder

  • Werk met de command prompt

  • Positioneer je in de bewuste lokale folder

  • Geef het commando:

    davsinc -config
    
  • Beantwoord de vragen. Op de vraag URL to base folder, volg je het beste de volgende werkwijze: browse met behulp van je webbrowser naar de basis van de WebDAV folder. Noteer de URL. Vanop dat ogenblik zal je current working directory (de lokale folder) overeenkomen met de WebDAV folder.

    Waarschuwing

    Het userid en password worden in the clear weggeschreven in het bestand .netrc of _netrc in de lokale folder. Gebruik dus een userid/password dat enkel voor dit doeleind is geschikt.

  • Als alles goed gaat, dan wordt de folderstructuur van WebDAV gekopieerd naar de lokale folder. Bestanden kunnen dan in de juiste folders worden gezet.

39.7. Synchronisatie van de machines

Waarschuwing

Synchronisatie is eenrichtingsverkeer: er worden GEEN bestanden (behalve de passende subfolders) geschreven op de lokale machine.

De basiswerking is als volgt:

  • Plaats de bestanden in de folderstructuur

  • Als je wil synchronsiren, dan open je de command prompt en je navigeer zodanig dat je current working directory de lokale folder is.

  • Voer het commando uit:

    davsinc -sinc
    
  • De bestanden worden op de juiste plaatsen in de WebDAV structuur geplaatst.

39.8. Extra mogelijkheden van de software

davsinc -sinc heeft diverse mogelijkheden die ook nog eens kunnen worden gecombineeerd.

Deze kunnen worden opgevraagd via het commando:

davsinc -sinc help=yes

De volgende paragrafen geven een aantal scenario’s.

  • Om de bestanden in de lokale folders te schrappen na synchronsiatie, gebruik je het commando:

    davsinc -sinc delete=yes
    
  • Om de bestanden te verwerken die in een andere folder staan:

    davsinc -sinc source=C:/myfolder/withdocuments
    
  • Om een backup te nemen na synchronisatie en voor het schrappen:

    davsinc -sinc backup=C:/mybackup
    
  • Wens je bestanden op de WebDAV ook te overschrijven:

    davsinc -sinc overwrite=yes
    
  • Wens je enkel bestanden te verwerken die gedurende 60 sec. onveranderd zijn gebleven:

    davsinc -sinc age=60
    

    Dit is belangrijk indien de software draait als een service: je kan verhinderen dat bestanden die nog in aanmaak zijn, worden verwerkt.

  • Wens je GEEN lijst te zien van de gekopieerde documenten:

    davsinc -sinc verbose=no
    

39.9. Optimalisering van de synchronsiatie

De synchronisatie kan op verschillende manieren ergonmischer worden gemaakt:

  • Op het werkblad kan een link worden geplaatst met het juiste commando: een eenvoudige muisklik activeert dan het synchronsieren
  • Op het niveau van het Operating System kan een service worden opgezet die de synchronisatie op gezette tijdstippen uitvoert.

39.10. Installatie voor het letterenhuis

Hiervoor is een apart project /lh/sinc aangemaakt die de installatie van davsinc automatiseerd.

  • Installatiefolder: c:lhbin
  • Mediafolder: c:lhmedia
  • Tijdelijke folder (nabewerking): c:lhtemp

Batchbestanden, configuratiebestanden en desktop shortcuts worden aangemaakt.