-
Notifications
You must be signed in to change notification settings - Fork 137
Руководство к разработке DRP
DriverPack Solution написан на языке HTA (HTML Application). Программный код исполняется движком Internet Explorer (процесс mshta.exe). HTA-программа выглядит как полноценное Windows-приложение. И благодаря всему этому DRP получил невероятные возможности современных Web-технологий.
DRP использует следующие JavaScript-фреймворки: jQuery Tools, Bootstrap и другие.
- *Drivers* – драйверпаки (7zip архивы драйверов);
- *Indexes* – индексные файлы, для быстрого поиска по базе драйверов;
- *Soft* – софт для автоматической установки;
- DriverPackSolution.exe – Launcher ("запускатор"), передает управление файлу DriverPackSolution.html;
- \bin\DriverPackSolution.html – главный исполняемый файл, его можно открыть в блокноте как HTML;
- \bin\Tools – папка с JS-скриптами, плагинами и EXE-приложениями;
DriverPack Solution многоязычный продукт. Языковые файлы находятся в bin\tools\language. Вы можете помочь переводить программу:
Русский проект: https://www.transifex.com/projects/p/driverpack-solution-rus/
Английский проект: https://www.transifex.com/projects/p/driverpack-solution-worldwide/
Microsoft Visual Studio Express 2013 для Web (бесплатная версия): http://www.visualstudio.com
WMI Administrative Tools: http://www.microsoft.com/en-us/download/details.aspx?id=24045
WMI Explorer: http://wmie.codeplex.com
Windows Script Host:
http://www.script-coding.com/WSH.html http://msdn.microsoft.com/en-us/library/d1et7k7c(v=vs.84).aspx
Справка DRP:
Запустите файл bin\runDebugMode.js, чтобы открыть DRP в Internet Explorer.
Нажмите F12 для отладки.
##Разработка плагина
Чтобы не вносить изменений в общий код программы, можно создать отдельный плагин (js-файл). Плагин может полностью изменить поведение приложения.
Плагины могут:
- Изменять события кнопок (onClick, onMouseUp, onMouseDown, etc);
- Переопредиление функций;
- Загрузка фнешних JS или CSS файлов;
- Манипуляции с DOM;
- Манипуляции с CSS.
Есть несколько способов внедрить плагин:
- Локальная работа плагина. Разместите js-плагин в папке bin\tools\modules и подключите в DriverPackSolution.html.
- Online плагин. Если при запуске есть подключение к Интернету, то мы имеем возможность подключать новые плагины и менять логику программы, даже в самых старых версиях DRP. Чтобы разместить свой плагин на сервере, обратитесь к Артуру Кузякову.
- Тестовый Online плагин. DRP с названием версии Beta подгружает Offline версию файла bin\tools\update.js. Для загрузки вашего плагина, добавьте в этот файл функцию:
inc("<путь до вашего плагина>");
Важно! Каждый плагин, который модифицирует интерфейс DRP должен поддерживать многоязычность.
Чек-лист для тестирования.
- Тестирование под виртуалкой на:
- Windows XP
- Windows Vista
- Windows 7
- Windows 8
-
Тестирование на всех версиях Internet Explorer (и даже на IE6, потому что в Windows XP он используется поумолчанию).
-
Тестирование установки драйверов на реальном железе.
-
Тестирование среди реальных пользователей DriverPack Solution.
Все новые плагины должны писаться по принципу: сначала пишем сценарий авто-теста, только потом сам код.
Авто-тесты выполняются из скрипта: tools/modules/tests/RunTests.hta
DRP разрабатывался без автоматического тестирования и использования объектов, из-за чего теперь сильно страдает. В будущем код DRP будет полностью перепроектирован.
Задавайте Артуру Кузякову: http://vk.com/kuziakov