Сумісність із версіями R

Подібно до rkward_min_version і rkward_max_version, елемент <dependencies> надає змогу визначити атрибути R_min_version і R_max_version. Втім, є такі відмінності:

  • Додатки, які не задовольнятимуть вимогам щодо версії R у поточній версії не пропускатимуться під час читання файла .pluginmap. Користувач все одно зможе викликати відповідний додаток, і не побачить негайного попередження (у майбутніх версіях таке попередження, ймовірно, буде показано).

  • Як наслідок, не можна визначати альтернативні версії додатка, робота яких залежатиме від версії R.

  • Втім, часто доволі просто досягнути зворотної сумісності у спосіб, показаний нижче. Якщо ви припускаєте проблеми із сумісністю з R, будь ласка, спробуйте цей спосіб замість визначення залежності від певної версії R.

У багатьох випадках доволі просто надати у розпорядження користувача обмежені функціональні можливості, якщо певна можливість є недоступною у запущеній версії R. Розгляньмо такий короткий приклад файла .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="Compression method">
                <option label="None" value="">
                <option label="gzip" value="gzip">
                <option id="xz" label="xz" value="xz">
        </radio>
        [...]
</dialog>
        

У цьому випадку параметр стискання «xz» буде просто вимкнено, якщо запущена версія R виявиться старішою за 2.10.0 (версію, у якій не передбачено підтримки стискання xz). У елементі <dependency_check> передбачено підтримку тих сами атрибутів, що і у елементі <dependencies> у файлах .pluginmap. Він створює булеву властивість, яка має значення true (так), якщо вказану залежність задоволено, і значення false, якщо це не так.