Я тут на днях побачив новину з приводу випуску нового релізу Zentyal
Linux і побачив там встановлювач з веб-інтерфейсом. І от прийшла мені
в голову ідея. А може і собі такий створити?
З переваг можу назвати можливість встановлення дистра тупо по мережі
без страшного і безпощадного ssh, без підгрузки графічної оболонки на
локальній машині, а просто набравши ІП машини, на якій ставитимиться
дистр, у вашому улюбленому веб браузері. Це було б досить актуально
для слабких машин і серверів. При завантаженні можна було б,
наприклад, опціонально вибрати, чи підгружати графічну оболонку. Мало
того, якщо інтерфейс зробити достатньо простим (без джава-скриптів,
без переведення функціоналу на кнопки у вигляді картинок і т.п.), то
можна було б все це ставити з використанням текстових браузерів, типу
links, або w3m, не переписуючи по кілька разів код з абсолютно
однаковим функціоналом.
Як то все реалізувати? Перше, що приходить у голову - можна це все
зробити з використанням Ruby on Rails. Чому? По-перше, я знайомий з
цим фреймворком. По-друге, з подібними задачами я уже стикався, а
по-третє, RoR, хоч сам по собі і важкуватий, але має на борту власний
невеликий веб-сервер і можливість зберігати дані у різного роду базах
даних (починаючи від postgreSQL і закінчуючи SQLite). АЛЕ. Само собою,
самостійно я це не потягну, ібо треба не тільки прописати внутрішню
логіку, а і зробити дизайн і відтестити і ще зробити багато чого.
Власне, якщо цікаво, то можна було б спробувати. Чекатиму відповідей :)
--
Best regards, Alexander aka CosmonauT Vynnyk
--
Ви одержали це повідомлення, оскільки підписані на Google Групи -
група "Розробка Grusha Linux"
Щоб додати повідомлення в цю групу, надішліть лист на
grush...@googlegroups.com
Щоб відписатися від цієї групи, надішліть лист на
grusha-dev+...@googlegroups.com
Більше опцій доступно на основній сторінці групи
http://groups.google.com/group/grusha-dev?hl=uk
Там-же можна налаштувати, щоб всі повідомлення приходили одним листом раз на день.
Культура користування розсилкою та корисні поради - тут
http://linux.grusha.org.ua/uk/node/59
По темі: Zentyal писаний на PHP, крім того, його прообраз -
Ubuntu/Debian, так що без варіантів, доведеться писати, мабуть, все з
нуля (між іншим, можуть знадобитися мої наробки на баші інсталятора
для генту. У всякому разі, логіка буде не сильно відрізнятися. І, ТАК,
я знайшов шматки цього інсталятора десь у глибинах моєї ~/-помийки).
Взагалі, як відомо, у RoR є 3-рівнева модель взаємодії - MVC - model,
view, controller. Model і controller я можу зробити самостійно, у
випадку, якщо не буде інших охочих девелоперів :) А от дизайн view,
тобто фронтенда все-одно треба буде комусь задизайнти. Можливо це буде
щось типу убунтовського інсталятора, або, щось типу мандрівовського,
або...або. Буде чи не буде вибору окремих пакетів і щось у тому дусі.
Короче, наскільки я це бачу, треба попрацювати з gimp-ом ;)
2011/9/14 Vitovt <vit...@grusha.org.ua>:
2. Ставлюсь то я нормально, але якщо будемо працювати з gtk/qt, то
робота може затягнутися на довше, так як RoR уже надає купу готового
функціоналу (каркас), який доведеться реалізовувати самостійно, якщо
юзати просто рубі з графічними бібліотеками
Взагалі, я так розумію, що тут висить питання "а що кращого в
інсталяторі з web-мордою?"
* Якщо юзати RoR, то ми досить швидко доведемо до робочого стану весь
проект (каркас - RoR то уже є)
* Незалежність від графічної оболонки. Один інсталятор для текстового
і графічного режиму
* Незалежність від монітора (якщо мережа на новій машині підніметься
автоматично)
2011/9/16 Vitovt <vit...@grusha.org.ua>:
Як показує мій досвід, програмувати у стилі ООП краще всього "з верху
в низ", тобто, спочатку проектується загальний дизайн, а далі уже
деталізується то все. Як на мене, це не дуже вдала концепція, але
іншої у нас нема ;)
Таким чином, мені б хотілося бачити у вигляді ем...не знаю...у якомусь
вигляді (картинки, схеми, ще щось таке...), як повинен виглядати
інсталятор, які кроки при встановленні у ньому будуть і т.п. Від нього
тоді можна буде крутитися, як напрограмити класи для контроллера.
Власне, от мені, якраз і не хотілося б цим питанням займатися ;)
Зі свого боку можу насетапати каркас і накатати кілька точно потрібних
функцій, методів і т.п.
Таким чином, для початку нам потрібно: скласти загальний дизайн (хоча
б приблизний), яким хотілося б бачити інсталятор, написати
низькорівневі функції для встановлення (які будуть безпосередньо
створювати папки, копіювати файли і т.п.) і насетапати і викинути
кудись типу github-у каркас (власне, рельси з нашими налаштуваннями),
на базі якого буде робитися інсталятор. Два останні пункти я можу
зробити самостійно. А от з дизайном __треба добровольці__ ;)
PS Особливість рельсів така, що вони не можуть жити без якоїсь RDBMS.
Пропоную SQLite і не паритись. Ібо у нас не буде туди кластися щось
екстравелике, а тягнути за собою мускуль через 5 табличок по 10
значень - це якось не апортивно :)
2011/9/18 Vitovt <vit...@grusha.org.ua>:
Ну, тоді, мабуть, якось так:
Як показує мій досвід, програмувати у стилі ООП краще всього "з верху
в низ", тобто, спочатку проектується загальний дизайн, а далі уже
деталізується то все. Як на мене, це не дуже вдала концепція, але
іншої у нас нема ;)
Таким чином, мені б хотілося бачити у вигляді ем...не знаю...у якомусь
вигляді (картинки, схеми, ще щось таке...), як повинен виглядати
інсталятор, які кроки при встановленні у ньому будуть і т.п. Від нього
тоді можна буде крутитися, як напрограмити класи для контроллера.
Власне, от мені, якраз і не хотілося б цим питанням займатися ;)
Зі свого боку можу насетапати каркас і накатати кілька точно потрібних
функцій, методів і т.п.
Таким чином, для початку нам потрібно: скласти загальний дизайн (хоча
б приблизний), яким хотілося б бачити інсталятор, написати
низькорівневі функції для встановлення (які будуть безпосередньо
створювати папки, копіювати файли і т.п.) і насетапати і викинути
кудись типу github-у каркас (власне, рельси з нашими налаштуваннями),
на базі якого буде робитися інсталятор. Два останні пункти я можу
зробити самостійно. А от з дизайном __треба добровольці__ ;)
PS Особливість рельсів така, що вони не можуть жити без якоїсь RDBMS.
Пропоную SQLite і не паритись. Ібо у нас не буде туди кластися щось
екстравелике, а тягнути за собою мускуль через 5 табличок по 10
значень - це якось не апортивно :)
З технічних моментів:
Пропоную все це робити в рамках git-репозиторію або на наших ресурсах,
або на github-і. На тому ж таки github-і можна замутити невеличку вікі
і, якщо буде реально необхідно, багтрекер під наш проджект. Для чого?
Як показала практика, система контролю версій для спільної розробки
штука просто необхідна, як захист від "ой, блін, чот я тут напартачив"
:) Чому git? Це досить проста, швидка і високопродуктивна штука.
Перевірив на собі :)
В принципі, на гітхабі, по-моєму, було б непогано, бо там уже вся
інфраструктура уже готова є, і, як на мене, досить таки зручна. Без
зайвих гальмів, реклами і всяких нездорових штук. Якщо ніхто не проти,
то я створю акаунт. Можна, навіть, під всі грушовські проджекти
намутити, як робочий девелоперський репозиторій.
Можна, наприклад, було б у корені постворювати там різні папки, типу,
"src" - з джерельним кодом, "doc" - з документацією, "design" - з
різними малюнками, іконками, і т.п.
PS Ем...ну і в рамках нашої груші можна такий проджект назвати чимось
у стилі, "насінина", з якої наша груша буде проростати. Англійською
буде "Seed" =))))
2011/9/20 Майданович Александр <maidm...@gmail.com>:
--Ви одержали це повідомлення, оскільки підписані на Google Групи -
група "Розробка Grusha Linux"
Щоб додати повідомлення в цю групу, надішліть лист на
grush...@googlegroups.com
Щоб відписатися від цієї групи, надішліть лист на
grusha-dev+...@googlegroups.com
Більше опцій доступно на основній сторінці групи
http://groups.google.com/group/grusha-dev?hl=uk
Там-же можна налаштувати, щоб всі повідомлення приходили одним листом раз на день.
Культура користування розсилкою та корисні поради - тут
http://linux.grusha.org.ua/uk/node/59
2011/9/21 Vitovt <vit...@grusha.org.ua>:
--
Best regards, Alexander aka CosmonauT Vynnyk