Новая версия LiveStreet 0.2

Прошло около двух месяцев с момента анонса релиза LiveStreet — бесплатного движка хабра-подобной социальной сети.
Что было сделано за это время?
Во-первых, большая работа над ошибками/багами, к слову, которых, как и в любом свежем продукте, было предостаточно. Но благодаря активному содействию комьюнити, сформировавшегося вокруг LiveStreet, большое число багов было выявлено и жестоко подавлено =)
Во-вторых, существенное улучшение функционала. Если раньше сделать на базе LiveStreet функциональный блого-социальный сервис было проблемно, то теперь с выходом новой версии это вполне возможно. Опять же, большинство улучшений было сформировано активными пользователями движка.

Итак, что нового нас ждет в LiveStreet 0.2:
  • создание топиков-опросов
  • создание топиков-ссылок
  • скрытие плохих комментариев
  • авторизация по емайлу или по логину
  • возможность для админа выводить топик на главную страницу
  • администрирование своих блогов(назначать модераторов и администраторов)
  • переработан механизм хранения стран и городов в профиле, для них заработала автоподстановка
  • система инвайтов
  • уведомления подписчикам блогов о новых топиках
  • управление статическими страницами(«О проекте» и т.п.)
  • добавлен постраничный список всех блогов
  • возможность в настройках отключать оповещения на емайл
  • ограничение по времени на постинг комментариев
  • возможность изменить в КАТе текст «читать дальше» на свой
  • предпросмотр материала
  • RSS ленты
  • оптимизация в сторону SEO
  • возможность в уведомлениях на емайл писать полный текст сообщений/комментариев
  • защита от дублирующих комментариев
  • теперь администратор может редактировать любые топики и блоги
  • удаление комментариев с возможностью восстановления
  • оптимизирована работа прямого эфира комментариев
  • тексты всех уведомлений вынесены в отдельные шаблоны
  • оптимизировано большое число запросов к БД
  • возможность полностью закрыть сайт от незарегистрированных пользователей, либо сделать его открытым, но без регистрации
  • множество мелких изменений

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

P.S. Несколько слов хочется сказать о дизайне. Многих смущает текущий дизайн, буквально копирующий диз Хабра. Повторюсь — это временная мера. Был проведён конкурс на новый дизайн, в котором приняло участие более 20 работ, был выбран победитель. Сейчас идёт процесс проработки дизайна более детально и оформление всех страниц движка. Как оказалось процесс этот не быстрый, скорее даже медленный, и к версии 0.2 просто физически не получилось успеть его сменить.
В связи с этим, хочу бросить клич верстальщикам. Если у вас есть желание помочь проекту с версткой макета и умение делать это качественно — пишите.

Сайт проекта — livestreet.ru
Найти новую версию LiveStreet 0.2 можно на странице загрузки

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

avatar
Мерси.
Сразу вопрос о поводу обновления — там все просто?
Своих правок не н вносилю
Версия 0.12
avatar
там в ридми написано
avatar
Макс поппавь линк на страницу загрузки.

404

К сожалению, такой страницы не существует. Вероятно, она была удалена с сервера, либо ее здесь никогда не было.
avatar
поправил
avatar
да Бог с ним, с новым дизайном, торопиться надо медленно. Макс, ты делаешь главное — разрабатываешь логику и код, дизайном и версткой должны заниматься дизайнеры и верстальщики.
avatar
Опубликовал на Хабре — продвигаем на главную :)
  • ort
  • +3
