Poglavje 11. Ravnanje z odvisnostmi in težavami z združljivostjo

RKWard združljivost različic

Po najboljših močeh se trudimo zagotoviti, da bodo vtičniki razviti za staro različico RKWard ostali funkcionalni v kasnejših različicah RKWard. Vendar pa obratno ni vedno res, saj so dodane nove funkcije. Ker vsi uporabniki ne uporabljajo najnovejše različice RKWard, to pomeni, da lahko vaš vtičnikne deluje za vsakogar.

Kadar se zavedate takšnih težav z združljivostjo, se morate dokumentirati to dejstvo v svoji datoteki .pluginmap z uporabo elementa <dependencies>. Ukaz <dependencies> je mogoče določiti kot neposrednega naslednika <dokumenta> .pluginmap ali kot podrejenega elementa posameznih definicij <component>. V prvi odvisnosti veljajo za vse vtičnike v mapi. V slednjem primeru samo posamezni<komponenti>(-e). Lahko tudi mešate top "global" in"posebne" odvisnosti. V tem primeru so "globalne" odvisnostidodani tistim iz posamezne komponente.

Poglejmo majhen primer:

<document ...>
        <dependencies rkward_min_version="0.5.0c" />
        <components ...>
                <component id="myplugin" file="reduced_version_of_myplugin.xml" ...>
                        <dependencies rkward_max_version="0.6.0z" />
                </component>
                <component id="myplugin" file="fancy_version_of_myplugin.xml" ...>
                        <dependencies rkward_min_version="0.6.1" />
                </component>
                ...
x        </components ...>
</document>
        

V tem primeru je znano, da vsi vtičniki zahtevajo vsaj različico 0.5.0c RKWard. En vtičnik z id="myplugin" je na voljo v dveh alternativnih različicah. Prva, okleščena različica se da uporabiti za RKWard različice pred 0.6.1. Slednja uporablja funkcije ki so nove v RKWard 0.6.1 in se bo uporabljal samo od RKWard 0.6.1 naprej.

Zagotavljanje alternativnih različic, kot je ta, je zelo uporabniku prijazen načinuporabe novih funkcij, medtem ko še vedno ohranja podporo za prejšnje različiceRKWard. Alternativne različice morajo imeti isti id (v nasprotnem primeru bodo prikazana opozorila) in se jih lahko samo definiraznotraj iste .pluginmap mape.

Vtičnik, ki ni združljiv z delujočo različico RKWard, inki ne prihaja z alternativno različico, bo prezrt z opozorilom.

Opomba

Pravzaprav RKWard 0.6.1 je prva različica, ki razlaga odvisnosti - inporoča o napakah odvisnosti – sploh. Torej, v nasprotju s tem, kar lahko primerpredlaga, navedba kakršnih koli prejšnjih različic v odvisnostih ne bo imelakakršnega koli neposrednega učinka (vendar je morda še vedno dobra ideja za namene dokumentacije).

Včasih bo mogoče težave z nezdružljivostjo različic celo obravnavati znotraj ene same datoteke .pluginmap z uporabo elementa <dependency_check> opisane v naslednjem razdelku.