+33.32
Рейтинг
74.46
Сила

Paul Sh

Настраиваем сервер для LiveStreet. Часть I. Введение, хостинг и PuTTY.

Учитывая, что сообщество проявило вот тут livestreet.ru/blog/questions/14593.html#comment233221 не нулевую активность. И точно есть, хотя бы, несколько человек которым эта тема интересна. Начинаю цикл заметок про «что и как устанавливать и настраивать».

Вступительное замечание:

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

Я не претендую на истину в последней инстанции, и мой опыт не так уж велик. Так что если кто-то что дельно по-критикует будем вносить исправления в основные тексты со ссылкой на автора улучшения. В итоге можем получить серию очень полезных документов. Вокруг LiveStreet мало хороших и актуальных документаций. Ещё одна точно не помешает. И это одна из целей всей этой затеи.


Начальные предположения:
1. У вас есть «домашний» компьютер с Windows и доступом в сеть.
2. У вас есть желание заполучить свой выделенный(Dedicated) или виртуальный(VPS) сервер для того, чтобы запустить на нём сайт основанный на LiveStreet
3. У вас есть доменное имя для вашего сайта и доступ к настройкам DNS у вашего регистратора домена.

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

Релиз мобильного шаблона


Рады сообщить о выходе релиза мобильной версии для LiveStreet!
За время тестирования мы внесли ряд правок/фиксов и изменили основной принцип — теперь мобильная версия не отключает плагины, все плагины активны. Здесь стоит относиться к мобильной версии как к обычному шаблону, для которого в ряде случаев придется адаптировать другие плагины.

Поэтому если вы используете на сайте другие плагины и хотите их адаптировать к мобильному шаблону, то у вас есть два варианта:
  1. Создать адаптацию под мобильный шаблон в каталоге /templates/skin/mobile/ необходимого плагина, по аналогии с адаптацией под любой другой шаблон.
  2. Отключить функционал необходимого плагина в мобильном шаблоне.

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

[Open Source] Решение - «Realtime»


Предисловие
В век постоянного прогресса и движения вперед важно не остаться за бортом, а для этого нужны инструменты позволяющие реагировать на события без промедления.

Вместо пиара
Вконтакте, одноклассники, фэйсбук, твиттер, гугл уже давно используют силу обновлений в реальном времени, создав своим пользователям комфортные условия для общения

Что это
Это инструмент для вас, вашего сайта, разработчиков, позволяющее создавать свои real-time дополнения для livestreet'a. Он состоит из node.js сервера и плагина для livestreet.

Сервер realtime берет на себя роль связующего звена между пользователем и livestreet'ом, который передает серверу данные при наступления запланированного события.

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


Цели
Предоставить функционал перечисленный выше, создающий на вашем сайте ощущение вовлечения во все происходящие на сайте события, вплоть до новых комментариев к статьям и личной переписке. Помимо этого дать инструмент для разработчиков неравнодушных к real-time технологиям.

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

Обновление плагина Debug Toolbar для работы с LiveStreet 1.0 + новый функционал!


Напомню список возможностей предыдущей версии плагина:
* Детальная информация об исполняемых SQL запросах к БД сайта. Позволяет увидеть строку запроса
и выявить наиболее медленные
* Время затраченное на создание страницы
* Занимаемая память в ОЗУ и ее пиковое значение
* Текущий язык сайта
* Содержимое глобальных переменных PHP ($_COOKIE, $_POST, $_GET, $_SERVER)
* Интегрирована страница отладчика шаблонизатора Smarty
* Текущие Action и Event страницы

Ко всему этому мы добавили несколько новых и удобных фич:

Возможность посмотреть список шаблонов, которые были использованы для рендера страницы

При выборе шаблона подсвечивается часть страницы за которую он отвечает. Сразу видно полный путь к шаблону. Очень удобно если части страницы переопределены в разных плагинах. Выглядит следующим образом:



Больше под катом

Плагин "LiveStreet Counter"

Привет всем!


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

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

Новое в LiveStreet 1.0 для разработчиков

Для разработчиков плагинов и шаблонов в LiveStreet 1.0 есть некоторые изменения.
Постараюсь их все собрать в одном месте.
Изменений, на самом деле, не так много.

Список:
  1. Модуль GEO, теперь в своих плагинах с помощью него можно делать географические привязки различных объектов
  2. Модуль Subscribe, организация подписок пользователей на различные события и рассылка по ним. Например, через него реализован механизм подписки на комментарии к топикам
  3. js вынесены за пределы шаблона в библиотеки, теперь в шаблонах достаточно только переопределить необходимый функционал
  4. Механизм валидации данных, подробнее — livestreet.ru/blog/dev_documentation/10221.html
  5. Возможность в тулбар добавлять свои элементы через стандартных механизм блоков
  6. Консоль для автоматической генерации каркаса плагина
  7. Переопределять настройки редактора стало проще, теперь они находятся в ls.settings
  8. Класс Object переименован в LsObject, позволит избежать проблем с некоторыми IDE и подключить автоподстановку методов
  9. Доработан модуль Image, теперь для сохранения изображения на другой сервер, достаточно переопределить методы SaveFile() и RemoveFile()
  10. Каптча вынесена в блочный хук {hookb run=«popup_registration_captcha»}, что позволит ее переопределить
  11. Возможность делать всплывающие подсказки через poshytip или infobox.js (с погрузкой данных через ajax)
  12. Появился модуль Tools, сейчас в нем только один метод — формирование облака тегов
  13. Шаблоны блоков перенесены в отдельный каталог /blocks/
  14. При ручном определении сеттеров в сущностях теперь следует возвращать данные как return $this->_getDataOne('blog_id'); — это позволит избежать проблемы с Notice ошибками
  15. Прямой эфир теперь автоматически группирует вкладки, если их много, в выпадающий список
  16. Смена приоритетов при загрузке блоков — теперь блоки из конфига загружаются после блоков, объявленных в коде экшенов, соответственно блоки из конфига имеют более высокий приоритет. Это позволит применять правила к блокам после окончательного определения экшена/евента, которые можно переопределить в ходе выполнения логики экшена/хуков.
  17. Возможность делать именованные евенты и управлять блоками из конфига о их именам. Например для евента на основе регулярно выражения можно задать имя и его использовать в правилах блоков. Если имя не задать, то оно автоматически определится как имя метода евента.
  18. Теперь все текстовки плагинов помещаются в пространство 'plugin.name', например, Get_Lang('plugin.page.admin_title');


Если есть вопросы, то отвечу более подробно.

Валидация данных в 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;
	}
}


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

Связи many to many в ORM

В транковой версии появилась полноценная поддержка связей типа many to many. Это значит, что теперь вся забота о поддержании, например, тегов в ваших плагинах ложится на ОРМ.

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