Новый формат разработки сайтов. И airbase.ru в частности.

Приглашаются желающие. Обсуждаем концепцию.
 
+
-
edit
 

Balancer

администратор
★★★★☆

Сайт airbase.ru у нас фактически заброшен уже года, эдак, с 2004-го. Я регулярно кладу в копилку материалы для него, откладывая на лучший день, но время этого дня так и не приходит.

Когда-то над некоторыми разделами сайта работали также несколько человек энтузиастов, но со временем энтузиазм угас, а то, что так и не была сделана полноценная Wiki-архитектура, не позволило особо пускать в его разработку всех желающих (даже если бы они были). Мало ли кто-то, даже без злого умысла запорет что-то, иди потом, поднимай с бэкапа…

При этом возник ещё и, так сказать, конфликт направлений. Работа над сайтом для всех желающих — это, как правило, web-интерфейс (работа из браузера) и база данных. Я же для простых страниц сайтов в других проектах (в том числе на www.aviaport.ru) предпочитаю хранение данных в простом текстовом файле с разметкой, подобной форумной. Файл же контролируется системой контроля версий (когда-то CVS и SVN, теперь — Mercurial). Это позволяет и редактировать файл куда удобнее, чем через браузер, и историю версий вести.

С некоторых пор меня стала посещать мысль, а не попытаться ли объединить эти подходы. Зачем нужна БД обычно? Для поиска (разного рода, не только в смысле запроса пользователей), для ведения лога обновлений и т.п. Но никто не мешает индексировать в БД изменения, происходящие в файлах, используя БД просто как кеш. Зато сохраняется удобство работы с простым файлом. И версии контролируются проверенным стандартным решением, а не велосипедом.

А тут мне ещё попалось решение от Bitbucket.org. Они Wiki проектов хранят именно в Mercurial. Хотя там нет никаких БД и т.п., но сам факт работы с удалённой Wiki с локальной машины мне понравился.

И решил я объединить эти два подхода в разработке/обновлении/оживлении Авиабазы.

В итоге сейчас состояние дел такое.

Авиабаза умеет показывать страницы прямо из простого каталога, из текстовых файлов.

Например, страница БРЭО Су-27.

На сайте есть репозиторий, копия которого доступна в публичном проекте sites-airbase на Bitbucket (система контроля версий — Mercurial). Скажем, файл, показывающий пример страницы выше доступен тут. Со всей историей изменений. Можно даже посмотреть кто и когда какие строки менял.

Сайт худо-бедно может дёргать данные с внешнего репозитория (по cron, периодически, вообще не проблема, но есть желание сделать его вообще почти мгновенным, как в Dropbox, это реально, но нужно поработать).

В принципе, этого уже достаточно, чтобы начать коллективную работу над сайтом.

Что требуется от энтузиастов?
— Установить у себя Mercurial. Для линуксоидов это вообще не вопрос, для пользователей Windows рекомендую решения, типа TortoiseHG. Сам с ним не работал, но знаю, что под Windows это неплохой выбор. Если будет непонятно, куда копать и что с ним делать при желании поработать на сайтом, обсудим это позже.
— Скачать тестовую копию репозитория
— Делать в нём свои правки и отправлять их в репозиторий

После этого изменения окажутся на сайте.

В принципе, со временем можно, наверное, придумать даже работу через сайт/браузер, привычным видом. Много ещё нужно доработать в плане автоматизации. Ну и, понятно, нужно перетаскивать ещё старые страницы из БД в файлы. В репозитории пока пусто. Но делать всё это имеет смысл, только если будут желающие работать с сайтом. Ибо для работы в одиночку мне и имеющейся системы достаточно.

Что в плюсах:
— Работа со страницами локально, на своей машине, вне зависимости от падений браузеров и состояния коннекта.
— Вся информация будет лежать не только на Авиабазе, но и на множестве других машин, что очень повышает её живучесть. Вообще, люблю я за это распределённые системы контроля версий. Даже сейчас, на этапе тестирования, эти заготовки лежат уже в четырёх репозиториях на трёх компьютерах.
— Информация доступна всем желающим, не только через сайт. Для кого-то это минус, будут бояться утечки исходных данных в удобном виде, но на самом деле это, как показывает весь мой опыт последнего десятка лет, несомненный плюс. Для некоммерческих проектов открытие исходников сильно повышает их живучесть и активность.
— Можно легко обмениваться сырыми данными, закидывая их на дальнейшую обработку прямо в репозиторий, с тем, чтобы потом или кто-то другой занялся причёсыванием, или ты сам из другого места.
— Если весь сайт (или значительная его часть) будет переведёт в такую форму, то станет возможным изготовить десктопный софт для работы с локальной копией Авиабазы. Когда-то о таком многие просили. Но раньше это было сложно.

