+0.13
Рейтинг
0.46
Сила

Дмитрий

Установка Livestreet с нуля (Debian): nginx + mysql + php-fpm + apc + memcached + sphinx

Возможно, этот гайд даже кому-нибудь понадобится.

0) Итак, у нас имеется свежепоставленный Debian с настроенным ssh-доступом и юзер с правами, достаточными для работы sudo.
Здесь и далее "#" в начале команды означает, что ее необходимо запускать с правами root-пользователя (например, с помощью sudo)
1) Пакеты будем ставить из репозитория dotdeb, поэтому для начала добавим его в sources.list:
# nano /etc/apt/sources.list

дописываем в конец файла
deb http://packages.dotdeb.org stable all

Далее импортируем ключ dotdeb'а:
wget http://www.dotdeb.org/dotdeb.gpg -O - -q | sudo apt-key add -

Обновляем список пакетов
# apt-get update

Читать дальше →

Тестирование LiveStreet 1.0-dev

Приглашаем всех желающих на тестирование новой версии LS 1.0-dev.
На данный момент идут завершающие работы по шаблону для разработчиков — developer, новый дефолтный шаблон Synio еще находится в разработке.
Список изменений и нововведений выложим позже.

Тестовый сайт находится здесь — new.livestreet.ru и содержит копию текущего сайта, так что все аккаунты сохранены.

О найденных багах просьба отписываться к комментариях. Спасибо!

UPDATE
Список нововведений:
  • Шаблон на HTML 5
  • Счетчик избранного для топиков и комментариев
  • Механизм валидации данных и сущностей
  • Тулбар(элементы управления справа на экране) с возможностью добавлять свои контролы
  • Подсчет в топиках как именно проголосовали пользователи
  • Учет количества топиков в блогах
  • Консоль для генерации шаблонного кода плагина
  • Стена пользователя
  • Доработка пользовательских полей — разделение по типу
  • Переработанный профиль пользователя
  • Возможность оставлять заметку о пользователе в его профиле
  • Переработка страницы настроек профиля — ajax загрузка фото и аватара
  • Удалены экшены my(перенесен в профиль) и new(перенесен в index)
  • Постраничный вывод списка друзей
  • Лента активности пользователя в его профиле
  • Общая лента активности сайта
  • Ajax авторизация и регистрация в том числе в попапе
  • Модуль гео-базы и на его основе выбор места проживания в профиле пользователя
  • При дружбе или вступлении в блог объект автоматически добавляет в ленту активности пользователя для дальнейшего слежения
  • При регистрации пользователю автоматически добавляются дефолтные типы событий для слежения в ленте активности
  • Возможность для избранных топиков добавлять свои теги и поиск топиков по ним
  • Облако тегов своих тегов — те которые пользователь использовал при написании своих топиков
  • Различные всплывающие инфоблоки — в списке блогов, в прямом эфире в личной почте
  • Поиск и сортировка среди пользователей
  • Поиск и сортировка среди блогов
  • Новое меню топиков — обсуждаемые, популярные
  • Возможность отсортировать результаты опроса
  • Возможность в личной почте искать среди избранных и по тексту сообщений, просмотр только новых сообщений
  • Ссылки «поделиться» в соцсетях у топиков
  • Сортировка плагинов по названию, а не по каталогу
  • Подписка на новые комментарии к топикам

Рекомендация к использованию: Наследование шаблонов

На примере будущего jQuery-шаблона для ПриветСочи.ру решил выложить мини-инструкцию использования наследования шаблонов, сильно сокращающий количество часто повторяющегося Smarty-кода.

Коротко о файлах в примере (ссылка на архив внизу):

  • topic.prototype.tpl — прототип топика, содержащий всю повторяющуюся разметку. Использованы вложенные конструкции типа
    {block name=...}
  • topic_link.tpl, topic_photoset.tpl, topic_question.tpl, topic_topic.tpl — файлы, наследующие и заменяющие/дописывающие некоторые блоки прототипа топика (topic.prototype.tpl)
  • topic.social.tpl — включение с кодом кнопочек публикации в разные соц-сети.


Коротко о содержании файлов:

Посмотрев файлы примера, не сложно заметить, что файлы topic_*.tpl содержат:
  1. в начале каждого файла наличиствует код
    {extends file=topic.prototype.tpl}
  2. минимум специфической разметки, обрамленной в конструкции
    {block name=... флаг}
    — это замены и дополнения блоков. Флаг может либо отсутствовать (что означает полную замену содержимого блока), либо принимать принимать значения:
    • append — дописывает в конец содержимое блока к наследуемому блоку.
    • prepend — дописывает в начало содержимое блока к наследуемому блоку.
    • hide — скрывает блок (насколько я понял, если добавить в блок прототипа, то по умолчанию блок будет скрыт).
    • nocache — запрещает кеширование содержания блока (а это вообще актуально для LS?).


Документация


ZIP-архив с примером

Мануал по интеграции плагинов с плагином "Role", на примере плагина "Публикация от чужого имени"

Данный топик является примером интеграции ролей с другими плагинами, и никак не призывом к действию. Предложения и замечания принимаются в комментариях.

Первое что нужно сделать для интеграции — это создать чекбоксы для плагина "Публикация от чужого имени" в добавлении и редактировании ролей.
Плагин "Role" имет хуки.

  • template_roles_role — в шаблоне добавления к списку прав роли
  • template_roles_user — в шаблоне добавления к списку прав отдельному пользователю
  • template_roles_role_show_end — в шаблоне редактирования к списку прав роли
  • template_roles_role_user_show_end — в шаблоне редактирования к списку прав отдельному пользователю

