+132.73
693 читателя, 142 топика

Новое в разрабатываемой версии LiveStreet CMS


Подготавливая админку к выходу мы с Максимом планировали написать полный перечень новых возможностей движка и админки, но времени на это не было, поэтому первая статья-знакомство с бетой админки от Максима была короткой. Решил восполнить этот пробел написав полный список того, что внедрено в новую разрабатываемую версию движка и того, что мы сделали в админке.

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

Бета-версия админ-панели для LiveStreet CMS



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

Итак, на данный момент это бета, в ней много еще нет, но уже заложена базовая основа для наращивания функционала.
Главное, что мы сделали:
  • Механизм и интерфейс редактирования конфигов
  • Простая интеграция плагинов в админку
  • Поддержка интерфейса для управления конфигами плагинов
  • Универсальное key-value хранилище данных для плагинов
  • Новый функционал управления дополнительными полями. Можно к любой сущности привязывать доп поля (если сущность ORM, то это делается буквально одной строчкой). В коробке поддержка полей для топиков.
  • Управление пользователями и банами (нужный и долгожданный функционал)
  • Базовая интеграция каталога плагинов прямо в админ-панель
  • Базовая статистика по контенту (топики, комментарии, регистрации)

И да, мы сделали админку в виде отдельного плагина. Это избавляет от тесной интеграции с ядром движка, позволяет кастомизировать админку под свои проекты, не обязательно блого-социальные.

Код админки github.com/livestreet/lsplugin-admin
Установка:
  1. Админка работает только на текущей девел-версии ЛС.
  2. Скачиваем LS от сюда github.com/livestreet/livestreet
  3. Не забываем про каталог framework, который берем здесь github.com/livestreet/livestreet-framework
  4. Далее через стандартный инсталлятор (/install/) ставим LS
  5. После установки выполняем в БД патч из /install/patch.sql
  6. Авторизируемся под администратором и по адресу /admin/ активируем плагин «Admin panel» (предварительно скачав его с github.com/livestreet/lsplugin-admin, название каталога с плагином должно быть «admin»)

В комплекте с админкой в /example/plugins/ идет пример плагина «Статьи», который интегрируется в интерфейс админки и работает с дополнительными полями. По интеграции будет отдельный топик.

По админке выслушаем любые пожелания, от функционала до оформления.

Под катом несколько скриншотов

Новогодняя распродажа! Cкидки 30%!



Спешим объявить о запуске традиционной Новогодней распродажи!
Только с 15 декабря по 15 января 2014 года у вас есть уникальная возможность купить плагины и шаблоны со скидкой 30%!

Полный список расширений доступен на странице в каталоге — https://catalog.livestreetcms.com/promo/

Работа.LiveStreet - создание заказов

Мы обновили сайт Работа.LiveStreet.
Появился новый раздел «Заказы», где можно публиковать свои задачи. Срок публикации составляет 30 дней. Фрилансеры могут писать свои отклики, на интересные им задания.
Дополнительно в профиле фрилансера доступна статистика поиска и просмотра его профиля.

Надеемся теперь заказчикам будет проще найти исполнителя, а фрилансерам интересные задачи.

Работа.LiveStreet - поиск фрилансеров

Мы запускаем новый подпроект — Работа.LiveStreet.
Теперь найти исполнителя под свои задачи не составит труда, достаточно зайти на сайт job.livestreetcms.com и выбрать список необходимых услуг.

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

Обновления каталога LiveStreet CMS

Новый каталог получил обновление и выходит из беты.

Основные изменения:
  • Баг-трекер для расширений
  • Главная страница
  • Оплата кредитными картами
  • Оплата через QIWI кошелек
  • Для авторов возможность выдать лицензию в ручном режиме
  • Для авторов просмотр статистики по расширениями и по продажам
  • Возможность вставки iframe кода с расширением на сторонние сайты
  • Рубрики для плагинов
  • Исправлены недочеты в оферте
  • Множество различных фиксов интерфейса и багов

Все еще осталось сделать:
  • Механизм скидок
  • Избранные плагины

Каталог расширений для LiveStreet CMS

