#std700¶
Установка внешних компонент и расширений платформы¶
1.1.¶
Установка внешних компонент и расширений должна быть интерактивной. Решение об установке принимает пользователь.
В диалоге установки объясняйте:
- зачем нужна компонента;
- что именно не будет работать без нее.
Неправильно
Правильно
Сначала показать пользователю понятный диалог с кнопками Установить и Продолжить.
1.2.¶
Предлагайте установку в момент, когда пользователь запускает конкретное прикладное действие, зависящее от компоненты.
Типовой сценарий:
- пользователь запускает действие (например, отправка отчета);
- система проверяет наличие компоненты;
- при отсутствии показывает предложение установить;
- после установки пользователь продолжает исходное действие.
Такой подход снижает проблемы совместимости на разных браузерах.
Пример
Предложение об установке расширения для работы с файлами при загрузке файла:

1.3.¶
Если используется БСП, для сценариев работы с файлами применяйте API ФайловаяСистемаКлиент.
Рекомендуемые замены:
ВыбратьКаталог()вместоДиалогВыбораФайла.Показать()в режиме выбора каталога;ЗагрузитьФайл()вместоПоместитьФайл()и аналогов;ЗагрузитьФайлы()вместоПоместитьФайлы()и аналогов;ОткрытьФайл()вместоЗапуститьПриложение()для открытия файла в ассоциированной программе;СохранитьФайл()/СохранитьФайлы()вместо прямых вызовов методов получения файлов;- в остальных случаях
ПодключитьРасширениеДляРаботыСФайлами().
Пример

2.¶
В конфигурации должна быть отдельная функция, позволяющая установить компоненты и расширения в любой момент работы (например, из персональных или административных настроек).