Творець одного з перших (і на даний момент мало не єдиного з) бурятських сайтів ІТ-тематики Bur-IT.ru Антон Аксьонов на моє прохання докладно розповів про свій проект ABTool, що розвивається на благо вітчизняних (а в доступному для огляду майбутньому не тільки російських) енікейщіков. Далі по тексту розповідь від першої особи - пряма мова Антона.
Про програму
Утиліта ABTool призначена для спрощення установки великого пакета програм і твиков для Windows. Вона стане в нагоді працівникам сервісних центрів і будь-яких інших організацій, де час від часу виникає завдання масово і стандартизований обслуговувати комп'ютери і ноутбуки.
Скріншот списку програм налаштованої утиліти ABToolABTool корисна тільки в тих випадках, коли користувач утиліти (скажімо, типовий працівник СЦ) знаходиться в прямому доступі до комп'ютера, на якому необхідно проводити установку софта і настройку ОС. ABTool не рятує від багатьох і багатьох інших рутинних операцій - таких як, наприклад, автоматичне натискання кнопок у вікнах інсталяторів.
Скріншот процесу установки обраних пакетів програм в утиліті ABToolОсновний функціонал утиліти заточений на установку всіх програм разом, без маніпуляцій зі сценаріями руху курсора, вилову вікон, натискань в них кнопок та іншого. При цьому залишається можливість контролювати процес установки всіх програм. Але основне завдання утиліти полягає все ж не в спрощенні всього і вся.
Запускати інсталятори окремо тепер не має сенсу, якщо є ABTool :-) Та й сам користувач вчиться складати всі свої пакети програм в певному порядку.
Робота програми ґрунтується на ini-файлах. У версіях до 0.5.2b включно для настройки списків програм і утиліт використовувалися строго два файли з іменами soft.ini і tools.ini. плюс було ускладнює використання ABTool вимога до суворої фіксації папок для свого набору програм.
Скріншот налаштувань пакетів (ini-файлів) утиліти ABToolУ версіях 0.6. * І вище можна використовувати безліч інших ini-файлів і зберігати інсталятори де завгодно. Перемикатися в інтерфейсі ABTool можна між трьома пакетами (по три як для програм, так і утиліт), а вищезгадані два файли залишилися обов'язковими за замовчуванням.
Пакетом умовно називається кожен ini-файл з перерахуванням списку програм. Кожен пакет ділиться ще й на підгрупи та секції. Таким чином ABTool дозволяє заздалегідь налаштувати безліч пакетів програм і утиліт під різні потреби і три найбільш затребуваних вказати в настройках в якості основних.
Як виглядає робота з програмою:
Здавалося б, не так вже й багато кроків, але передостанній займає дуже багато часу. У самому ідеальному випадку на підготовку одного пакета програм може піти мінімум півгодини.
Зате в подальшому користувач може просто відзначати чекбокси і запускати цикл установки. Звичайно, добре б стежити за оновленнями програм. У разі, якщо ім'я нового файлу відрізняється, його необхідно змінити на той, що зазначений у пакеті. Або навпаки - скорегувати в пакеті шлях до нового файлу. Різниці тут немає, в кінцевому рахунку можна довести все до такого стану, що втручання в пакети не буде потрібно.
Підтримуються ключі тихою установки, імпорт даних з REG-файлів реєстру під час циклу установки і деякі інші плюшки начебто позначки невдалих установок та іншого. Це значною мірою знижує установку програм в загальному циклі і взагалі при вирішенні таких завдань. Часом навіть не доведеться здійснювати якихось рухів тіла. При цьому ABTool не може повністю позбавити від необхідності контролювати процес, що є перевагою програми.
Трохи історії
До того, як я став займатися розробкою ABTool, утиліта представляла з себе скрипт, написаний на мові AutoIt. Такими є всі версії ABTool до 0.5.2b (їх можна пошукати на старому сайті abtool.ucoz.ru). Ми з батьком користувалися утилітою і вона околодовала нас своєю простотою і всім, що нам тоді було потрібно: позбутися від постійного запуску купи інсталяторів одночасно з різних місць. Але ж вони далеко не завжди можуть встановлювати ПО паралельно (наприклад, MSI).
Йшов час, робилися ескізи інтерфейсу, але не робилося нічого по функціоналу. Уже занедбані, ці ескізи валялися більше трьох або чотирьох років. Потім я зібрався з силами, і, будучи вже більш досвідченим, написав версію 0.6.1b. Постарався по максимуму залишити колишній впізнаваний інтерфейс і зробив певні зміни таким чином, щоб не нашкодити йому.
Старий сайт Abtool.ucoz.ru дістався мені десь в кінці нульових. У той час спостерігалося деяке захоплення зі створення своїх сайтів на Ucoz, адже вони надавали непогану безкоштовну майданчик і багато всього готового для початківців веб-майстрів.
Скріншот сайту abtool.ucoz.ruОстаточне рішення купити домен abtool.ru назріло коли я почав викладати вже нові версії утиліти на старий сайт. Через якийсь час домен все-таки був куплений, хостинг використовується той же, на якому розташовується bur-it.ru. Поставив WordPress з мінімально необхідним набором плагінів, знайшов вдалий шаблон, змінювати який майже не довелося.
Скріншот головної сторінки сайту ABTool.ruДодав форум для часто змінюваної інформації та зворотного зв'язку з користувачами. Форум зараз працює на phpBB 3.1.4. На повну установку і настройку сайту з форумом з нуля пішли рівно добу. Движок форуму мене не влаштовує. Але серед безкоштовних phpBB кращий за функціоналом і можливостями його нарощування. Однак при всіх його антиспам-наворотах мені постійно доводиться вичищати спам. Рятує тільки премодерація новоствореного топіків.
Скріншот форуму ABTool.ruАле ось лічильник на сторінці «Завантажити» вже нарахував за 200 завантажень версії 0.6.4 + 30 завантажень 0.5.2, яку я додав на сайт для тих, хто любить «класику» :-)
Про поширення утиліти і роботі над новими версіями
Група ВКонтакте була створена лише з тією метою, щоб краще поширювати інформацію в Мережі про нові версії утиліти. Мені не хотілося її створювати, тому що це ще один майданчик, над якою треба працювати. А при випуску нової версії роботи і так вистачає.
На даний момент в групі ABTool ВКонтакте лише дві особи: я і Віктор - той, який першим отримує від мене свіжі збірки і тестує їх в бойових умовах (наскільки може дозволити його час). Працювати над майданчиком в цій соцмережі не хотілося і не хочеться. Але раз вона є, то нехай буде як дзеркало на сайт утиліти.
Сам я додаю і / або обновляю версії ABTool на офіційному сайті і чотирьох-п'яти софт-барахолках: freesoft.ru, softportal.com, softout.ru, soft.oszone.ru. Версію 0.6.3 я закинув ще й на softodrom.ru. На всіх майданчиках є премодерація, яку можна не пройти через різні причини.
Поширення інформації про продукт в Інтернеті займає більше часу, ніж, власне, робота над продуктом. Це якщо не брати до уваги ще підготовки документації. Поки інфа дійде до потрібних місць, вже можна випустити десяток версій. Випускаєш нову, відновляєш всю інформацію, довідки, сторінки і посилання, а потім бац - якась помилка в програмі, яку просто не помітив.
Іноді доводиться накопичувати відгуки (яких за фактом трохи менше, ніж нуль, якщо не брати до уваги тестувальника), шукати баги самому, нескінченно працюючи з кодом. Накопичувати інформацію про всі помилки, які вдалося знайти, щоб виправити їх в наступній версії і зі спокійною душею оновлювати всі сторінки в Мережі. Щоб простіше було розбиратися з багами, я навіть став писати про них окремі пости в розділ блогу на сайті утиліти плюс тримати інформацію на форумі. І сам не забуду, і інші хай знають.
Я давно збираюся випустити нову версію, але поки не визначився з її номером. Замість того, щоб робити новий реліз через пару помилок, я вирішив переписати програму, а точніше основні її механізми роботи: настройки, робота з програмами та підтримка локалізацій.
Незважаючи на те, що утиліта здається невеликий і простий, всередині працює безліч алгоритмів, які між собою не дуже добре ладнають. Тому я вирішив привести все в порядок не просто заради багофікса, а на нижчому рівні. Такий підхід позбавить і від відомих помилок, і від невідомих досі. Зрозуміло, додасть і нові. Так чи інакше, наступна версія буде мати сильно збільшився номер через усіх переробок.