Мы запускаем бету версию нового каталога расширений для LS — Официальный каталог/магазин.

Теперь он стал более удобный и функциональный.
Основные моменты на которые необходимо обратить внимание:
Для пользователей
  • Автоматическое оповещение о выходе новых версий расширений
  • По умолчанию покупка расширения дает доступ к обновлениям на 1 год
  • Перед покупкой пользователь соглашается с правилами
  • К расширению можно оставить только один отзыв. К платным, только если вы являетесь покупателем

Для разработчиков
  • Для продажи своих расширений необходимо заключить договор-оферту с ООО «ЛС-СОФТ» (безбумажное оформление), комиссия каталога 25%
  • Можно создавать свои лицензии с нужными ценами, которые пользователь будет выбирать перед покупкой
  • Удобное управление версиями и контроль за нововведениями
  • Улучшен механизм модерации — расширение не пропадает из каталога при модерации, и доступна переписка с администрацией
  • Реклама платных расширений на официальных ресурсах LS допускается, только при наличии этого расширения в нашем каталоге и с указанием ссылки на него. Реклама других каталогов/магазинов и конкурирующих продуктов не допускается, в том числе реклама внутри плагинов

Тексты правил и договора могут незначительно измениться в ближайшее время, в том числе по вашим замечаниям. Т.к. трудно сделать сразу идеальные документы и учесть все моменты.
Из способов оплаты пока доступны только Webmoney и Яндекс.Деньги, на неделе планируется подключение карт и QIWI.

Из оставшегося по реализации в ближайшее время
  • Перенести баг-трекер
  • Механизм скидок
  • Механизм сборок(бандлов)
  • Оформить главную страницу каталога с различными блоками(ТОП, новые и т.п.)
  • Исправление багов и косяков

Дополнительно мы провели слияние пользователей наших сайтов и создали единый центр авторизации — passport.livestreetcms.com Теперь на всех проектах LS у пользователя будет один аккаунт(логин, пароль, емайл).

LiveStreet - что дальше? Планы 2013.

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

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

LiveStreet CMS
Для разработчиков
  1. Создание удобного front-end фреймворка для разработки шаблонов
  2. Улучшение механизма плагинов по части установки и обновления, возможность быстро и удобно создавать разделы настроек плагина
  3. Оптимизация и упрощение текущего кода
  4. Функционал дочерних шаблонов, когда можно создать новый шаблон но только с измененными файлами tpl, остальные будут браться из основного шаблона
  5. Струтурирование текущей документации, создание новой, в том числе новые подкасты и примера реализации разных плагинов
  6. Экспериментально: перевод всего на ORM, что значительно упростит количество кода
  7. Экспериментально: шаблон с использованием наследования блоков Smarty

Для пользователей
  1. Полный пересмотр текущего застоявшегося функционала. В комментариях можете внести свое предложение
  2. Категории для блогов
  3. Объединение разных видов топика в один с расширенным функционалом(пост, опросы, фото-сеты, ссылки)
  4. Упрощение навигации/меню по топикам. Принимаются предложения
  5. Работающий поиск из коробки, sphinx как альтернатива
  6. Завершить эпопею с нормальной админкой

Дополнительно
  1. Новый более удобный каталог плагинов(базовый функционал уже разработан)
  2. Регулирование правовых отношений в каталоге(идет юридическая подготовка документов)
  3. Единый центр регистрации и авторизации на официальных сайтах LS(разработан)
  4. Адаптация сайта livestreet.ru для более успешного общения и решения проблем в сообществе
  5. Программа поощрения для авторов плагинов/шаблонов — открутка баннерных показов, рассылки обзоров и премирование

Основная проблема в реализации — это нехватка человеческих ресурсов. Поэтому мы очень заинтересованны в помощи сторонних разработчиков в дальнейшей разработке LS.
Как это можно сделать:
  1. Предложения по улучшению текущего кода
  2. Принятие вашего кода в проект. Код проходит code review и принимается в проект. Через GitHub это делается пул-реквесты. Например, студия stfalcon регулярно вносит свои доработки в проект, за что им отдельное спасибо
  3. Любая другая помощь

Спасибо за терпение и надеемся на ваше понимание.

