Compatibilità versione di R

Analogamente a rkward_min_version e rkward_max_version, l'elemento <dependencies> consente di specificare gli attributi R_min_version e R_max_version. Tuttavia, ci sono le seguenti differenze:

  • Le estensioni che non soddisfano i requisiti di versione di R non vengono attualmente ignorate durante la lettura di un file .pluginmap. L'utente può comunque richiamare l'estensione e non vedrà alcun avviso immediato (nelle versioni future, probabilmente sarà visualizzato un messaggio di avviso).

  • Di conseguenza, non è anche possibile definire versioni alternative di un'estensione a seconda della versione in esecuzione di R.

  • Tuttavia, spesso è facile ottenere la retro-compatibilità come mostrato di seguito. Se si è a conoscenza dei problemi di compatibilità di R, considerare l'utilizzo di questo metodo, invece di definire una dipendenza da una particolare versione di R.

In molti casi, è facilmente possibile fornire funzionalità ridotte, se una determinata funzionalità non è disponibile nella versione in esecuzione di R. Considera il seguente breve esempio del file di un'estensione .xml:

<dialog [...]>
        <logic>
                <dependency_check id="ris210" R_min_version="2.10.0"/>
                <connect client="compression.xz.enabled" governor="ris210"/>
        </logic>
        [...]
        <radio id="compression" label="Metodo di compressione">
                <option label="Nessuno" value="">
                <option label="gzip" value="gzip">
                <option id="xz" label="xz" value="xz">
        </radio>
        [...]
</dialog>
        

In questo esempio, l'opzione di compressione «xz» sarà semplicemente disabilitata quando la versione runtime di R è precedente alla 2.10.0 (che non supportava la compressione xz). L'elemento <dependency_check> supporta gli stessi attributi dell'elemento <dependencies> nei file .pluginmap. Crea una proprietà booleana, che è true se le dipendenze specificate sono soddisfatte, false altrimenti.