Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > УП: Инструменты > В помощь разработчику: Q!Project


Автор: ADremLIN 13.12.2009, 16:02
Представляю сообществу дальнейшее развитие проекта Q!Project.
http://sourceforge.net/projects/qproject/

Целевая платформа - Windows. Набор лицензий - определяется в соответствии с конечным составом установленных компонентов. Основные лицензии: Apache и GPL. 

Идея проекта - предоставить возможность индивидуальному разработчику программного обеспечения (или небольшой группе разработчиков) удобное средство управления своими проектами. В том числе средства контроля версий исходного кода, документирования проекта, баг-трэкер и т.п. 

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

Реализованный на web-платформе, на основе популярных open-source проектов, этот инструмент позволит разработчикам работать со своими проектами удаленно из любого места, подключенного к сети. И, естественно, локально на ноуте например...

Это - основное предназначение проекта. Также возможно использовать этот инструмент и для веб-разработки, с использованием встраиваемых модулей "движков" используемых в системе... (см. ниже)

Проект построен по модульному принципу, то есть каждый может как из "кубиков" построить нужный ему "домик" 

В основании системы лежит "ядро" - Q!Apache 2.2.14. (минимальная сборка, основанная на MicroApache-2.2.2 http://microapache.amadis.sytes.net/.

Затем по замыслу к "ядру" прикручивается "движок" - динамический язык или фрэймворк (Rails, Python, PHP и т.д.). В проекте я использую максимально "облегченные" сборки вышеуказанных языков, так называемые "минимальные установки".

Далее по структуре проекта следуют приложения, написанные на этих "движках".

На текущий момент доступны следующие компоненты системы:

1. Base - "ядро" системы. Требуется для запуска всех без исключения компонентов.
    Реализовано:
      1. Q!Apache 2.2.14 [переработанный MicroApache http://microapache.amadis.sytes.net/]

2. Engines - "движки". Требуются для установки соответствующих приложений.
    Реализовано:
      1. Q!Rails 1.8.6/2.3.4 [Резал сам, SQLite3 + SCGI] (Требует установленного Q!Apache)
      2. Q!Python 2.5.2 [переработанный SciTE Ru-Board Edition http://scite-ru.googlecode.com/files/python-2.5.2-mini.exe, + mod_wsgi] (Требует установленного Q!Apache)

3. SCM (Source Code Management). Управление исходными кодами.
    Реализовано:
      1. Q!Subversion 1.6.5 [Резал сам] (Требует установленного Q!Apache)
    В работе:
      1. Q!Submin 2.0.0 [Web-Admin для SVN. Портирую на Windows своими силами http://supermind.nl/submin/] (Требует Q!Subversion + Q!Python)

4. PM (Project Management). Управление проектами.
      1. Q!Redmine 1.8.5 [Предустановленная, с настройками по дефолту, SQLite3, SCGIServer](Требует установленного Q!Rails)

Для каждого из модулей реализован отдельный инсталятор.

Для хостинга проекта выбрал Sourceforge - мне он показался более удобным. В репозитории доступны все исходные файлы для самостоятельной сборки проекта с помощью Inno Setup: http://qproject.svn.sourceforge.net/viewvc/qproject/trunk/

Так же планирую отдельные сборки (стеки) компонентов из этого же исходного материала (в виде отдельных инсталляторов на продукт, по аналогии со стеками приложений от битнами http://bitnami.org/stacks 

1. Q!WinRails=Q!Apache + Q!Rails + Demo; (Как и прежде будет хоститься на http://rubyforge.org/projects/qwinrails/

2. Q!Redminer=Q!Apache + Q!Rails + Q!Redmine; (Будет хоститься там же)

3. Варианты с SCM:
    * = Q!Apache + Q!Subversion + Q!Rails + Q!Redmine;
    * = Q!Apache + Q!Python + Q!Mercurial (запланирован после релиза Q!Submin'а) + Q!Rails + Q!Redmine;
    * = и т.д.
4. Ваши предложения... 

Документировать все это реально не хватает времени... прошу пардона 

Пример установки Redmine + SVN из компонентов доступных на http://sourceforge.net/projects/qproject/files/

1. Скачать и установить из папки /base/: qp-base-2.2.14-p1-setup.exe
2. Скачать и установить из папки /scm/: qp-svn-1.6.5-p0-setup.exe
3. Скачать и установить из папки /engines/: qp-rails-1.8.6-p1-setup.exe
4. Скачать и установить из папки /pms/: qp-redmine-0.8.5-p1-setup.exe

Названия файлов обозначают название компонента, цифры - версию и номер сборки (будут изменяться при обновлениях - желательно выбирать самую свежую). 

Если не нужен SVN - пропустить поз. №2.

После окончания работы инсталлятора продукт сразу готов к использованию:

В броузере:
http://localhost/ - основной сайт (wwwroot) Q!Apache
http://localhost/svn/ - SVN Репозиторий Q!Subversion (admin:admin [rw]; guest:guest [r])
http://localhost/redmine/ - Редмайн - стартовая страница...

Наполеоновские планы:
1. Наконец то все это задокументировать и выложить на сайте
2. Перевести на ангельский и выложить на сайте для буржуинов 
3. Расширять функционал проекта:
    + Q!Submin (Web-Admin для SVN);
    + Q!Mercurial;
    + Q!GitWeb;
    + Q!PHP;
    + Ваши предложения...

Спасибо за внимание. Жду конструктивных предложений, мягкой критики, etc...

Надеюсь всё это кому-нибудь еще, кроме меня, нужно  ...

Сергей.

PS: Разработчикам на Питоне посвящается...
Если установить Q!Apache + Q!Python (/base/qp-base-2.2.14-p1-setup.exe и /engines/qp-python-2.5.2-p0-setup.exe соответственно), то по адресу: http://localhost/wsgi-sample/ можно будет полюбоваться на питоновский "wsgi - helloworld". А для людей "в теме" открывается возможность легко прикрутить своё wsgi-приложение. Ну там Джанго-based что-нибудь... Со всеми вытекающими отсюда возможностями...

Добавлено @ 16:05
Готов сборный "Все-в-одном" инсталлятор Q!Project 1.0 (FullPack). В сборку входят варианты установки:
«Q!Redminer» и «Q!Redminer (Subversion)». Ставим "галки" - получаем нужную конфигурацию системы. 

http://ipicture.ru/

После окончания работы инсталлятора продукт сразу готов к использованию.

Качать: 
http://sourceforge.net/projects/qproject/files/ или http://rubyforge.org/frs/?group_id=9212. 
Название файла: qp-fullpack-1.0-p1-setup.exe

Подробности установки Q!Redminer описаны в WIKI: http://redmine.net.ua/wiki/doku.php/install/paket_ustanovki_q_project

Спасибо за внимание.

Сергей.

[Добавлено]

Этот проект - всего лишь логическое продолжение того, что было начато исключительно для своих собственных целей (http://redmine.net.ua/forum/index.php?topic=68.0), но со временем переросло изначальные задачи...

Основные потребители моего проекта - я и несколько сотрудников на работе, которым нужно было предоставить инструмент ведения проектов без вникания, как все это собирается-настраивается-работает. 

Просто хотелось получить простой инсталлятор в "один-клик", без использования громоздких серверов БД и сразу готовый к использованию без утомительных дополнительных настроек...

Из особенностей: 

1. Малый размер дистрибутива (достигается за счет применения мини-версий компонентов).

2. Модульное построение проекта - предоставляет возможность в дальнейшем "наращивать функционал" на базе уже существующего "ядра".

Если мое "творение" найдет потребителя, кроме моей команды - буду только рад... 

Удачи...

Автор: bilbobagginz 13.12.2009, 16:53
вопрос: 
как часто выходят обновления микро-апача и др. критических компоентов?

Автор: ADremLIN 13.12.2009, 17:18
Цитата(bilbobagginz @  13.12.2009,  16:53 Найти цитируемый пост)
как часто выходят обновления микро-апача и др. критических компоентов?


Если честно, то от микро-апача была взята лишь идея и список минимально-необходимых для работы Apache файлов. И на этой основе был "распотрошен" свежий Apache 2.2.14, который обновляется более чем регулярно... т.е все файлы по списку микро-апача были заменены на аналогичные из 2.2.14.

По-поводу остальных критичных компонентов могу сказать, что принцип "потрошения" свежих версий имеет место быть (конечно если это возможно). А "полные" версии выходят регулярно. В проекте использованы только свежие версии компонентов.

Это касается всех используемых составляющих проект частей:

1. Apache
2. Python
3. Ruby, Rails
4. SVN
5. Redmine

Моя работа заключается в "прикручивании" одного к другому, настройке совместной работы, по-возможности "обезжиривании", тестировании и затем, создании автоматического инсталлятора, избавляющего пользователя от множества "не интересных" телодвижений....


Автор: bilbobagginz 13.12.2009, 23:53
Цитата(ADremLIN @  13.12.2009,  16:18 Найти цитируемый пост)
Моя работа заключается в "прикручивании" одного к другому, настройке совместной работы, по-возможности "обезжиривании", тестировании и затем, создании автоматического инсталлятора, избавляющего пользователя от множества "не интересных" телодвижений....


ok, обезжирил, протестил обезжиривание, и что же это даёт ? 
есть тестбенчи, где видно что дают эти прикрутки, доточки и выжимки ?
чисто "удобство установки", или есть добавленные какие-то наработки для добавления удобства и настроек ?
вы чтоли хостер, и предлагаете это как сервис,  а заодно оптимизируете, чтобы выжать из своего железа побольше, и просто решили поделиться достижениями ?

вопрос серьёзный, просто я линуксойд, и "у нас" установка этого достигается одной строкой команды, а настройка и прикрутки ... некоторым временем.

Автор: ADremLIN 14.12.2009, 00:44
Цитата(bilbobagginz @  13.12.2009,  23:53 Найти цитируемый пост)
ok, обезжирил, протестил обезжиривание, и что же это даёт ? есть тестбенчи, где видно что дают эти прикрутки, доточки и выжимки ?чисто "удобство установки", или есть добавленные какие-то наработки для добавления удобства и настроек ?

Я не гонюсь за тестбенчами, скоростью и тп. 
Только размер дистрибутива и стабильность работы. Удаляю хелпы, неиспользуемые либы и тд

Цитата(bilbobagginz @  13.12.2009,  23:53 Найти цитируемый пост)
вы чтоли хостер, и предлагаете это как сервис,  а заодно оптимизируете, чтобы выжать из своего железа побольше, и просто решили поделиться достижениями ?

Я не хостер и никакой коммерческой выгоды с этого не имею. 

Данный проект задумывался исключительно для своих нужд, как локальное решение проблем с управлением собственными проектами.

Сам пишу на Delphi под Win32 на ноутбуке, который постоянно таскаю с собой, поэтому платформа была предопределена с самого начала. Ни о каком публичном продакшене речь не ведется.

Изучив множество мануалов (и потеряв множество бессонных ночей) я понял, что готового удобного и простого решения для моих нужд нет... 

Поэтому я "собрал" его сам. Для себя и своих коллег по работе.

Эти обстоятельста подробно мною описаны здесь: http://redmine.net.ua/forum/index.php?topic=68.0
И здесь: http://redmine.net.ua/forum/index.php?topic=99.0

Цитата(bilbobagginz @  13.12.2009,  23:53 Найти цитируемый пост)
вопрос серьёзный, просто я линуксойд, и "у нас" установка этого достигается одной строкой команды, а настройка и прикрутки ... некоторым временем.

Я в курсе. Но то линукс... Там с этим проще и ничего мудрить не надо.

А здесь Windows и заставить слаженно и производительно работать разнородные компоненты, причем изначально "не родные" для Windows  - еще то занятие, скажу я Вам...

Опубликовал свои наработки для всех. Может кому требуется что-то готовое. 

Что у меня получилось - судить народу. Я что хотел для своих нужд - получил. Попросит народ дополнительных функционалов - прикрутим smile

Вот как-то так...

Автор: bilbobagginz 14.12.2009, 00:50
ADremLIN, ну в общем молодец, и желаю тебе успехов  smile  smile  smile 


Автор: dumb 14.12.2009, 05:17
на самом деле - труд достойный. smile
это я со всей ответственностью заявляю, как проделавший все эти манипуляции и изрядно при этом припарившийся - ну не владею я ни языком апачей, ни добычей рубинов, ни укладкой рельс.
человеку обычному(не рассматриваем закоренелого линуксоида, для которого такого рода проблемы являются обыденными) настройка такой связки под виндой попортит много крови. smile

Автор: ADremLIN 14.12.2009, 10:34
Спасибо за теплые слова.

Постараюсь следить за обновлениями компонентов и вовремя апгрейдить систему.
Также прошу сообщать мне о найденных багах - буду фиксить...

На возникающие вопросы по использованию системы - отвечу здесь, или по мылу dremlin.ru <@> gmail.com

Еще раз спасибо, и удачи...

ЗЫ: Не забываем голосовать - это важно для оценки проекта... 

 smile 

Автор: ADremLIN 17.12.2009, 04:22
Всем привет.

Обновился инсталлер (FullPack): qp-fullpack-1.0-p2-setup.exe

Список изменений:
Цитата
Changes:
qp-fullpack-1.0:

p2:

1. Added Q!WinRails: Type of Installation
2. Added Q!Pythoner: Type of Installation
3. Fix Q!Rails module: Remove old mod_scgi.so (mod_scgi_2.2.13)
4. Fix Q!Rails module: Added new mod_scgi.so (mod_scgi_2.2.4)
5. Fix Q!Rails module: Added msvcr71.dll


http://sourceforge.net/projects/qproject/files/ 
http://rubyforge.org/frs/?group_id=9212.

Протестировано в виртуалке на WinXPSP2 и на рабочем ноуте Win7.

Сергей.

Автор: ADremLIN 20.12.2009, 20:00
Обновился инсталлер (FullPack): qp-fullpack-1.0-p3-setup.exe

Список изменений:
1. Настроен автозапуск службы Q!Apache при завершении инсталляции в WinXP.

http://sourceforge.net/projects/qproject/files/ 
http://rubyforge.org/frs/?group_id=9212.

Протестировано в виртуалке на WinXPSP3.

Удачных полетов! 
Сергей.

Автор: RomanEEP 22.10.2010, 19:07
Огромный респект разработчику за проделанный труд! Очень помогло.

Автор: ADremLIN 22.10.2010, 21:07
Спасибо. 

Всплыли некоторые проблемы. Здесь - решение:
http://redmine.net.ua/forum/index.php?topic=99.msg1954#msg1954

Удачи!

Автор: ADremLIN 15.2.2011, 22:27
Цитата
Я так понял ПХП пока в комплекте нету? Жаль...

Вот прикрутил МикроПХП, пока что голый без расширений
http://narod.ru/disk/5712936001/Q!PHP_WorkSave-535.zip.html
Добавлять придется руками в уже установленную и работающую сборку...

Прошу помочь со списком самых-самых нужных расширений (extensions) для PHP, чтобы включить в дистрибутив
следующей версии КьюПрожекта.

Спасибо!
Сергей.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)