Релиз LiveStreet 1.0.3

Сообщаем о выходе новой версии LS 1.0.3. Версия носит багфиксный характер.
Были закрыты две XSS уязвимости(спасибо HiMiC и PSNet ) и исправлено раскрытие директории в сессиях(еще раз спасибо PSNet ).

Обновленный дистрибутив уже доступен для загрузки — livestreetcms.ru/download/
Для закрытия этих багов для версий 1.0.2, 0.5.1 и 0.4.2 достаточно скачать этот патч и залить его поверх вашей версии LS.

Важное замечание! Настоятельно рекомендуем обновиться с версий 0.5 и 0.4 до актуальной 1.0.3. Т.к. помимо исправлений этого патча старые версии содержать множество других бед, в том числе и потенциальные уязвимости.

Изменения коснулись 4-х файлов:
config/jevix.php
engine/lib/external/Jevix/jevix.class.php
engine/lib/external/swfupload/swfupload.swf
engine/modules/session/Session.class.php

Подробнее можно посмотреть на гитхабе — github.com/livestreet/livestreet/commit/83c15587388dec02f8b97eac8a0d809a3233702c

Релиз LiveStreet 1.0.2

Сообщаем о выпуске промежуточной версии LiveStreet 1.0.2.
Основная причина — закрытие пассивной XSS (спасибо HiMiC ). Также были исправлены другие незначительные моменты по безопасности.
Полный список изменений относительно версии 1.0.1 доступен здесь — github.com/livestreet/livestreet/commit/479e97bea183b8ab863d45b8150fe6549b42f8ce

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

При обновлении с 1.0.1 достаточно перезаписать файлы из нового архива, каталог /templates/skin/ можно не перезаписывать.

Скачать можно здесь — livestreetcms.ru/download/

UPD
Список изменений:
  • фикс бага смены емайла, если у пользователя не было старого
  • если класс модуля не существует, то теперь выбрасывается эксепшен
  • доступ к какум только через http
  • фикс генератора плагинов из консоли
  • в конфиг вынесены настройки допустимого логина пользователя
  • фикс отображения адреса сайта плагина в списке плагинов
  • вынос в конфиг максимального размера текста топика для ссылок и опросов
  • возможность отключить обязательность проверки каптчи
  • фикс удаления комментариев
  • фикс раскрытия путей на сервере — замена функции getRequest на getRequestStr для строковых параметров
  • закрытие прямого доступа к plugin.xml, закрытие некоторых каталогов через htaccess
  • список допустимых протоколов для ссылок в парсере jevix
  • в классе LS методы заменены на статические
  • в сущности топика добавлены новые вспомогательные методы: getUrlEdit, getIsAllowDelete, getIsAllowEdit, getIsAllowAction
  • новая опция в конфиге $config['smarty']['compile_check'] для отключения проверки шаблонов перед компиляцией
  • фикс бага с передачей сессии в каптчу
  • фикс предпросмотра у топика-ссылки и опроса
  • фикс установки уровня php ошибок в Viewer
  • теперь, если файл шаблона плагина не найден, будет попытка его найти в каталоге шаблона плагина /default/, это позволит не дублировать файлы шаблонов для разных скинов
  • фикс утечки памяти при обработке конфига
  • для топика устанавливается canonical url
  • фикс экранирования полей в ORM
  • для ORM связи many-many добавлен новый метод clear() для удаления всех текущих связей
  • возможность в определении ORM связи has-many указывать дополнительный фильтр (4-й параметр)
  • поддержка группировки в условиях ORM запроса
  • фикс XSS в пагинации
  • в определении таблицы в ORM учитывается имя плагина, например, prefix_pluginname_user_invite
  • теперь при запуски из консоли функция func_getIp вернет 127.0.0.1
  • в jevix в обработку тегов TR_TAG_CALLBACK_FULL дополнительно передается содержание между тегов
  • в ls.ajax в хук дополнительно передаются параметры callback и more
  • оптимизация выборки инбоксов
  • фикс бага подписки на комменты к топику из закрытого блога
  • фикс удаления файлов изображения фото-сетов при удалении топика