Персональный сайт
Романа Парпалака

Заметки
 
Блог
 
Программы
 
Фото
ГлавнаяБлогКлючевые слова → S2

S2

S2 — это быстрый бесплатный движок сайта, написанный на PHP и выпущенный под лицензией GNU GPL.

Поиск

11 февраля 2010 года, 15:30

Написал в блог разработки S2 всё, что я думаю о поиске на сайтах.

А еще я сделал автоматический экспорт свн-лога S2 в твиттер. Не знаю, правда, кому это нужно. Просто прикольно. Да и пришлось всего лишь две строчки добавить.

Ключевые слова: S2Оставить комментарий

Первый релиз S2

2 февраля 2010 года, 17:17

Я доделал сайт движка S2 и сделал самый первый релиз — выпустил альфа-версию. В общем, встречайте «убийцу Вордпресса»!

Да, и если можете — попиарьте его, пожалуйста :)

Ключевые слова: S2Комментарии (1)

Демо-сайт движка S2

9 января 2010 года, 18:56

Установил последнюю ревизию S2 на демонстрационный сайт (спасибо рефератам Яндекса). Можно протестировать админку (логин admin и пароль admin). Любые изменения демонстрационного сайта откатываются каждый час, так что не стесняйтесь в своих желаниях :)

Кстати, на дефолтный стиль оформления потратил целый день, и теперь он мне очень нравится.

Пора делать сайт движка и самый первый альфа-релиз.

Ключевые слова: S2Оставить комментарий

Базы данных

4 января 2010 года, 23:45

Сейчас S2 поддерживает две базы данных: MySQL и PostgreSQL (правда, поддержку последней нужно тестировать). Из-за активного использования подзапросов работа с SQLite 2 невозможна. А про SQLite 3 в PHP я ничего не знаю. Поэтому думаю вообще забить на SQLite.

Вопрос: сильно ли нужна движку сайта поддержка SQLite?

Ключевые слова: S2Оставить комментарий

S2

3 декабря 2009 года, 19:41

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

Похоже, лучшие времена наступили. Я решил доработать и опубликовать движок. Вообще, характеристики у него и раньше были неплохие, а интерфейс администратора — просто отличный. На этот раз основное внимание я уделил настраиваемости и расширяемости, стилям, языковым пакетам и шаблонам. В общем, всему тому, без чего written.ru спокойно обходился, но без чего нельзя представить себе «настоящую» CMS. В результате в движке поменялось многое.

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

Во-вторых, как этого требует лицензия PunBB, движок будет выпущен под лицензией GPL. Как-либо «монетизировать» это дело я пока не собираюсь. Вообще я уверен, что косвенная выгода от публикации кода движка будет больше возможных доходов от продаж.

В-третьих, такие изменения не могли не затронуть название. Старое рабочее название движка, «SiteX», неудовлетворительно по нескольким причинам:

  • оно не вполне уникально;
  • интересные домены, содержащие sitex, оказались занятыми;
  • название можно прочитать несколькими способами (я подразумевал «сайтекс», а некоторые произносили «сайт икс»).

Я решил изменить название на «S2». Новое название лишено прежних недостатков и обладает рядом достоинств:

  • это намек на SiteX второй версии;
  • его можно прочитать единственным способом, «эс два»;
  • такое название похоже на названия движков b2, e2, R2;
  • домены s2cms.ru и даже s2cms.com оказались свободными;
  • символы S и 2, расположенные рядом, образуют неповторимую форму, такую, что долго думать над логотипом не приходится.

По сравнению с SiteX пользовательский интерфейс существенно не изменился. Изменилась (точнее, появилась) идеология: S2 — это относительно небольшой и быстрый, но легко расширяемый движок сайта.

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

Ключевые слова: S2Комментарии (2)

Опять про SiteX

6 января 2009 года, 20:44

SiteX назвали конкурентом движка блогов с названием «Явь» (правда, что он собой представляет и каковы условия его использования — неясно). Забавно.

Кстати, я всё еще не передумал сделать SiteX оупенсорсом. Сейчас SiteX выполняет одну из первых задач — быть движком для written.ru, причем выполняет ее, как нетрудно заметить, вполне успешно. У меня были и другие идеи, реализация которых сделает SiteX более-менее универсальным движком. Например, можно сделать регистрацию пользователей и обеспечить возможность работать над одним проектом нескольким авторам, прикрутить OpenID, переделать внутреннее устройство (сделать систему расширений и вынести часть функций в расширения). Сейчас у меня на всё это времени нет, и вряд ли оно появится в обозримом будущем.

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

Мысли и вопросы по поводу вышеизложенного приветствуются.

Ключевые слова: S2Комментарии (2)

SiteX

28 ноября 2008 года, 0:01

Может сделать SiteX оупенсорсом? Кто-нибудь хочет присоединиться к разработке?

Ключевые слова: S2Оставить комментарий

SiteX

9 декабря 2007 года, 22:43