avatar
откомментил для выхода в прямой эфир)
avatar
Отлично! Долгожданный релиз) Пошел обкатывать)
avatar
Warning: is_dir() [function.is-dir]: open_basedir restriction in effect. File(/) is not within the allowed path(s): (/home/panicarosagothic:.:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/lib:/usr/local/lib:/tmp) in /home/user/www/site.by/live/classes/lib/external/DklabCache/Zend/Cache/Backend/File.php on line 145

Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'cache_dir must be a directory' in /home/user/www/site.by/live/classes/lib/external/DklabCache/Zend/Cache.php:141 Stack trace: #0 /home/user/www/site.by/live/classes/lib/external/DklabCache/Zend/Cache/Backend/File.php(146): Zend_Cache::throwException('cache_dir must ...') #1 /home/user/www/site.by/live/classes/lib/external/DklabCache/Zend/Cache/Backend/File.php(121): Zend_Cache_Backend_File->setCacheDir('/') #2 /home/user/www/site.by/live/classes/modules/sys_cache/Cache.class.php(71): Zend_Cache_Backend_File->__construct(Array) #3 /home/user/www/site.by/live/classes/engine/Engine.class.php(68): Cache->Init() #4 /home/user/www/site.by/live/classes/engine/Router.class.php(95): Engine->InitModules() #5 /home/user/www/site.by/live/index.php(31): Router->Exec() #6 {main} thrown in /home/user/www/site.by/live/classes/lib/external/DklabCache/Zend/Cache.php on line 141

Лыжи не едут или я осел, подскажите кто знает…
  • it_
  • -2
avatar
в конфиге пропиши правильный каталог для временных файлов.
Сколько можно уже задавать один и тот же порос?…
avatar
этот вопрос я задаю впервые это вопервых, во вторых на какой херь это коммунити если нельзя задать вопрос если есть проблемы?
avatar
большинство вопросов уже задано и на них получены ответы, просто нужно поискать. Например, в этом блоге http://livestreet.ru/blog/bugreport/
avatar
спасибо нашел! А по какому принципу выдаются инвайты? чтото не нашел :) У админа неиграничено, у просто юзверя нет… Есть ли функционал, скажем как в bigstreet где можно администратору выдать тому или иному юзверю N инвайтов? и предвидется ли он…
avatar
число инвайтов на неделю зависит от сумму рейтинга и силы
avatar
не все тут матерые разработчики
  • it_
  • -1
avatar
Кстати вопрос, где прописан формат даты… я просто хочу поменять это где там октябрь, ноябрь на цифирки.
avatar
в шаблонах
avatar
Скачал 30 минут назад.
Пробую зарегистироваться (Открываю новое окно IE, перехожу на страницу регистрации и тыкаю сабмит).
Если посмотреть код \classes\lib\external\kcaptcha\index.php и прилагаемый скриншот, то ясно, что сессия не стартует.
avatar
мдя… ссылку на файл поставить было сложно, легче сразу скриншот запостить :)
avatar

в classe/lib/kcaptcha/index.php замени preg_match("/^[\w\d]{32}$/",$value) на preg_match("/^[\w\d]{5,40}$/",$value)
avatar
Мелочь но всё же, в SQL файле написано

— — База данных: `live_test`
— Уже наверное не тест?
avatar
у меня при регистрации нового пользователя постоянно подставляет логин — админ. И соот-во выводит «Ошибка: Этот логин уже занят „
avatar
Это заполнение вашего браузера. Почистите автозаполнение форм и будет вам счастье.
avatar
pavleg не удивляйся — это саморегулируемое общество тут за вопрос убить готовы, вот почему тебя все мега знатоки минусуют, пиши мне в приват помогу чем смогу
avatar

А у меня при регистрации показывает
Notice: Undefined index: captcha_keystring in /home/content/m/o/s/moststudipvide/html/classes/actions/ActionRegistration.class.php on line 104
и говорит
Ошибка: Неверный код
avatar
avatar
Не заметил сорри
avatar
ой у меня нет такого файла и директории нет
classe/lib/kcaptcha/index.php
avatar
ну дак наверно ты ее не залил так как в архиве то она есть))
avatar
Создал новую страничку в через админку, когда создавал галочку «показывать страницу» НЕ ставил. Страница не появилась и не загружалась. Потом отредактировал и поставил галочку, всё равно не появилась и не заходит, 404 выдаёт.

