Hoofdstuk 4. Diverse onderwerpen

Netwerktransparantie via KIO

KIO-slaves

De KIO-bibliotheek van Frameworks™ biedt netwerktransparantie via KIO-slaves. KDiff3 gebruikt dit om invoerbestanden en mappen te lezen. Dit betekent dat u bestanden en mappen op lokale en externe bronnen kunt opgeven via URL's.

Voorbeeld:

kdiff3 test.cpp  ftp://ftp.verweg.org/test.cpp
   kdiff3 tar:/home/hacker/archief.tar.gz/map ./map

De eerste regel vergelijkt een lokaal bestand met een bestand op een FTP-server. De tweede regel vergelijkt een map binnen een gecomprimeerd archief met een lokale map.

Andere interessante KIO-slaves zijn:

  • Bestanden op het www (http:),

  • Bestanden uit de FTP (ftp:),

  • Versleutelde bestandsoverdracht (fish:, sftp:),

  • Windows®-hulpbronnen (smb:),

  • Lokale bestanden (file:).

Andere (waarschijnlijk minder nuttige) mogelijkheden zijn:

  • Man-pagina's (man:),

  • info-pagina's (info:).

Hoe URL-adressen te schrijven

Een URL heeft een andere syntaxis vergeleken met paden naar lokale bestanden en mappen. U dient met een aantal zaken rekening te houden:

  • Een pad kan relatief zijn en "." of ".." bevatten. Dit is niet mogelijk met URL-adressen, die altijd absoluut zijn.

  • Speciale tekens dienen omgezet te worden. ("#" -> "%23", spatie ->"%20", etc.) Een bestand met de naam "#foo#" wordt bijvoorbeeld het URL-adres "file:/%23foo%23".

  • Als URL-adressen niet werken zoals u verwacht, probeer ze dan eerst in Konqueror te openen.

Mogelijkheden van KIO-slaves

Netwerktransparantie heeft één nadeel: niet alle bronnen hebben dezelfde mogelijkheden.

Soms ligt dit aan het bestandssysteem van de server, soms aan het protocol. Een korte lijst van beperkingen:

  • Er is soms geen ondersteuning voor koppelingen.

  • Of er is geen manier om te onderscheiden of een koppeling naar een map of een bestand verwijst, er wordt dan altijd van bestanden uitgegaan (ftp:, sftp:).

  • De bestandsgrootte kan niet altijd bepaald worden.

  • Beperkte ondersteuning voor permissies.

  • Geen mogelijkheden om permissies of wijzigingsdatums te veranderen, zodat de permissies of tijd van een kopie verschillen van het origineel. (Zie de optie Grootte vertrouwen (onveilig)). (Rechten of wijzigingsdatum veranderen is alleen mogelijk bij lokale bestanden).