Несколько недель назад я закончил работу над движком сайта SiteX, на котором сейчас работает written.ru. Текущая версия — 0.91. Для тех, кто хочет узнать, что такое SiteX и с чем его едят, я написал небольшой обзор движка.

Комментарии можно оставлять здесь.

Ключевые слова: S2Оставить комментарий

У сайта день рождения

20 июля 2007 года, 17:50

Сегодня у сайта written.ru день рождения. Ровно два года назад я закачал на сервер набор HTML-файлов и картинок (именно это и представлял с самого начала сайт). Потом был PHP, выбор хостинга, домен, новый дизайн, движок блога.

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

Как это обычно случается, я реализовал не всё, что хотел. Иначе чем бы я занимался дальше? ;)

Подробно анализировать события, произошедшие с сайтом за прошедший год, я не буду.

Я неоднократно имел возможность убедиться в том, что самое главное — это сделать первый шаг. Написать материалы, нарисовать какое-нибудь оформление. Конечно, шаг получится неуклюжим. Но все когда-то с чего-то начинали. А со временем приходят умение и опыт.

Я знаю, что сделал правильно, когда позапрошлым летом решил создать сайт и довел задуманное до конца.

См. также:
Сайту пять лет
written.ru четыре года
С трехлетием, written.ru!
Сайту written.ru — год

Ключевые слова: written.ru, S2Комментарии (1)

По мотивам нового движка блога

13 марта 2007 года, 14:08

PHP меня радует такими вещами (хотя заслуги PHP в этом особой нет, это типичный синтаксис C):

while ($row = mysql_fetch_row($result)) $tag_ord[$a[] = $row[0]] = ++$i;

А вот MySQL порадовал меня следующим:

SELECT recs.c_time, title, recs.text, recs.url, commented, count(if(comms.id = recs.id, 1, NULL)) FROM recs, rectags, comms WHERE recs.id = rectags.record_id AND tag_id = 5 AND published = 1 GROUP BY recs.id ORDER BY recs.c_time DESC Добавлено 13.12.2007: А сейчас MySQL радует меня возможностью написать такой запрос: SELECT s.id, b.title, b.c_time, b.url, FROM ( SELECT rec.id, label FROM ( SELECT record_id FROM rectags WHERE tag_id = 4 ) tt, recs WHERE recs.id = tt.record_id AND recs.label <> '' ) s, recs b WHERE s.label = b.label AND b.id <> s.id ORDER BY 3 DESC
Ключевые слова: S2Оставить комментарий

Новый движок блога

10 марта 2007 года, 15:59

Больше месяца прошло с тех пор, как я размышлял о том, что мне не хватает в блоге как в системе для хранения и доступа к информации. Я написал новый движок, на котором сейчас блог и работает. Я реализовал не все возможности, которые хотел. Передо мной стояла дилемма: отложить разработку на неопределенный срок в связи с нехваткой времени, либо доделать до завершенного вида, но без части функций. Поскольку функциональность предыдущего варианта была достигнута и превзойдена, я остановился на втором варианте. Итак, перечислю основные особенности нового движка:

  1. Для хранения информации используется MySQL (раньше были текстовые файлы).
  2. Линейная навигация, использовавшая «страницы» по 20 записей, заменена на календарь (как в R2 или в Interra).
  3. Списки последних записей и комментариев.
  4. ЧПУ — человекопонятные Url.
  5. Кеширование на стороне сервера и настройка правильного кеширования в браузере.
  6. Через RSS экспортируются только те записи, которые появились после предыдущего обращения клиента к RSS (Идея взята отсюда).
  7. Можно подписаться на комментарии к определенной записи.
  8. Я попробовал сделать защиту от спама в комментариях. Если метод окажется хорошим, я потом напишу о нем.
  9. У ключевых слов может быть описание (например, как у слова кино). Это позволит в определенной степени реализовать идею «knowledge base» (загляните в размышления).
  10. Автоматическая типографика.
  11. Административный интерфейс.

Последний пункт — самый важный. Собственно, из-за него я всё и затеял. Основная его часть — это редактор записей. Он был и раньше. Следует отметить, что я добился кое-какой работы редактора в Firefox, а также добавил загрузку картинок и файлов вообще, автоматическую вставку тега для загруженной картинки, список записей с сортировкой, редактирование, добавление и удаление ключевых слов. И всё это расположено на вкладках. В общем, получилось весьма удобно и функционально. Никаких кнопок для переиндексации, устаревшие файлы из кеша удаляются автоматически, и генерятся заново по мере обращений к страницам.

Что еще в планах?
  1. Поиск. (сделано)
  2. Простейшая разметка в комментариях, цитирование. (сделано)
  3. Связывание записей в группы и автоматическая расстановка ссылок «см. также» (некий аналог ключевых слов, только без явного их выделения). (сделано)
  4. Возможно, RSS отдельно для ключевых слов, комментариев и т. д.

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

Ключевые слова: S2Оставить комментарий