Кстати зачем вообще эта функция, если я создаю страничку наверное я хочу показать её. Даже есть хочу скрыть то нужно написать «не показывать страницу» а если не поставлен чекбокс то по умолчанию показывать сразу после добавления. За редким исключением люди будут ставить галочку.
avatar
а система поддоменов реализована в движке? Если нет, то стоит ли ее ожидать в следующих вкрсиях?
avatar
будут группы, будет и эмуляция поддоменов.
релиз 0,2 дорабатывал блоговую систему и исправлял все замеченные баги с 0,12
Больших дополнительных модулей здесь и нет — ort сразу это и сказал, когда начинал делать 0,2
avatar
я не совсем понимаю тут технологию именно самого шаблона. он ведь по сути постоянно должен правиться под код самого движка с каждым обновлением SVN?
avatar
а что непонятного, как обновить свой шаблон для движка, если есть SVN?
avatar
что что???
avatar
суть твоего вопроса какая? ))))
avatar
если я собрался делать шаблон, то будет ли он полноценно работать с версией движка, которая выйдет в будущем? мне так показалось что весь код шаблона будет связан непосредственно с движком, ведь это не так всё просто как в джумле. залил папку с шаблоном и выбрал его. было бы неплохо если бы в лайвстрит было подобное. тут ведь как мне показалось, вышло обновление — правится и сам шаблон под это обновление. вот и суть вопроса заключалась в этом.
avatar
Естественно если появляется новая функциональность, шаблон правится.
Создаются новые ссылки, формы и страницы.
Но основные страницы и функции шаблона уже вряд ли будут сильно редактироваться.
avatar
вот. спасибо.
avatar
Подскажите, пожалуйста, как нагенерировать инвайтов?
Ну без использования электронной почты.
avatar

Движок встал нормально, без каких-либо сложностей.
Сейчас открыл сайт, внизу увидел следующее:

Notice: Undefined index: user_is_administrator in .../classes/modules/user/entity/User.entity.class.php on line 147
 
Обновил — исчезло. Собственно, а в чем суть проблемы-то была?
avatar
кстати, это объявление появляется каждый раз, когда первый раз заходишь на сайт из-под админского аккаунта. После исчезает и появляется табличка со статистикой по времени выполнения скрипта.
avatar
во как! буду разбираться
avatar
да, точно, именно так это происходит.
avatar
а ты ставил новую версию с нуля или обновлял старую 0.1?
avatar
я обновлял старую из SVN
avatar
как вариант это могло произойти из-за старого кеша, где поля is_administrator еще не было
avatar
я ставил новую с нуля — проблема та же.
avatar
ставлю с нуля и не могу воспроизвести ошибку.
можешь еще раз поставить? и четко проследить действия приводящие к ошибке.
avatar
ок, счас все снесу и заново поставлю.
avatar
установил все по новой, вошел-вышел, создал запись — теперь ошибка не появляется. дистрибутив тот же. попробую еще что-нибудь потыкать, понаблюдать. если найду — сообщу.
avatar
у меня такая же проблема. Ставил с нуля
avatar
И я только что испугался этой записи… =)
avatar
«новые комментарии» отлично работают, спасибо. Только вот вопрос — почему бы не сделать отдельную ссылку именно на новые комментарии, чтобы она (ссылка) вела непосредственно к новым комментам? Мелочь, а удобней!
avatar
Вовсе нет, ведь новые комментарии содержат ответы на старые, тоесть нужно видеть дерево, к которому относится коммент. А подсвечивание новых комментариев фоном — решает вопрос.
avatar
я думаю речь шла просто о добавлении анкора, чтобы открытая страница скролилась до первого нового комментария.
avatar
Если со скролом, то согласен, удобно.
avatar
именно это я и имел в виду
avatar

кстати, ошибка:
Undefined index: user_is_administrator in Z:\home\clinics.ru\www\classes\modules\user\entity\User.entity.class.php on line 147

Где то я уже про нее на сайте видел, только потерял пост и не могу найти :( Уставновил двиг с нуля, из SVN не обновлялся, при первом заходе выдает, после F5 меняется на статистику.
avatar
вот прямо здесь ты ее и видел кстати… буквально предыдущая ветка. ))))
avatar
Скачал LS 0.2, установил, пытаюсь обкатать и протестить локально на третьем денвере.
При попытке зарегистрироваться новым пользователем или написать комментарий уже зарегистрированным выскакивает ошибка:

Fatal error: Call to undefined function mb_substr() in z:\home\livestreet\www\classes\lib\external\phpMailer\class.phpmailer.php on line 1367

При этом сам новый пользователь или комментарий в базу заносятся.

