YaBB — бесплатный движок форума на Perl, первая версия которого вышла в самом конце XX века, 4 июля 2000 года. Да-да, XXI век, вопреки распространенному заблуждению, начался лишь с 1 января 2001 года.
На машине времени мы перенесемся в 2000 год и посмотрим, как все начиналось.
> Демо-версия самого первого YaBB (логин: admin, пароль: admin).
Некий Zef Hemel в начале 2000 года хотел создать свой форум и искал подходящий движок. Лучшим из того, что он нашел, были платные UBB (Ultimate Bulletin Board) за $200 и vBulletin, а также бесплатные UltraBoard 1.62 и PowerBoard. Однако эти форумы табличные, а Zef хотел древовидный в стиле «Usenet» с блекджеком и смайликами.
В итоге Zef Hemel выбрал бесплатный UltraBoard и некоторое время его использовал. Однако со временем ему стало не хватать его возможностей, но он не смог найти форум с необходимым ему функционалом. Zef принимает решение создать свой движок форума.
Поскольку Zef Hemel изначально хотел иметь древовидный форум, он начал модифицировать уже существующий движок RobBoard. Работая над форумом, к нему пришло прозрение: древовидные форумы теряют популярность и морально устарели, поскольку нажимать на каждое сообщение, чтобы прочитать его — это очень неудобно. Таким образом, он отказался от идеи создать древовидный форум и переписал его в табличный, каким он и остается до сих пор.
Изначально он хотел сделать движок платным, но затем изменил свою позицию. Он решил сделать бесплатный форум с открытым исходным кодом для таких же бедных вебмастеров, как он сам. Первая версия форумного движка была выпущена 4 июля 2000 года, в День независимости США. Свой движок он назвал YaBB — Yet another Bulletin Board. В переводе с английского это означает «Еще одна Доска Объявлений».
Вскоре к проекту присоединились еще несколько программистов: Andy Tomaka (специалист по UBB), Remake (специалист по UltraBoard), Matt Mecham (создатель Ikonboard, позже стал руководителем Invision Power Services). Zef опубликовал свой скрипт в различных каталогах CGI-программ, в том числе в CGI-Resource Index.
Новый движок набирал популярность, его начали использовать сайты с высокой посещаемостью. Форум постоянно модернизировался, за несколько лет был выпущен целый ряд новых версий — YaBB 1 Final, YaBB 1 Gold и т.д. Zef Hemel со временем покинул проект, его эстафету приняли новые энтузиасты. Было выпущено огромное количество разнообразных модификаций, собранных на сайте BoardMod.
Последним из линейки стал YaBB 1 Gold — SP 1.4, выпущенный 25 ноября 2004 года.
На смену пришел YaBB 2. Первая публичная версия в статусе Release Candidate вышла 27 декабря 2004 года. Его основные нововведения — возможность прикреплять файлы к сообщениям и создавать опросы.
Последняя версия из этой ветки, 2.6.11, была выпущена 17 декабря 2014 года. Ведется разработка YaBB 3.
На основе YaBB был создан аналогичный движок на PHP, использующий СУБД MySQL, получивший название YaBB SE. В свою очередь, он стал основой популярного ныне движка SMF (Simple Machines Forum).
Итак, устанавливаем самую первую версию YaBB. Стоит уточнить, что нижеприведенная инструкция справедлива для серверов, работающих на базе операционных систем типа Linux и FreeBSD.
Инсталлятор отсутствует, поэтому установка производится простым копированием файлов в папку cgi-bin (в текстовом режиме) и в папку для HTML-файлов (в бинарном режиме). Для файлов YaBB.pl, Printpage.pl, Search.pl, Reminder.pl устанавливаются соответствующие права доступа, позволяющие их выполнение (обычно 755). Учетная запись администратора уже создана (логин: admin, пароль: admin).
Движок форума достаточно простой: можно создавать темы и писать ответы, получать уведомления, осуществлять поиск по форуму, редактировать профиль, высылать забытый пароль по электронной почте. Имеется система личных сообщений.
Интересная особенность: сведения о прочтении разделов и тем записываются не в cookies (как на большинстве форумов), а в текстовые файлы на сервере. Такая система работает более стабильно. Также она удобна, когда доступ к форуму осуществляется с нескольких компьютеров (например, с домашнего и рабочего). Недостатком является тот факт, что данная функция работает только у зарегистрированных пользователей, тогда как система, работающая через cookies, доступна и гостям.
При написании сообщений можно использовать смайлы и теги BBCode, список которых указан в небольшой справке к форуму. В самом окне создания сообщения кнопки вставки смайликов и тегов отсутствуют, поэтому их придется вводить вручную.
Функции модерирования достаточно просты: сообщение можно отредактировать или удалить. Тему можно переместить в другой раздел форума, закрыть или удалить.
Пользователь может отредактировать свой профиль. Как и в любом другом движке форума, можно изменить свой пароль, адрес электронной почты, указать название и адрес своего сайта (если таковой имеется), номер ICQ и подпись.
Интересная особенностью YaBB, которая сейчас редко встречается на форумах — возможность любому пользователю самостоятельно удалить свою учетную запись. При редактировании профиля нужно быть особенно аккуратным, чтобы случайно вместо «Change profile» не нажать «Delete user», поскольку никаких предупреждений больше не будет!
Администратор помимо этого может также редактировать счетчик сообщений и назначить пользователя в группу. Это может быть как стандартная группа «YaBB Administrator», так и специально созданная.
Возможность создания групп существует для реализации приватных категорий форума, доступ к которым будут иметь только указанные группы пользователей.
Панель администрирования форума достаточно простая. Тем не менее, она позволяет выполнять все основные задачи:
Форум написан на Perl. Все данные он хранит не в СУБД, а в текстовых файлах. Для того времени (конец 1990-х — начало 2000-х гг.) это было типичным явлением — большинство движков (UBB, UltraBoard и т.д.) работало именно по такой технологии.
Данные форум YaBB хранит в 4-х папках:
Форум YaBB никогда не являлся лидером по функциональности. Он изначально уступал такому коммерческому проекту, как UBB. Но среди бесплатных форумов (UltraBoard, Ikonboard) он выглядел весьма неплохо. Непрерывная модернизация, большое количество модификаций — все это определило успех движка.
На YaBB работали многие небольшие форумы того времени, а также некоторые крупные. Крупнейшим русскоязычным форумом на YaBB был и остается Absolute Games Forums Central.
Однако начиная со 2-й половины 2000-х гг. YaBB начал терять свои позиции. Среди основных факторов, повлиявших на это, можно назвать распространение бесплатных движков, работающих на PHP и MySQL, а также хостингов с поддержкой этих технологий. Многие владельцы форумов перешли с YaBB на другие движки (как правило, на SMF).
Тем не менее, в отличие от других аналогичных движков (UBB, Ikonboard, UltraBoard и т.д.), YaBB не прекратил разработку, а продолжил выпускать новые версии, которые также написаны на Perl и хранят данные в текстовых файлах, но при этом по функциональности не уступают популярным бесплатным форумам на PHP и MySQL.
На машине времени мы перенесемся в 2000 год и посмотрим, как все начиналось.
> Демо-версия самого первого YaBB (логин: admin, пароль: admin).
Немного истории
Некий Zef Hemel в начале 2000 года хотел создать свой форум и искал подходящий движок. Лучшим из того, что он нашел, были платные UBB (Ultimate Bulletin Board) за $200 и vBulletin, а также бесплатные UltraBoard 1.62 и PowerBoard. Однако эти форумы табличные, а Zef хотел древовидный в стиле «Usenet» с блекджеком и смайликами.
В итоге Zef Hemel выбрал бесплатный UltraBoard и некоторое время его использовал. Однако со временем ему стало не хватать его возможностей, но он не смог найти форум с необходимым ему функционалом. Zef принимает решение создать свой движок форума.
Поскольку Zef Hemel изначально хотел иметь древовидный форум, он начал модифицировать уже существующий движок RobBoard. Работая над форумом, к нему пришло прозрение: древовидные форумы теряют популярность и морально устарели, поскольку нажимать на каждое сообщение, чтобы прочитать его — это очень неудобно. Таким образом, он отказался от идеи создать древовидный форум и переписал его в табличный, каким он и остается до сих пор.
Изначально он хотел сделать движок платным, но затем изменил свою позицию. Он решил сделать бесплатный форум с открытым исходным кодом для таких же бедных вебмастеров, как он сам. Первая версия форумного движка была выпущена 4 июля 2000 года, в День независимости США. Свой движок он назвал YaBB — Yet another Bulletin Board. В переводе с английского это означает «Еще одна Доска Объявлений».
Вскоре к проекту присоединились еще несколько программистов: Andy Tomaka (специалист по UBB), Remake (специалист по UltraBoard), Matt Mecham (создатель Ikonboard, позже стал руководителем Invision Power Services). Zef опубликовал свой скрипт в различных каталогах CGI-программ, в том числе в CGI-Resource Index.
Новый движок набирал популярность, его начали использовать сайты с высокой посещаемостью. Форум постоянно модернизировался, за несколько лет был выпущен целый ряд новых версий — YaBB 1 Final, YaBB 1 Gold и т.д. Zef Hemel со временем покинул проект, его эстафету приняли новые энтузиасты. Было выпущено огромное количество разнообразных модификаций, собранных на сайте BoardMod.
Последним из линейки стал YaBB 1 Gold — SP 1.4, выпущенный 25 ноября 2004 года.
На смену пришел YaBB 2. Первая публичная версия в статусе Release Candidate вышла 27 декабря 2004 года. Его основные нововведения — возможность прикреплять файлы к сообщениям и создавать опросы.
Последняя версия из этой ветки, 2.6.11, была выпущена 17 декабря 2014 года. Ведется разработка YaBB 3.
На основе YaBB был создан аналогичный движок на PHP, использующий СУБД MySQL, получивший название YaBB SE. В свою очередь, он стал основой популярного ныне движка SMF (Simple Machines Forum).
YaBB Original Release
Итак, устанавливаем самую первую версию YaBB. Стоит уточнить, что нижеприведенная инструкция справедлива для серверов, работающих на базе операционных систем типа Linux и FreeBSD.
Инсталлятор отсутствует, поэтому установка производится простым копированием файлов в папку cgi-bin (в текстовом режиме) и в папку для HTML-файлов (в бинарном режиме). Для файлов YaBB.pl, Printpage.pl, Search.pl, Reminder.pl устанавливаются соответствующие права доступа, позволяющие их выполнение (обычно 755). Учетная запись администратора уже создана (логин: admin, пароль: admin).
Движок форума достаточно простой: можно создавать темы и писать ответы, получать уведомления, осуществлять поиск по форуму, редактировать профиль, высылать забытый пароль по электронной почте. Имеется система личных сообщений.
Интересная особенность: сведения о прочтении разделов и тем записываются не в cookies (как на большинстве форумов), а в текстовые файлы на сервере. Такая система работает более стабильно. Также она удобна, когда доступ к форуму осуществляется с нескольких компьютеров (например, с домашнего и рабочего). Недостатком является тот факт, что данная функция работает только у зарегистрированных пользователей, тогда как система, работающая через cookies, доступна и гостям.
При написании сообщений можно использовать смайлы и теги BBCode, список которых указан в небольшой справке к форуму. В самом окне создания сообщения кнопки вставки смайликов и тегов отсутствуют, поэтому их придется вводить вручную.
Функции модерирования достаточно просты: сообщение можно отредактировать или удалить. Тему можно переместить в другой раздел форума, закрыть или удалить.
Пользователь может отредактировать свой профиль. Как и в любом другом движке форума, можно изменить свой пароль, адрес электронной почты, указать название и адрес своего сайта (если таковой имеется), номер ICQ и подпись.
Интересная особенностью YaBB, которая сейчас редко встречается на форумах — возможность любому пользователю самостоятельно удалить свою учетную запись. При редактировании профиля нужно быть особенно аккуратным, чтобы случайно вместо «Change profile» не нажать «Delete user», поскольку никаких предупреждений больше не будет!
Администратор помимо этого может также редактировать счетчик сообщений и назначить пользователя в группу. Это может быть как стандартная группа «YaBB Administrator», так и специально созданная.
Возможность создания групп существует для реализации приватных категорий форума, доступ к которым будут иметь только указанные группы пользователей.
Панель администрирования форума достаточно простая. Тем не менее, она позволяет выполнять все основные задачи:
- создавать, удалять и сортировать категории и разделы;
- выводить список пользователей, а также список их адресов электронной почты;
- редактировать новости, группы пользователей и список нецензурных слов;
- удалять все сообщения старше указанного количества дней (по умолчанию 30).
Технические особенности
Форум написан на Perl. Все данные он хранит не в СУБД, а в текстовых файлах. Для того времени (конец 1990-х — начало 2000-х гг.) это было типичным явлением — большинство движков (UBB, UltraBoard и т.д.) работало именно по такой технологии.
Данные форум YaBB хранит в 4-х папках:
- Boards — информация о категориях (*.cat) и разделах (*.dat), списки тем в разделах (*.txt);
- Members — профили пользователей (*.dat), информация о посещенных ими разделах и темах (*.log), входящие личные сообщения (исходящие не сохраняются) (*.msg);
- Messages — файлы тем с сообщениями (*.txt), сведения о подписке на уведомления о новых сообщениях в теме (*.mail);
- Variables — список категорий (cat.txt), групп пользователей (membergroups.txt), нецензурных слов (censor.txt), новостей (news.txt), список пользователей и гостей онлайн (log.txt), количество дней по умолчанию, старше которых сообщения будут удалены из административной панели (oldestmes.txt), счетчик идентификаторов тем (number.txt).
Заключение
Форум YaBB никогда не являлся лидером по функциональности. Он изначально уступал такому коммерческому проекту, как UBB. Но среди бесплатных форумов (UltraBoard, Ikonboard) он выглядел весьма неплохо. Непрерывная модернизация, большое количество модификаций — все это определило успех движка.
На YaBB работали многие небольшие форумы того времени, а также некоторые крупные. Крупнейшим русскоязычным форумом на YaBB был и остается Absolute Games Forums Central.
Однако начиная со 2-й половины 2000-х гг. YaBB начал терять свои позиции. Среди основных факторов, повлиявших на это, можно назвать распространение бесплатных движков, работающих на PHP и MySQL, а также хостингов с поддержкой этих технологий. Многие владельцы форумов перешли с YaBB на другие движки (как правило, на SMF).
Тем не менее, в отличие от других аналогичных движков (UBB, Ikonboard, UltraBoard и т.д.), YaBB не прекратил разработку, а продолжил выпускать новые версии, которые также написаны на Perl и хранят данные в текстовых файлах, но при этом по функциональности не уступают популярным бесплатным форумам на PHP и MySQL.
Поделиться с друзьями
DrBAXA
Каким ето образом 2000 год до XX века причислили? Или у Вас и 10.5 в первую десятку входит?
codemax
Двухтысячный год. Прошло 1999 полных лет, двухтысячный еще в процессе, т.е. 2000 полных еще не прошло, XX век еще не завершился. XXI век начинается с 1 января 2001.
DrBAXA
хм… Спасибо :) Даже никогда над етим не думал. Сначала хотел ответить Вам о 0 году, на начитал что такого не существует.
codemax
Это всё айтишная профдеформация — я иногда и сам по привычке пытаюсь найти нечто «нулевое» там, где этого и быть не должно :)
iShatokhin
Есть два календаря — Григорианский, по нему действительно наша эра началась с 1 года, а есть астрономический календарь (ISO 8601), который начинается с 0 года.
The ISO 8601, employed in a number of contexts, uses the astronomical calendar, in which year counting starts at 0. Thus, when using this calendar, the millennium starts at x000 and ends at x999. There was a popular debate leading up to the celebrations of the year 2000 as to whether the beginning of that year should be understood (and celebrated) as the beginning of a new millennium. Historically, there has been debate around the turn of previous decades, centuries, and millennia.
Conung_ViC
самая доходчивая аналогия — что второй ящик водки начинается с 21-й бутылки, а не с 20-й =)))
лично я так запомнил =)
d-stream
В те времена гулял хороший пример с бутылками — когда заканчивается один ящик и начинается следующий -)
noneim
Когда Иисусу исполнилось 1 год, прошло 1 год от рождества Христова, наступил 2-й год.
Andrey_Volk
Што, бл*ть…
ivkomn
По сути-то правильно про мифологического персонажа с именем Иисус.
------------------1-2-3-4-5-6-7-8-9-10 -- прошло 10 лет с точки отсчета
-----------------|-|-|-|-|-|-|-|-|-|-|--|--|--|-|-|-|-|------------
начало координат 0-1-2-3-4-5-6-7-8-9-10-11-12 номер года
Т.е. если мифологический персонаж, который на Никейском соборе в 325 году от его рождения признал первого Б-гом(тоже мифологическое событие, как по мне) родился годовалым ребёнком, то 21 век с 1.1.2001, если как и все а момент рождения ему было 0 лет, то 21 век с 1.1.2000
Ещё проще: это как нумерация индексов в массиве — нормальные люди начинают с 0 и второй десяток открывает 10-ый элемент, а
так верстают только м*#уакиредиски начинают с 1 и первый элемент во втором десятке — 11.rub_ak
lol
Это и правду смешно ))
Pakos
У YaBB были моды, которые добавляли функциональность. AG юзал моды(ту же карму), уши которых торчали ото всюду, хотя главной особенностью AG было хранение по крайней мере профилей в СУБД. Был по крайней мере ещё один сильно замодифицированный форум, но там применялись не стандартные моды, а писалось своё (оно и по эффектам отличалось и от стандарта и от AG) — были моды на карму(не как стандартная), отображение тем, аватарки, аттачи, ответы, профиль и для форумной мафии.
nikitasius
Perl… Значит сие можно запустит прямо из nginx? Занятно!
kloppspb
Убивать…