Опять об авторских проектах и блогах

20 января 2007 года, 16:58

Первоначально я задумывал written.ru как авторский проект, на котором будут истории и размышления. Тогда всё выглядело как набор файлов html, редактируемых во FrontPage. Достаточно быстро я сообразил, что это не есть хорошо. Через полгода статьи перекочевали в отдельные почти текстовые файлы, дизайн ушел в шаблоны, и всем этим управляет PHP-скрипт. Одновременно я пришел к тому, что для разнообразия и оживления на сайте неплохо бы сделать «ежедневные заметки» — блог. Еще через полгода я сделал нынешний дизайн, изменил структуру (распределение материалов по рубрикам).

Прошло еще полгода. К этому времени стало ясно, что трудно провести границу между блогом и остальной частью сайта в том плане, что не всегда однозначно можно сказать, где следует расположить тот или иной материал. Кроме того, записей в блоге накопилось достаточно много, и он начинает «перевешивать» на сайте. Иногда у меня появляются мысли перенести все статьи в блог и оставить только его (особенно после того, как я в блоге сделал систему редактирования). Независимо от этих соображений (а может и зависимо) у меня назрело желание переписать движок для сайта с использованием MySQL. С нуля. Ну или почти с нуля. С нормальной системой редактирования. Фактически, CMS, но узкоспециализированную.

Возможные решения:

1. Изменить модель хранения и доступа к информации. Сейчас это отдельно статьи на сайте и записи в блоге. Предлагается для рассмотрения вариант knowledge base. Зачем это надо? Такая система хранения записей в отличие от уже надоевших блогов не распространена. Можно постараться и сделать CMS доступной для распространения. Нужно продумать, как те материалы (в том числе из блога), что есть сейчас, впишутся в рамки knowledge base.

2. Оставить всё, как есть. Наиболее простое решение. Правда, придется писать два отдельных движка для блога и для сайта, что не является оригинальным, поскольку уже проделывалось очень много раз.

Добавлено: Материалы на сайте в разделе «Заметки» и записи здесь, в блоге, совершенно различны «по духу». Нет смысла размещать статьи в блоге. Они представляют самостоятельную ценность. Им больше подходит роль структурной единицы на сайте. Записи в блоге в большинстве своем короткие. Они описывают что-либо достаточно полно только вместе с другими заметками по той же теме.

Структура сайта (распределение статей по разделам) сейчас достаточно наглядна, трудностей у пользователей не возникает. Они также знакомы с блогами. А «knowledge base» может вызвать у новых посетителей затруднения.

Один из вариантов — сделать «блогообразный knowledge base». К некоторым (или всем) ключевым словам можно сделать описание, которое и будет «основным темообразующим документом» в случае необходимости, затем можно разместить ссылки на статьи или даже разделы, имеющие те же ключевые слова, а после выводить записи.

Еще добавлено:

…контент, который востребован и не теряет актуальности со временем (или теряет, но не так быстро, как, например, новости)…

Не совсем понятно, что делать с контентом, который устаревает достаточно быстро (а у меня он есть). В результате размышлений я пришел к выводу, что существующая форма, в которой воплощено содержимое, адекватнее «knowledge base». Придется делать по сути два отдельных движка, хоть и тесно интегрированных. В блоге сделаю возможность давать описание ключевым словам. А также нужно подумать о реализации более тесной связи между блогом и статьями через ключевые слова.

Ключевые слова: written.ru, S2Оставить комментарий

Трансляция блога в ЖЖ

18 ноября 2006 года, 0:29

Продолжаю дорабатывать систему редактирования записей в блоге. На этот раз прикрутил возможность экспорта записей в ЖЖ, как хотел ранее. Трансляция блога доступна по адресу parpalak.livejournal.com.

За основу взяты имеющиеся наработки. Правда, всё это иногда отказывается работать. Разбираюсь, почему.

Ключевые слова: S2Оставить комментарий

Простейший редактор на javascript

14 ноября 2006 года, 13:49

На выходных сделал простейший редактор записей в этом блоге на javascript. За основу взята эта разработка. Вот работающий вариант (не мой, а оригинальный).

Получилось весьма удобно. До сих пор приходилось все теги вручную прописывать (ну, или почти вручную :) ). Непонятно, почему я раньше не сделал нечто подобное.

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

Добавлено: Это дело правильно работает только в Опере. В IE работает немного не так, как хотелось. А Firefox совсем капризничает. Буду выяснять, в чем дело.

Еще добавлено: Firefox капризничает, потому что не понимает document.selection.createRange(). Ну и пусть не понимает, всё равно я Оперой пользуюсь. Тем, кто хочет во всём этом разбираться, можно посоветовать статью о WYSIWYG-редакторе.

Ключевые слова: S2Комментарии (2)
«Июль, 2010»
ПнВтСрЧтПтСбВс
1234
567891011
12131415161718
19202122232425
262728293031
Записи:
Посетителям
наверх