Не подскажете чем вылечить?
avatar
1. научиться читать
2. в качестве объекта чтения изучить http://livestreet.ru/page/download/, особенно раздел установка
avatar
Спасибо kruft. Вместо помощи получил очередной псевдоинтелектуальный ответ.

Такие советы «знатоков» здорово помогают искать альтернативные платформы для своих проектов.
avatar
удачных поисков.
avatar
подключите mb_string в вашем php.ini
avatar
Спасибо.
avatar
Установил версию 0.2, все делал по инструкции — выдаёт 403. Подскажите, в какую сторону двигаться?
avatar
правильно настроить веб-сервер и среду выполнения пхп=скриптов
avatar
Хостинг, cpanel- с этим вроде всё в порядке. Что Вы имеете в виду под средой выполнения пхп-скриптов?
avatar
http-статус 403 (форбидден) означает, что, согласно настройкам доступа веб-сервера, доступ к URLу запрещен.
иногда такое бывает, когда не настроено выполнение пхп-скриптов, а вывод листинга/содержимого каталога также запрещен

или не настроен мод_реврайт
avatar
А как настроить мод_реврайт? если ограничен только панелью хостинга? т/е/ прямого доступа к хттпд.конф нету?
avatar
ни разу в жизни даже скриншотов цпанели не видел, так что ничего сказать не могу
avatar
Ну смотрите, в .htaccess лежит то что с SVN слито
— RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php
— Т.е. по идее все должно работать, но на практике нет.

p.s. ru.wikipedia.org/wiki/CPanel
avatar
Отлично, 3 дня полёт нормальный
avatar
И все же как мод_реврайт настраивать то?
avatar
рекомендую спросить у хостера
avatar
мод-реврайт включен. настраивается в .httaccess, который идет с SVN. Почему выскакивает 403 — не пойму. то Если удалить .httaccess, выскакивает 500 ошибка, почему?
P.S. хостинг забугорный, работает всё нормально, обращаться к хостеру бесполезно
avatar
500 означает «внутренняя ошибка сервера».

вы уверены, что в качестве веб-сервера на хостинге именно апач, а не другой веб-сервер?
avatar
Apache version 1.3.37 (Unix)
PHP version 5.2.5
MySQL version 5.0.45-community-log
Architecture i686
Operating system Linux
avatar
хорошо, а пхп выполняется именно как модуль апача? (не FastCGI или просто CGI)?

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

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

Похоже в Topic.mapper.class.php в методе GetTopicsByTag в оптимизированной версии запроса была потеряна строчка t.topic_publish = 1
avatar
У тебя тоже выскакивает 403 ошибка с .htaccess? который слит с СВН?
avatar
С .htacess у меня проблем не было.
avatar

это после обновления на новую? или с нуля?
t.topic_publish = 1 там и не нужен, у топиков, которые в черновиках, нет тегов
avatar
Спасибо за оперативный ответ. Попробую определить условия воспроизведения кейса, когда я даже под гостем видел через поиск по меткам некоторые топики в черновиках.
avatar
Если топик при создании сразу сохранить в черновики, то он имеет тэги. Если его еще раз сохранить в черновики, то теги убираются.

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

Похоже в методе AddTopic нужно добавить
if ($oTopic->getPublish()) {
avatar
исправил
avatar
Спасибо.
avatar
Хотелось бы краткую инструкцию, чтобы добавлять свои дополнительные поля в профиле ничего не портя :)
avatar
Вкратце, добавить новые поля в таблицу юзеров, добавить соответствующие поля в сущность юзера(User.entity.class.php), меняем метод апдейта юзера в маппере(User.mapper.class.php), правим функционал(шаблон и экшен) экшена ActionSettings.class.php
Изменения будут минимальными
avatar
Макс, и всетаки избранных комментариев явно не хватает…
avatar
будут
avatar
Прочитал мои мысли. Отложить на будущее много уже есть чего.
avatar
ort, подскажи, столкунлся со следующим. Создаем топик в черновиках, к примеру, 10/11/2008, потом публикую его 16/11/2008. В итоге, я получаю дату и время публикации 10/11/08 — т.е., время создания топика… Естественно, он вылазит 6ю днями раньше, и никто его уже не увидит…
avatar
есть такая проблема
avatar
Я думаю стоит сохранять дату первой публикации и сортировать по ней.
avatar
обновился, теперь некоторые языковые паттерны заканчиваются 3-мся символами _$$