Читать дальше →

Виртуальный скроллинг. [Дозагрузка страниц блога при скроллинге]. Реально ли?

Добрый день, уважаемые!
Хотелось бы задать Вам, знатокам, вопрос. Поиском по сайту я к моему превеликому сожалению ничего не добился и через силу заставил себя создать этот топик рискуя быть подвергнутым массе восклицаний «Учи матчасть!» и пр…

К сути:
Уже много на каких проектах я и Вы могли замечать так называемый «Виртуальный скроллинг» при котором информация (в нашем случае — страницы блога\сайта) подгружается по мере скроллинга страницы при достижении определенной позиции. Например на одной стр. выводится 15 записей… как только дошли скроллингом до 15 у нас дозагрузились еще 15. Идея — уйти от постраничной навигации, а так-же всяких замыкающих нас футеров. Есть ли у кого-то опыт или идеи по реализации подобной схемы навигации на движке livestreet? На данный момент, погуглив, я к сожалению никакой полезной информации найти не смог. Может гуглил плохо, а может быть просто знаний не хватает. Так или иначе надеюсь на Ваши интересные, содержательные комментарии, идеи или предложения.

С уважением.

Валидация данных в LiveStreet 0.6

В транковую версию LS на github.com добавлен новый функционал — валидация данных и полей сущностей. Этот функционал призван заменить функцию func_check(). За основу был взят функционал валидации Yii.

На данный момент доступны следующие типы валидации:
  • Boolean — проверка значения на булевый тип
  • Date — проверка значения на формат даты и времени
  • Email — проверка корректности емайл
  • Inline — валидация произвольным методом сущности или другого объекта
  • Number — проверка на числа
  • Required — проверка на пустое или конкретное значение
  • String — проверка строк на длину
  • Type — проверка на тип значения
  • Url — проверка на корректность URL


Как использовать

В сущности необходимо составить список правил валидации.
class PluginTest_ModuleMain_EntityTest extends Entity {

	protected $aValidateRules=array(
		array('login, name','string','max'=>7,'min'=>'3'),
		array('title','my','on'=>'register'),
	);

	public function ValidateMy($sValue,$aParams) {
		if ($sValue!='Мега заголовок') {
                    return 'Ошибочный заголовок';
                }
		return true;
	}
}


Читать дальше →

Мобильная версия LiveStreet

3 фото
image
В продолжение опроса «Нужна ли мобильная версия для LiveStreet» мы планируем начать разработку мобильной версии.
По итогам опроса 85% пользователей поддерживают создание мобильной версии, из них 30% (47 пользователей) готовы финансово поддержать разработку.

Внести свой вклад в разработку вы можете на странице донейта (указав в комментариях «мобильная версия»), тем самым вы значительно нам поможете и ускорите процесс разработки.
Мобильный шаблон (и соответственно плагин) будет поддерживать новую версию LS и распространяться бесплатно.

Создадим шаблон вместе!

Нас поддержали:
Newman$25
аноним — $10
rsmike$20
аноним — $5
UdiBL9I$20
SP_$10
imhomir.net$20

Bennington$20
FanTom400MHz$5
peholod$20
cliffind$10
stepan$10
Sky$35
Shrike$10
Fanta$5
uncledent$10
Setevod$10
yuri25$10
Webman$10
gorodkovrov.ru$10
twentysix.ru$10
Студия stfalcon.com$70
yayog.ru$10

Репозитории бесплатных расширений

Что здесь?

Стихийный список открытых репо на github и google-code (и прочих), в которых можно принять участие (форкнуть, модифицировать).

Оставляйте в комментах ссылки, а я буду добавлять их в топик.

Оглавление


Читать дальше →

Оформление iPhone приложения для LiveStreet

10 фото
image
У нас давно есть в планах реализация удобной читалки LiveStreet сайтов для iOS устройств(iPhone, iPad и т.п.).
Начали реализацию json api, освоили XCode и уже приступили к созданию приложение.

Ниже можно видеть текущие скрины реально работающего приложения. Визуальное оформление создавалось технорями, поэтому кого то может шокировать :)
Поэтому объявляем в розыск энтузиастов, готовых попробовать свои силы в оформлении iPhone приложения.
Есть такие?

Бесплатный шаблон "Simple" 2.1 [UPDATE 2.1.3]



Все верно, как следует из заголовка — теперь шаблон «Simple» становится бесплатным! Всех с наступающим Новым Годом!
Это самый главный фикс в версии 2.1 :)

Остальные изменения:
  • Теперь автоматические превью видео на основе хостингов: youtube.com, rutube.ru, vimeo.com
  • Появилась опция, позволяющая выводить топики везде в виде превью, как на главной
  • Добавлены кнопки шаринга для mail.ru, odnoklassniki.ru и google+
  • Все настройки шаблона вынесены в конфиг плагина simpletpl
  • Рефакторинг

Демо — demo.livestreetcms.com/simple/, обновляется каждые 10 минут, логин admin, пароль 12345

Скачать шаблон можно здесь — livestreetcms.com/addons/view/295/

UPDATE 2.1.1
  • В конфиг добавлена опция вывода заголовков на главной в две строчки

UPDATE 2.1.2
  • Возможность удалять комментарии
  • Фикс иконки избранного
  • Фикс отступов при выводе топиков в разделах как на главной
  • Другие мелкие фиксы

UPDATE 2.1.3
Мелкие фиксы, изменения здесь — github.com/livestreet/lstemplate-simple/commit/598184bdf5146850244a0afbdd3092fa0120ed5b