Blog: Alter World

Виртуальный мир является своеобразным Alter Ego мира реального…

Stellarium: менеджер дополнений

7 комментариев 26 апреля 2011, 18:48 • Stellarium

Есть задачка для первой версии Stellarium'а, которую я родил вместе с Мэтью Гейтсом (Matthew Gates) — создать для планетария менеджер дополнений. Идея этой задачи появилась из-за проблем с лицензионной чистотой всякого артворка для этого замечательного планетария. С одной стороны есть многие сделанные вещи для Stellarium'а — дополнительные пейзажи, наборы изображений туманностей, наборы текстур для планет, культуры неба в конце концов и многие из них можно совершенно бесплатно использовать! Но не все эти дополнения действительно свободны. А несвободное в дистрибутив включать нельзя. К тому же очень много дополнений используются довольно редко и возникает вопрос о целесообразности их включения в дистрибутив. Даже в случае свободных наборов могут возникать проблемы совместимости лицензий.

Вот как раз из этих соображений и родилась идея: а почему бы не предоставить пользователям самим решать, какие дополнения им нужны и пусть они сами следят за их лицензионной чистотой. То есть, если кто-то решил использовать культуру неба с изображениями, для которых явно написано, что они только для некоммерческого использования, в своем планетарии для зарабатывания денег, то из-за этого не было претензий к разработчикам Stellarium'а. Это с одной стороны. С другой стороны мы тогда можем подсократить дистрибутив планетария — поставляя только базовую часть.

Надеюсь, что в общих чертах наша идея всем понятна. Так вот, эта задачка разделяется на серверную часть и клиентскую. Даже на две клиентские — один клиент будет встроен в сам Stellarium и при наличии подключения в интернет можно будет управлять дополнениями прямо из графического интерфейса. Другой клиент — это материалы веб-сайта, с которого нужно будет скачать соотвествующее дополнение и установить его вручную. Понятное дело, что инструкции по установке будут прилагаться. Серверная часть представляет собой этот же сайт, но только данные о списке дополнений он должен предоставлять в машиночитаемом виде. Если быть совсем точным, то в формате JSON.

Ну так вот — я сейчас как раз и работаю над серверной частью этого менеджера дополнений. В качестве хранилища метаинформации используется MySQL, а языка программирования — PHP. Оба используются в этой задачке из-за наибольшей распространимости на хостингах. На текущий момент я уже как-то умудрился настрочить более 350 Кб кода и при этом особой функциональностью и внешним видом эта серверная часть не отличается. С одной стороны хочется получить быструю спартанскую CMS, с другой — достаточно удобную и гибкую, с третьей — хорошо документированную. Одной из отличительных особенностей данного менеджера (по крайней мере его веб-морды) будет поддержка многоязычности. В процессе создания меня уже посетило несколько интересных мыслей по технической реализации обработки похожих данных в ней — это позволит сэкономить ресурсы и уменьшить объём кода. Код движка распространяется на условиях MITL/LGPL, однако в публичный доступ я его пока не дам — вот как он дорастёт до состояния не ниже публичной беты, вот тогда и можно будет думать о публикации кода.

P.S. Часть кода точно будет написана на PERL, потому что я крайне не люблю писать роботов на PHP — они на нём получаются уродливыми...

Ещё заметки на эту тему:

7 комментариев

Вы можете подписаться на комментарии к этой статье через RSS или отправить к ней TrackBack.

  1. Дмитрий Золотарев • 26 апреля 2011 г. в 19:09

    Если нужна помощь... Ну сам знаешь 😉

  2. Александр Вольф • 26 апреля 2011 г. в 19:19

    Если хорошо дружишь с Qt/C++, то милости просим — работы там дохрена. 🙂

    P.S. Если готов помочь с улучшением Stellarium'а, то могу «нарисовать» краткий экскурс в задачи и по работе с Bazaar/Launchpad...

  3. Дмитрий Золотарев • 26 апреля 2011 г. в 19:49

    да в общем-то неплохо — опыт есть и с Qt и с С++ (который сейчас прокачиваю) и с FFTW, если она там встречается. Помочь хочу и Stellarium'у и себе (опыт, бесценный опыт).

  4. Александр Вольф • 26 апреля 2011 г. в 19:53

    Тогда первым шагом регистрируйся на launchpad.net, вторым — внимательно изучи список задач вот тут: blueprints.launchpad.net/stellarium

    А вот есть опыт программирования на OpenGL?

  5. Александр Вольф • 26 апреля 2011 г. в 19:57

    Да, совсем не лишним будет записаться в группу launchpad.net/~stellarium-devel и подписаться на рассылку. Плюс поизучать документацию на stellarium.org/wiki и stellarium.org/doc

  6. Дмитрий Золотарев • 26 апреля 2011 г. в 20:08

    Про OpenGL — сталкивался в универе, курсовая с ним связана была. Предлагаю, дабы не флудить в комментах, перенести беседу в Jabber (ICQ, Facebook Chat — на выбор)

  7. Stellarium: интересности • 9 мая 2011 г. в 20:46

    [...] Ранее я уже неоднократно поднимал вопросы об разных интересностях, которые позволили бы стать Stellarium'у еще лучше. Среди них добавление визуализации исторических сверхновых, добавление новых культур неба и создания полноценного менеджер дополнений. [...]

Оставить свое мнение

XHTML: Вы можете использовать эти тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>