+2.21
Рейтинг
4.36
Сила

Алексей Куликов

Livestreet: дао разработчика - 2

Первая часть цикла

Дао — это действие, процесс, поток. Чем чаще вы смотрите на код других плагинов, тем больше вы понимаете, как делать свой.
Накачайте плагинов под 0.4.2 и расматривайте, что у них внутри. Без этого вы не сможете начать писать свои плагины.

Я сделал типовой шаблон, из которого удобно делать свои собственные плагины. Располагается он тут:
http://github.com/medar/livestreetplugin
Чтобы скачать его, надо нажать в правом верхнем углу кнопку «Download Source». Желающие могут форкать и вносить изменения.

В файле находится «рыба» плагина с названием abcplugin.
Читать дальше →

Мысли об Object-Relational Mapping в LiveStreet

Хочу предложить свои идеи для развития MVC/ORM.

Замечу, что исторически сложилось так, что MVC в LiveStreet весьма отличается от привычного представления в других фреймворках.
Модель здесь заменяется связкой модуль+сущность+маппер, причем, если сущность представляет из себя стандартный ООП-объект с набором свойств и методов, то модули и мапперы, это просто наборы функций для работы с определенными типами данных, что скорее похоже на библиотеки из структурного программирования, чем на стандартный ООП.
Я не возьмусь судить хорошо это или плохо, у меня есть лишь предложения о том, как можно воспользоваться этим для создания эффективных отношений между объектами (модулями).

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

Плагин "Галерея" для LiveStreet 0.4.2

Галерея для LiveStreetГотов плагин «Галерея» для версии LiveStreet 0.4.2, ранее поддерживавшейся benone.

Что есть в галерее?

Групповая загрузка изображений, галереи по категориям, отметка друзей на фото, комментирование, оценка, прикрепление к топикам и многое другое.
Полная презентация и описание плагина: docs.google.com/present/view?id=dfm93mnm_42hrdrfcfm

Цена плагина: 1250руб/40WMZ
Оплатить через Visa/MasterCard,WMZ( R ) можно прямо на странице плагина в каталоге — livestreetcms.com/addons/view/26/, оплата Яндекс.Деньгами по этим реквизитам.

Демонстрация работы: gallery.lsmods.ru

Дополнительная информация:docs.google.com/document/pub?id=1ss3NwOCs5cxwVtV4K1fNlxrrL33D5Zv-PewSoU5Vaj4

За получением обновления плагина покупавшим под 0,31 обращаться ко мне в личку. Обновление высылается при соблюдении определенных условий и подтверждения о совершенной покупке от Кирилла benone.

Также в продаже плагины для ls0.4.2 "Микроблоги" и "Кошелек+Задания", очень скоро они появятся в каталоге.

upd: Так, ребята на обновление, чтобы не было лишних разговоров. Сразу в личку присылайте свой емайл и сайт к которому привязан модуль(сайт должен быть работающим и очень желательно на новой версии). Без этих данных и подтверждения Кирилла я плагин не высылаю.

Релиз плагина "XText"

XText, livestreet, рисовалка, граффити

Что такое плагин XText?


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

Обработка специального тега возможна на одной из двух стадий:
  • при получении текстового свойства Entity
  • при обработке методом Text_Parse

Средство расширения функционала стандартной панели lspanel:
  • добавление кнопок на панель
  • вывод кнопок на выбранных панелях (топик, комментарий, страница, личное сообщение)
  • простое описание модальных окон для кнопок

0.0.2
  • [hack] совместимось с aceadminpanel (buggy code)
  • [fix] не выключалась обработка спец.тега через конфиг
  • [fix] удален лишний вызов обработки спойлеров в audio.js
  • [fix] совместимость с другими парсерами (spoiler). спасибо ort'у

0.0.3 для livestreet rev. 985 и старше
кому не хочется обновляться до девелоперской ревизии — могут подождать релиза 0.4.3 ;)
  • [fix] улучшена совместимость с другими парсерами
  • [add] рисовалка теперь поддерживает отмену и повтор шагов через меню правой кнопки мыши
  • [add] добавлен тег gmap — вставка карт Google Maps со списком точек chekhovcc.ru/tag/gmap/
  • [add] замена стандартного ajax-метода textPreview для обработки javascript-составляющей некоторых тегов (spoiler, gmap)
  • [fix] обновление Swiff.Uploader для нового флеш-плеера, не работали remote-методы (используется при заливке аудио-файлов у тега audio)
  • [fix] тег video: зафиксил вставку vkontakte и vimeo
  • [add] добавлено автоматическое выполнение javascript-функции вида xtext_popup_tag_show_after() сразу после отображения модального окна
  • [fix] изменено расположение файлов тегов. РЕКОМЕНДУЕТСЯ УДАЛИТЬ СТАРЫЙ ПЛАГИН И ЗАЛИТЬ НОВЫЙ
  • [fix] изменен файл конфигурации
  • [add] поддержка шаблона developer «из коробки»

0.0.3 для livestreet release 0.4.2
  • [add/fix] поддержка официального релиза 0.4.2. версия для скачивания "0.0.3 / ls 0.4.2 release compat"

0.0.4
  • [fix] исправлена ошибка обработки тегов уровня Entity (появилось в 0.0.3)
  • [change] на уровень Entity переведены теги: gmap, audio, user
  • [add] обновлена документация
  • [fix] поправлен конфиг


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

Контакты и социальные сервисы

Я все переезжаю с 0.3.1 на 0.4.2 и по пути перевожу установленные модули и хаки в плагины. Сегодня доделал плагин «Контакты и социальные сервисы». Этот плагин добавляет три поля (skype, jabber, номер телефона) и выводит настройки контактов (icq, сайт, skype, jabber, номер телефона) на отдельную страницу (settings/social).

Скачать можно в новом каталоге.

Внимание!

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

Livestreet: дао разработчика - 1

Я сейчас работаю над одним проектов, в качестве платформы для которого я выбрал Livestreet. Так как с инфой для программистов у этого движка туго, я буду выкладывать те вещи, который я узнал о движке здесь. Надеюсь, это поможет остальным начинающим программистам на LS.

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

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

Итак.

Для начала стоит пробежаться по существующей документации для разработчика (http://trac.lsdev.ru/livestreet/wiki/DeveloperDoc), чтобы понимать термины.
Откройте в IDE движок, пробежитесь по папкам движка, по плагину page, который идет в комплекте с движком.

В движке Livestreet:
Экшены, содержащие Ивенты (action, events) — это, кто знаком с MVC — контроллеры.
Модули (module) — куски кода, которые осуществляют некий функционал (например, функционирование блогов, топиков, комментов). В процессе своей работы они обращаются к Мапперам (mapper) для того, чтобы пообщаться с базой данных. Все sql-запросы пишутся именно в мапперах. Мапперы в свою очередь используют Сущности (entity), которые переводят массивы, отданные mysql в объекты, с которыми потом работает движок.

Способ модификации кода Livestreet два.

1. Через переопределение существующих функций. Меняется целиком существующая функция в модуле/маппере/сущности, или добавляется своя. Подробно: livestreet.ru/blog/dev_documentation/4499.html

2. Через хуки. При этом вставляется код в указанное место движка.
Хуки можно вставить в места, определенные конструкцией $this->HookRun(...); в движке, а также на начало и конец любого модуля, зарегистрированного в системе (не важно, системный он, или установлен каким-то плагином). Подробно про хуки в моделях: livestreet.ru/blog/dev_documentation/3991.html.

Переопределения эти делаются в плагинах. Подробнее о плагинах и их устройстве: livestreet.ru/blog/dev_documentation/3531.html

Как делать эти самые плагины — подробно поговорим во второй части.

Вторая часть

Плагин "Новый тип топика - Фоторепортаж (Picture Story)" на подходе!

Написан readme, собран архив :)

С ценой определяюсь пока.

Фичи:
  1. Комментарий под каждой фоткой с родной панелькой
  2. Опционально: сжатие оригинальной фотки по заданной ширине
  3. Опционально: ограничение топиков типа «фоторепортаж» одним блогом
  4. Сортировка фоток в фоторепортаже
  5. Заливка пачки фоток одним диалоговым окном
  6. Редактирование топика и комментариев к фоткам пока следующие фотки заливаются

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

Плагин "Кошелек пользователя + Задания" / LS v.0.4.2

Модуль биллинга
Завершена разработка плагинов Кошелька пользователя и Заданий.

Плагин Кошелька позволяет создать на сайте внутреннюю платежную систему, с расширяемыми возможностями, интегрирована мультивалютная касса ROBOKASSA (в плагине также есть АПИ для сторонних модулей).

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

Потестировать модуль: pay.lsmods.ru
В каталоге модулей: livestreet.ru/addons/160/
Цена плагина: 2500/3500 руб для кошелек/кошелек+задания соответственно

Подробное описание под катом

"Микроблоггинг для LS" (Плагин для LS 0.42 вышел!)

Завершена разработка модуля Микроблоггинга.

Демо-сайт: extblog.ru
В каталоге модулей: livestreet.ru/addons/82/

Позволяет добавить в движок livestreet функционал подобный twitter.com или respectiva.ru.

Описание основного функционала и планы на будущие версии под катом.

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