например:

Все_$$ +1 Коллективные_$$ +1 Персональные_$$ TOP_$$
Хорошие_$$ Новые_$$ +1

куда копать? :)
  • ter
  • 0
avatar
черт, это же я попал в процесс переноса языков
avatar
это сделано для безошибочного подключения языков :)
avatar
\templates\language\russian.php
Искать _$$ С заменой )
avatar

string(65) "Can't create table './live_test/#sql-441c_32453.frm' (errno: 121)" string(65) "Can't create table './live_test/#sql-441c_32453.frm' (errno: 121)" string(62) "Can't DROP 'comment_date_rating'; check that column/key exists" string(35) "Duplicate key name 'rating_date_id'" string(38) "Duplicate column name 'comment_delete'" string(65) "Can't create table './live_test/#sql-441c_32453.frm' (errno: 121)" string(43) "Duplicate column name 'topic_publish_index'" string(65) "Can't create table './live_test/#sql-441c_32453.frm' (errno: 121)" string(54) "Duplicate column name 'user_settings_notice_new_topic'" string(56) "Duplicate column name 'user_settings_notice_new_comment'" string(53) "Duplicate column name 'user_settings_notice_new_talk'" string(58) "Duplicate column name 'user_settings_notice_reply_comment'" string(65) "Can't create table './live_test/#sql-441c_32453.frm' (errno: 121)" string(38) "Duplicate column name 'topic_cut_text'" string(44) "Duplicate column name 'topic_forbid_comment'" string(41) "Duplicate column name 'comment_text_hash'" string(35) "Duplicate column name 'blog_avatar'" string(40) "Duplicate column name 'blog_avatar_type'" string(46) "Duplicate column name 'user_date_comment_last'" string(55) "Duplicate column name 'user_settings_notice_new_friend'" string(36) "Table 'prefix_friend' already exists" string(65) "Can't create table './live_test/#sql-441c_32453.frm' (errno: 121)" string(65) "Can't create table './live_test/#sql-441c_32453.frm' (errno: 121)" string(37) "Duplicate column name 'topic_publish'" string(42) "Duplicate column name 'comment_count_last'" string(53) "Can't DROP 'topic_text'; check that column/key exists" string(59) "Can't DROP 'topic_text_short'; check that column/key exists" string(60) "Can't DROP 'topic_text_source'; check that column/key exists" а�б�аЛаИ аНаИаКаАаКаИаЕ аОб�аИаБаКаИ аНаЕ аПаОаВб�аЛаАаЗаИаЛаИ, аЗаНаАб�аИб� аАаПаДаЕаЙб� аНаА аНаОаВб�б� аВаЕб�б�аИб� аПб�аОб�аЕаЛ б�б�аПаЕб�аНаО. а�аОаЗаДб�аАаВаЛб�аЕаМ!
Вот решил обновится до 0.2 (до этого обновлялся через svn до примерно 70 какойто точно уже не вспомнить так как в svn этого уже нету)получаю это! Что не так?
avatar
Это после выполнения update_0.1.2_to_0.2.php
avatar
Проблему решили? У меня прост тоже самое.
avatar

SQL-запрос:

--
-- Ограничения внешнего ключа сохраненных таблиц
--
--
-- Ограничения внешнего ключа таблицы `prefix_topic_content`
--
ALTER TABLE `prefix_topic_content` ADD CONSTRAINT `prefix_topic_content_fk` FOREIGN KEY ( `topic_id` ) REFERENCES `prefix_topic` ( `topic_id` ) ON DELETE CASCADE ON UPDATE CASCADE ;

Ответ MySQL: Документация
#1005 — Can't create table './live_test/#sql-441c_3246d.frm' (errno: 121)
это при update_0.1.2_to_0.2.sql
avatar
а подскажите, плиз, как делать cut со своими словами? :)
avatar

<cut name="своими словами"> ))))
avatar
Спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.