In de traditionele praktijk van het elektronisch vormgeven worden verschillende soorten elementen zoals tekst, lijntekeningen en scans in een document geïntegreerd. Dit ideaal is door desktop publishing lange tijd nagestreefd, maar pas sinds een jaar of drie is het realiteit. De ontwikkelingen blijven ondertussen evenwel onverminderd doorgaan. Het is voor softwarefabrikanten ondoenlijk zulke complexe produkten, zoals grafische applicaties veelal zijn, ieder jaar aan nieuwe industriële standaards aan te passen zonder fouten te maken. Anderzijds verliest een pakket dat niet van de modernste importfilters en insteekmodules is voorzien razendsnel marktaandeel.
Insluiten en koppelen
Een antwoord op bovenvermeld dilemma kan worden gevonden in een andere
benaderingswijze van tekst- en beeldintegratie: Object Linking and Embedding (OLE).
Het insluiten en koppelen van grafische elementen is een techniek die nog maar
mondjesmaat wordt toegepast bij het samenstellen van elektronische documenten. De
meeste gebruikers houden vast aan de gewoonte een tekst in een tekstverwerker, een
gedigitaliseerde foto in een retoucheprogramma en een illustratie in een lijntekenap-
plicatie aan te passen. Daartoe dient ieder element in een afzonderlijk bestand te
worden opgeslagen en vervolgens in een opmaakprogramma geladen. Telkens op-
nieuw. In het ergste geval moet er zelfs tussen verschillende computerplatforms,
bijvoorbeeld DOS en Windows, heen en weer geschakeld worden.
Klembord
Werken binnen eenzelfde omgeving zoals Windows biedt om te beginnen het voordeel
dat onderdelen tussen toepassingsprogrammaþs middels een klembord uitgewisseld
kunnen worden. Een klembord is een gedeelte van het werkgeheugen waarin tijdelijk
informatie kan worden opgeslagen. Op die manier is het mogelijk om een stuk tekst
dat in een þeditorþ is geknipt of gekopieerd in een andere tekstverwerkende applicatie
te plakken . Bij illustraties ligt dat echter ingewikkelder. Sommige
beeldbewerkingsprogrammaþs gaan op een dermate eigenzinnige manier met lijnen of
pixels om dat ze informatie van andere pakketten via het klembord niet zonder meer
accepteren.
De toegang tot dat klembord is door Microsoft inmiddels op zoþn manier gestandaar-
diseerd dat het in toenemende mate als communicatiemiddel wordt gebruikt. De
specificatie van die standaard wordt OLE 2.0 genoemd.
Bron en doel
Het bijzondere van een element dat volgens het OLE 2.0 protocol via het klembord in
een document geplaatst is, is dat het onthoudt waar het vandaan is gekomen. Deze
eigenschap maakt þ onder andere þ dat het object binnen zijn nieuwe omgeving
zichzelf in het programma waarin het ge-creëerd werd op kan roepen. In OLE-ter-
minologie heet de laatste de þsourceþ en de eerste þdestinationþ.
Voor de destination, oftewel de doelapplicatie, biedt het beantwoorden aan de specifica
ties voor OLE 2.0 het voordeel dat er niet langer voor iedere versie van ieder
toeleveringsprogramma een afzonderlijk filter nodig is. De gebruiker ziet uniformiteit
ontstaan in de manier waarop onderdelen tot een nieuw geheel worden gemaakt. Naast
de reeds bekende opdracht plakken voorzien de meeste pakketten tegenwoordig in een
aantal mogelijkheden om OLE-elementen tevoorschijn te halen en te manipuleren.
Plakken speciaal
Het dialoogvenster plakken speciaal biedt de optie om na te gaan wat voor een soort
object zich in het geheugen bevindt (tekst, illustratie of þbitmapþ). Indien de bron een
þOLE-serverþ is staat de naam van het toeleveringsprogramma erbij. Wanneer het
object vanuit een bestaand bestand gekopieerd is, is het bovendien mogelijk een
dynamische koppeling tussen de doelapplicatie en dat bestand aan te brengen. In dat
geval zullen na plaatsing alle veranderingen die in het oorspronkelijke bestand worden
aangebracht automatisch worden doorgevoerd.
Een soorgelijke functie heeft de opdracht object invoegen . Dit betreft een
mogelijkheid om van het doel uit een bronbestand op te geven. De werking hiervan
doet nog het meest denken aan de vertrouwde manier om illustraties te laden, met dien
verstande dat ook hier dient te worden gekozen voor het koppelen of insluiten van een
object.
Met object bewerken kunnen bepaalde gegevens van OLE-elementen worden gewij-
zigd. Om te beginnen laat het object zelf zich er in de bron door oproepen en aanpas-
sen, maar ook kunnen de bewegwijzering en de instelling voor automatisch of
handmatig bijwerken worden veranderd. Bij het kopiëren of verplaatsen van een
document met gekoppelde objecten naar een andere lokatie blijft de structuur van de
bewegwijzering overigens gehandhaafd.
Lokaal aanpassen
De eenvoudigste manier om een bronapplicatie op te starten is om op het object te
dubbelklikken. De manier waarop het programma zich gedraagt is afhankelijk van het
feit of het OLE-element ingesloten dan wel gekoppeld is.
Het dubbelklikken van een ingesloten object resulteert in een gedaantewisseling van de
doelapplicatie. Op het eerste gezicht lijkt het nog het vertrouwde programma te zijn,
maar de functionaliteit blijkt bij nader inzien veranderd te zijn in die van de bron. Zo
kan een kopie van een rekenblad een opmaakprogramma wijzigen in een spreadsheet
en tovert een grafisch element een tekstverwerker probleemloos om in een lijntekenap-
plicatie. Deze werkzaamheid van OLE 2.0 wordt þin-place editingþ genoemd.
Tijdens het lokaal aanpassen zijn bepaalde opdrachten, zoals bewaren of afdrukken,
niet toegankelijk. Bij het activeren van een gekoppeld object daarentegen wordt het
toeleveringsprogramma volledig geladen. Het verschil is dat waar in het eerste geval
het oorspronkelijke bestand onaangetast blijft de wijzigingen in het tweede geval in het
bronbestand worden doorgevoerd.
Slepen
Een andere manier om een OLE-element te creëren is slepen. Dat kan door een selec-
tie uit het ene programmavenster met de muis naar het andere te schuiven (hetgeen
een ingesloten object oplevert), maar ook door een bestandsnaam in Bestandsbeheer of
Verkenner aan te klikken, vast te houden en boven een openstaande applicatie los te
laten (wat resulteert in een gekoppeld object).
Deze werking is mogelijk doordat toepassingsprogrammaþs die OLE 2.0 compatible
zijn zich tijdens de installatie aanmelden bij de OLE-database. In die database staan
behalve de mogelijke bronnen ook de OLE-functies van Windows vermeld.
Open architectuur
Voor zover er een verandering komt in de manier waarop gebruikers met grafische pak
ketten omgaan is dat op het niveau van þobject linking and embeddingþ. Er is reeds
een tendens zichtbaar om bepaalde toeleveringsprogrammaþs te reduceren tot een þin-
place editingþ functie. Dit heeft tot gevolg dat het niet langer mogelijk is om te kiezen
tussen het importeren of het via het klembord plaatsen van een element, maar dat er
alleen nog een invoegoptie overblijft. Het onderscheid tussen objecten en applicaties
vervaagt.
Daarnaast maken gekoppelde objecten ge‹ntegreerde documenten toegankelijk voor
meerdere gebruikers. Niet iedereen zal het op prijs stellen, maar het is denkbaar dat
een vormgever dankzij de werking van OLE de verschillende elementen van een lay-
out onder zijn vingers ziet veranderen. Elektronische publikaties zullen daarentegen
gebaat zijn bij de mogelijkheid vanwege een dergelijke open architectuur automatisch
bijgewerkt te kunnen worden.
Object Linking and Embedding
Bronvermelding: Werken met OLE 2.0, Bryan
Waters, Sybex. ISBN 90-5160-758-x
Scripts
Kenmerkend voor OLE 1.0 is de mogelijkheid een grafisch element via het klembord
van het ene programma in het andere te plaatsen en de oorspronkelijke applicatie,
oftewel de þobjectserverþ, te activeren door erop te dubbelklikken. De latere
eigenschappen, zoals þin-place editingþ en þdrag and dropþ, behoren tot de uitbreiding
OLE 2.0.
De belangrijkste vooruitgang die de specificaties van 2.0 ten opzichte van de eerste
versie inhield was echter dat ze de ruimte boden applicaties met behulp van scripts te
automatiseren. Het was niet nodig hiervoor een aparte macrotaal te ontwikkelen, maar
de inmiddels ontstane implementaties laten zien dat hiervoor meestal Visual Basic als
basis wordt gebruikt.
Verfijning
De verfijningen van OLE 2.0 hebben voorts betrekking op versie-informatie van de
bronapplicatie, relatieve bewegwijzering en de ondersteuning voor verschillende
computerplatforms. Een in een doelapplicatie - oftewel þcontainerþ - ingesloten of
gekoppeld object kan gegevens bevatten die betrekking hebben op het versienummer
van de þserverþ. Hierdoor wordt voorkomen dat een verouderd OLE-element niet meer
zou kunnen worden aangepast. Voorts vergroot het verbeterde koppelingsbeheer de
soepelheid waarmee containers kunnen worden gekopieerd of verplaatst door de
bewegwijzering van de objecten in relatieve zin vast te leggen. De ondersteuning voor
andere besturingssystemen dan Windows, zoals Apple Macintosh en UNIX, maakt
bovendien dat ge‹ntegreerde documenten in de toekomst volledig uitwisselbaar zullen
zijn.
Uitbreidbaar
De gevolgen van de mogelijkheden die OLE-automatisering biedt zijn nauwelijks te
overzien. In het simpelste geval stelt het gebruikers in staat veel voorkomende han-
delingen te vervangen door een macro, maar het is tevens voorstelbaar dat iemand de
functionaliteit van een applicatie geheel naar eigen behoefte herinricht. Als bijzonder-
heid geldt daarbij dat de opdrachten niet beperkt hoeven te blijven tot het programma
van waaruit het script wordt opgestart. De meest recente versies van Microsoft Office
en CorelDRAW! zijn wat dat betreft al naar alle kanten uitbreidbaar.
Toekomst
OLE-automatisering is nog slechts het begin van wat toekomstige, geheel aanpasbare
besturingssystemen zullen laten zien. Momenteel is OLE 2.0 reeds een ge‹ntegreerd
onderdeel van Windows 95 en zal dat ook worden bij de opvolger van Windows NT.
Verdere uitbreidingen, met bijvoorbeeld grafische bedieningselementen, zullen maken
dat het werken met personal computers een hoogst individuele aangelegenheid wordt.
Robert Kooijman