Что в минусах:
— Более высокий порог вхождения. Нужно разобраться не только с браузером, но и как получать/отправлять изменения. Тут, к сожалению, помочь ничем, кроме детальных инструкций нельзя. Но задача, на самом деле, не сложная.
— Отсутствие мгновенного контроля за результатом. После отсылки изменений на сайте они появятся через какое-то время. Сейчас — через минуты. Если получится довести до ума систему мгновенных изменений — то через секунды. Но это плохо подходит для быстрого цикла изменил/сохранил/посмотрел. Впрочем, если уровень автора будет чуть выше, то можно попробовать сделать локальный вариант сайта, чтобы смотреть изменения через браузер прямо на своём компьютере. Работать с упрощённой версией Авиабазы на локальном сервере. Что-то типа того же Денвера.
— Для кого-то, как писал выше, будет минусом открытость информации. Увы, она будет у меня открытой в любом варианте, даже если буду делать всё один :)
— Есть небольшой минус ещё в вопросе нарушения чужих авторских прав. Система контроля версий хранит все версии, в том числе удалённые файлы. И если кто-то потребует удалить фото, нарушающее его права, то с сайта убрать его легко, а вот из репозиториев — потребует серьёзного вмешательства (очевидно, моего :))

Ну что, есть желающие поколупаться?
 
+
-
edit
 

Balancer

администратор
★★★★☆

Кстати, не уточнил, но, как бы, подразумевается, что в разработке ожидается не только авиационная часть Авиабазы, но и всё, касающееся тематики форумов. Да и не только. В первую очередь ожидаются общевоенная тематика, морская, космическая…

Можно всё делать в рамках одного репозитория, перенеся Авиабазу в подкаталог, можно завести разные репозитории.
 

Vale

Сальсолёт

Balancer, ИМХО, оно того не стоит. Если нужно что-то такое делать, c 2004 г появилась Википедия. Если ты хочешь чтобы людям это было интересно, нужно, чтобы результат труда оказывался в конце концов в ней. Без усилий или с минимальными усилиями. Делать что-то в формате, с ней несовместимом - ИМХО, нет смысла.

В саму википедию прямо писать могут захотеть не все. К тому же там свои тараканы .. и редакторы.
К тому же

Википедия — не место для первичной публикации чьих бы то ни было собственных идей, теорий, исследований, изобретений, личных мнений, оценок чего бы то ни было, искусствоведческой критики и т. п.
 


А здесь этого ограничения может и не быть
"Не следуй за большинством на зло, и не решай тяжбы, отступая по большинству от правды" (Исх. 23:2)  16.016.0
Это сообщение редактировалось 01.11.2012 в 03:02

Balancer

администратор
★★★★☆

Vale> Если нужно что-то такое делать, c 2004 г появилась Википедия.

Абсолютно не то. Ни технически, ни структурно, ни идеологически :)

Vale> Если ты хочешь чтобы людям это было интересно, нужно, чтобы результат труда оказывался в конце концов в ней

Больше ни в жизнь ногой. Это не считая того, что там создавать нормальные материалы на порядок дольше и труднее.

Vale> А здесь этого ограничения может и не быть

Во-первых, сайт и не ориентируется на это. Во-вторых, а почему, собственно, и нет? Пусть делают хоть такое, если захотят. В своей песочнице :)

Wikipedia хоть проект и огромный, но очень нишевый. И ограниченный.



Я даже более того скажу, я, как раз, хотел бы, чтобы Авиабаза была местом первичной публикации.
 
+
-
edit
 

varban

администратор
★★★
Угу. Я в вики потому и не пишу :)
 
+
-
edit
 

Balancer

администратор
★★★★☆

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

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

Balancer

администратор
★★★★☆

Вопрос доступа к репозиторию, кажется, решается совсем просто и без всяких DVCS.

