Разработка модуля "календарь событий"

3
Требуется программист или группа для написания модуля «календарь событий»

Модуль предполагает:
1. сайдбар, как на habr'e


2. Каждое событие имеет:
— дату начала события
— дату окончания события
— место проведения, возможность вставки API Яндекс.Карт или 2GIS
— возможность расширенного описания события, добавление изображений в описании
— прикрпление файлов к событию
— возможность публикования комметариев

3. все события делятся на прошедшие, текущие, предстоящие

«похожие события» — не нужны
«поиск по меткам, городам» — не нужен

p.s. Срочность заказа — горит. Стоимость — обсуждается, в деньгах не стеснен.
p.p.s Готов сложится с желающими получить подобнуй модуль

Full Cache. Простое Frontend кеширование без Nginx

21
Цель. Снизить нагрузку при большом потоке незарегистрированных пользователей.
Причины нагрузки.
1) Даже при включении бэкенд кеша любого вида(memcache, file, xcache) движок все же ест память, так как структуру данных он выстраивает в любом случае. При большом количестве плагинов растет количество классов и экземпляров этих классов, которые загружаются в память. В данном случае использование бэкенд кеша увеличивает скорость работы за счет кеширования результатов запросов в базу данных. Но размер потребляемой памяти остается тот же. Например, у меня страница топика ела 19 Мб, а список — 30мБ. При этом частично помогает, например, использование ссылок на объекты с помощью & при переборе, а не их копий. Но все же это крошки.
2) Даже при полном кеше БД все же выполняются несколько запросов, таких как получение данных о сессии или update таблицы просмотров. Под нагрузкой и при использовании InnoDb базы «update запрос» может очень сильно тормозить.
Ресурсы и методы
Собственно смысл прост. Он состоит в том, чтобы один раз генерировать страницу, а потом отдавать ее сразу.
Проверять на существование и отдавать кеш надо будет перед запуском движка, что разгрузит потребляемую память.


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

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

22
Для разработчиков плагинов и шаблонов в 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');


Если есть вопросы, то отвечу более подробно.
  • +13
  • 26 апреля 2012, 15:49
  • ort

Плагин "Short Profile" - короткие урлы для профиля

18
Плагин «Short Profile» делает только одно — заменят урлы вида site.ru/profile/vasy/ на site.ru/vasy/
Перед использованием необходимо обязательно прочитать README
Для работы плагина необходима последняя версия LS 1.0-dev с GitHub'a

Скачать можно с GitHub'a — github.com/livestreet/lsplugin-shortprofile
  • +8
  • 22 апреля 2012, 09:24
  • ort

Боремся за место на диске

31
На выходных досмотрелся что движок не удаляет загруженные на сервер оригиналы картинок в фотосетах, аватарках пользователя и аватарках блогов. Учитывая что по умолчанию для фотосета выставлено 6Мб на картинку и 30 картинок для загрузки это будет 6 х 30 = 180Мб на один фотосет это конечно ничто для хостинга в 3Тб, но для 2Гб хостинга это всего 11 фотосетов, ужос!!!
Попробовал поставить плагин пылесос, думал он поможет, но увы там этого не реализовано.
Пришлось лезть в исходники. Вобщем вот что получилось (для LS 0.5.1) (Для лентяев скачать готовое):


Читать дальше
  • +7
  • 09 апреля 2012, 19:49
  • ff00

Не всегда удаляются файлы аватаров

3
Писал функцию работы с аватарами для своего модуля. В качестве основы использовал работу с аватарами из класса Blog. Долго не мог понять почему не работает и нашел ошибку в функции.

Файл classes/modules/blog/entity/Blog.entity.class.php

public function getAvatarPath($iSize=48) {
        if ($sPath=$this->getAvatar()) {
                return preg_replace("#_\d{1,3}x\d{1,3}(\.\w{3,4})$#",(($iSize==0)?"":"_{$iSize}x{$iSize}\\1"),$sPath);
        } else {
                return Config::Get('path.static.skin').'/images/avatar_blog_'.$iSize.'x'.$iSize.'.gif';


Вместо кода (($iSize==0)?"":"_{$iSize}x{$iSize}\\1",
должно быть (($iSize==0)?"\\1":"_{$iSize}x{$iSize}\\1"

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

Аналогичный код нашел в функции getProfileAvatarPath класса User.entity.class.php

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

Первые макеты мобильной версии

5

.



Итак, хочу всех обрадовать — мы начали работу над версией LiveStreet для мобильных (или вернее сказать смартфонов).

И в этом блоге, по мере сил, будет освещаться ход процесса, выкладываться некоторые шаблоны макеты и проводиться обсуждения.


Читать дальше
  • +7
  • 06 марта 2012, 05:41
  • LeX

Livestreet-клиент для ios (ipad,iphone) и android

8
7 фото
Хорошии топики (главный экран приложения)
image

Всем привет.


Хочу показать свой универсальный клиент для iphone, ipad и android.
Пока тестируем приложение на разных устройствах.
При написании использовались следующие технологии — html5+css3+jquery+phonegap.


Показать все 7 фото →

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

8
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
  • +12
  • 28 февраля 2012, 12:26
  • ort

Забронируйте себе скидку на новый шаблон «Synio flow»!

9


Друзья, хочу представить вам модификацию нового дефолтного шаблона — «Synio flow».
Она ориентирована на ресурсы с регулярно обновляемым контентом и представляет из себя базовую версию LiveStreet с модифицированной главной страницей.

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

В магазине приложений его следует ожидать сразу после официального релиза Synio.
Стоимость без скидок $30

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

А теперь о приятном.

Первые 25 счастливчиков, которые пришлют мне на почту письма с желанием приобрести шаблон, получат промо-коды на скидку в 25%(разобрали). Следующие 30 — получат скидку в 15%.

Единственное условие — активировать промо-код необходимо будет в первые 4 дня с момента старта продаж.


UPD2: Места в чудо-очереди за скидкой в 25% заняты. Еще есть три дня, чтобы изъявить желание и получить скидку в 15%.

UPD: осталось еще 3 места в очереди на скидку в 25%
  • +3
  • 30 января 2012, 05:54
  • LeX