Skip to content

Руководство к разработке DRP

artxgroup edited this page Aug 5, 2014 · 6 revisions

Введение

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:

http://help.drp.su/

Отладка

Запустите файл 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 должен поддерживать многоязычность.

Процесс тестирования

Чек-лист для тестирования.

  1. Тестирование под виртуалкой на:
  • Windows XP
  • Windows Vista
  • Windows 7
  • Windows 8
  1. Тестирование на всех версиях Internet Explorer (и даже на IE6, потому что в Windows XP он используется поумолчанию).

  2. Тестирование установки драйверов на реальном железе.

  3. Тестирование среди реальных пользователей DriverPack Solution.

Автоматическое тестирование

Все новые плагины должны писаться по принципу: сначала пишем сценарий авто-теста, только потом сам код.

Авто-тесты выполняются из скрипта: tools/modules/tests/RunTests.hta

DRP разрабатывался без автоматического тестирования и использования объектов, из-за чего теперь сильно страдает. В будущем код DRP будет полностью перепроектирован.

Есть вопросы?

Задавайте Артуру Кузякову: http://vk.com/kuziakov