Есть открытый аналог DropBox'а, называется SparkleShare. Настроил его сейчас для работы с репозиторием Авиабазы. Так что можно будет совсем просто редактировать файлы в своём каталоге у себя и изменения через минуту-другую окажутся на сайте.

А для офлайновой отладки/работы, полагаю, можно будет сделать portable-версию сервера на голом PHP 5.4, там, как раз, web-сервер встроили. Т.е. выглядеть будет так: скачиваем архив, распаковываем, запускаем — и можно смотреть локальную копию сайта.

Всё получается очень просто. Разве что локально повозиться с историей изменений и т.п. так просто не получится. Если кому-то потребуется, придётся обращаться к более специфичным инструментам.
 
+
-
edit
 

Balancer

администратор
★★★★☆

На счёт офлайн-разработки, похоже, всё решается ещё проще.

Начал использовать Zim Wiki. Достаточно удобно, вроде бы, для офлайновой отладки. Результат уходит по SparkeShare на GitHub и оттуда дёргается нотификация сайту, что страница обновилась.

Получается в разработке что-то типа такого:
Прикреплённые файлы:
Airbase - Zim_142.png (скачать) [112,99 кбайт, 9 загрузок] [attach=345041]
 
 
 23.023.0
+
+1
-
edit
 

Balancer

администратор
★★★★☆

Процесс отладки подходит к концу. Пример страницы, созданной через Zim-wiki:

Harbin Z-19

@ударные_вертолёты @Harbin_Z-19 @HAIC @КНР Второй, после CAIC WZ-10, бронированный ударный вертолёт КНР с тандемной схемой размещения экипажа. Разработан китайской компанией HAIC (Harbin Aircraft Industrial Corporation) на основе Harbin Z-9. Z-19 является специализированным ударным вертолетом на основе Harbin Z-9, но отличается от исходной версии тандемной кабиной. Силовая установка, роторная система и хвостовая часть Z-9WA сохранены. Вертолёт оснащен 2 турбовальными двигателями, применены меры по снижению ИК заметности. // Дальше — www.airbase.ru
 

Как она выглядит в редакторе — в аттаче.

Исходный код же лежит на https://github.com/Balancer/zim-airbase/tree/.../webroot/vehicles/z (но это для простого редактора будет скрыто).

Осталось сделать нормальные кеширование/индексацию для поиска, работы с ключевыми словами и т.п. Ну и некоторые мелочи с разметкой.
Прикреплённые файлы:
zim-webroot.png (скачать) [222,96 кбайт, 7 загрузок] [attach=369761]
 
 
 26.026.0
+
-
edit
 

Balancer

администратор
★★★★☆

Демонстрация фотогалереи:

Boeing Insitu RQ-21 Blackjack

Created Friday 31 January 2014 @RQ-21A @БПЛА @США @Insitu @Boeing • Длина: 2.4 м • Размах крыла: 4.8 м • Масса: 34 кг • Максимальный взлётный вес: 61 кг • Масса полезной нагрузки: 10 кг • Максимальная скорость: 167 км/ч • Крейсерская скорость: 101 км/ч • Потолок: около 6000 м (19500 футов). • Время полёта: до 24 часов. • Дальность действия: около 1000 км Беспилотник RQ-21A, также известный как Integrator, в ходе заводских испытаний был впервые запущен с палубы корабля 10 февраля 2013 года. Испытания проводились в Мексиканском заливе на палубе десантного корабля-дока «Меса-Верде». // Дальше — www.airbase.ru
 

Пока без оформления и эффектов.

В редакторе фотки просто кидаются в кучу аттачей.

Правда, лезет концептуальная проблема. Лёгкость переименования фоток затрудняет их использование на других ресурсах. Пару раз кликнул — и фото по старом адресу будет недоступно. Можно жёстко оговорить в правилах не делать это без надобности, но как-то всё равно некрасиво :)

Есть ещё вариант — пытаться отслеживать переименовывания и хранить старые имена в БД, чтобы потом с них на новые переадресацию делать. Но это надо возиться.
 32.0.1700.10232.0.1700.102
+
-
edit
 

Balancer

администратор
★★★★☆

Разработка статического контента Авиабаза целиком перенесена в GitHub. Основной репозиторий —

Balancer/airbase-static

airbase-static - Static sources for Airbase.ru // github.com
 

Задачи по пополнению сайта решаются через штатные issues: Issues · Balancer/airbase-static · GitHub
 33

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru