30 сентября 2014

Переехали давно =)

Блог мёртв. Уже давно ничего сюда не пишу. Как есть - так есть.

19 января 2012

Amiant Image Gallery 0.5 для Concrete5 5.5.0

Amiant Image Gallery for Concrete5 CMS
Доброго времени суток!

Наконец, я удосужился выпустить обновление для модуля Amiant Image Gallery для Concrete5 CMS. С осени 2011 выходили только мелкие исправления, это же полноценный релиз.


Итак, что изменилось в версии 0.5:
  • Работает только с Concrete5 версии 5.5.0 и выше, если нужно использовать более старую версию, то специально для этого позавчера я выпустил 0.2, которая совместима с Concrete5 с 5.4.0 до 5.5.0 включительно, но использует старый GUI.
  • Заголовок галереи теперь действительно работает, раньше он был "просто так". Ну, это не очень-то полезная функция, ее можно было всегда сделать контент-блоком.
  • Новая функция - добавление постраничной навигации по слайдам в режиме слайдшоу.
  • Исправлены 6 неявных ошибок, которые возникали только при определенных обстоятельствах.
  • Поправлен и обновлен стиль CSS.
  • Административная часть теперь полностью совместима с Concrete5 вер. 5.5.0. Интерфейс теперь строится на фреймворке Twitter Bootstrap и LESS Framework.
  • jQuery FancyBox обновлен до версии 1.3.4, в следующей версии планирую перейти на FancyBox 2.
  • Теперь проект хостится и версионируется на GitHub: https://github.com/Cravener/Amiant-Image-Gallery

В планах:
  • Поступило 17 Feature Requests со всего мира. Буду делать, но не все сразу и вообще не уверен, что включу все.
  • Добавить несколько разных шаблонов представления галереи.
  • Заменить встроенный Bubble Popup на идущий в составе Twitter Bootstrap инструмент для создания всплывающих подсказок Twipsy.
  • Сделать режим навигации по миниатюрам во время работы в режиме слайдшоу (сверху линейка прокручивающихся миниатюр, снизу полноразмерное изображение).
  • Надо переходить на FancyBox 2, это позволит добавить несколько новых функций.
  • Добавить функцию автопроигрывания для Zoom Mode.
  • Добавить функцию обрезания и масштабирования изображений таким образом, чтобы оно заполняло всю область миниатюры. Например, как на FaceBook.
  • Добавить возможность указывать количество миниатюр в одном ряду.
  • Добавить возможность сортировки изображений по дате добавления, а не только в порядке расположения в Наборе файлов.
  • Добавить функцию "image-on-state", т.е. способ задавать второе изображение, которое будет появляться на месте оригинала при наведении курсора мыши.
  • Ну, пока вроде все. Что касается планов на добавление функционала для аудио- и видео-галерей - нет, в Amiant Image Gallery этого не будет. Слишком широкий и запутанный функционал - это уже перебор. Для аудио и видео лучше написать отдельный модуль со своим специфическим функционалом, за основу можно взять и Amiant Image Gallery.

Вот несколько скриншотов административной части новой версии Amiant Image Gallery (можно сравнить со старыми в этом посте):





Насколько я успел заметить, Amiant Image Gallery используют около 50 сайтов на данный момент, вот кое-что из того, что я нашел в Concrete5 Marketplace:

Примеры работы Amiant Image Gallery add-on for Concrete5 CMS:
Ну а скачать Amiant Image Gallery 0.5 можно либо с Concrete5 Marketplace (можно установить прямо из панели управления вашего сайта на Concrete5 CMS):
либо с GitHub:


Всем спасибо!

30 марта 2011

Экстра кэширование для Concrete5


Всем привет!

Хочу представить Вашему вниманию вольный перевод статьи "An extra cache for Concrete5".

Итак начнем...

Я большой фанат Concrete5. Эта система невероятно мощная, гибкая, легкая для разработчика и особенно проста для конечного пользователя. Тем не менее, иногда она бывает весьма "тяжелой" для сервера и я решил придумать простейший кэш для нее (Кэширование уже присутствует в Concrete5, однако это дополнительный, настраиваемый легковесный кэш - прим. Count Raven Amiant). Многие сайты по сути своей весьма статичны, поэтому этот дополнительный кэш предназначен для того, чтобы сделать Concrete5 настолько статичной, насколько это возможно.

Принципы данного кэша основываются на следующих моментах:
  • Если нет смысла обновлять страницу, то кэшированая копия может храниться бесконечно долго. Большинство моих сайтов довольно статичны.
  • Если кто-то осуществляет GET или POST запрос - не кэшировать их вообще.
  • Проверить, авторизован ли пользователь. Если пользователь авторизовался на сайте - отключить кэширование.

Как установить?

Сначала скачайте и распакуйте ZIP-архив. Положите папку bootstrapcache из архива в папку libraries в корневой папке Concrete5.

Замените файл dispatcher.php в папке /concrete аналогичным файлом из архива. В этом файле я переместил чуть раньше управление сессией и добавил одну строку кода, чтобы интегрировать кэш.

Теперь кэш уже работает, но вы должны включить режим отладки, чтобы проверить это.

Дальнейшая конфигурация

Конфигурация по-умолчанию прекрасно работает, однако следует отредактировать файл site.php в папке /config чтобы задать дополнительные параметры конфигурации кэша. Здесь можно включить/выключить кэширование, режим отладки, создать исключения и определить как индивидуальное так и общее время хранения кэшированных страниц.


// включение/выключение кэша
define('BOOTSTRAPCACHE', true);
// включение/выключение режима показа отладочного сообщения
define('BOOTSTRAPCACHE_DEBUG', true);

// установка времени хранения кэша по-умолчанию, null подразумевает бесконечное время хранения
define('BOOTSTRAPCACHE_DEFAULT_CACHE_TIME', null);

// в этот массив добавляем страницы, которые никогда не должны кэшироваться
define('BOOTSTRAPCACHE_EXCLUDED_PAGES',  serialize(array(
'/index.php/login/',
'/index.php/login/do_login/'
)));

// если вы хотите назначить различное время хранения кэша для отдельных страниц,
// добавьте эти страницы сюда, например:
define('BOOTSTRAPCACHE_CACHE_TIME_SPECIFICS',  serialize(array(
    '/weather/'=>600
)));

Несколько замечаний
  • Имейте ввиду, что "родное" кэширование Concrete5 должно быть отключено.
  • Страницы, на которых находится динамический контент, например RSS-лента, должны быть добавлены в массив BOOTSTRAPCACHE_CACHE_TIME_SPECIFICS, где необходимо назначить им отдельное время кэширования.
  • Было бы замечательно не трогать файлы в ядре Concrete5, но view.php должен быть переопределен, а dispatcher.php отредактирован. Иного пути нет. Будьте внимательны, если в будущем будете обновлять библиотеки ядра Concrete5.
  • На данный момент кэширование работает только для так называемых "красивых ссылок", т.е. для тех, которые выглядят как http://www.site.ru/page/, а не как http://www.site.ru/index.php?cID=51 и подобные.
  • Кэш не поддерживает CSS и JavaScript, которые подключаются через index.php. Поэтому внутри шаблона не используйте функцию getStylesheet, вместо нее используйте getThemePath и подключайте необходимые ресурсы напрямую (как описано здесь).
  • Это очень сырой код, поэтому тщательно тестируйте все, прежде, чем положить его на работающий сайт. Я буду обновлять его, если найду проблемы в работе.


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

Сайт автора оригинала статьи (англ.): MESUVA Web Development

А теперь ссылка для тех, кто хочет качественные пластиковые окна - заказать пластиковые окна!


17 марта 2011

Disqus для Concrete5 CMS


Доброго времени суток!

Хочу представить Вашему вниманию мой новый модуль для Concrete5. Это простейший модуль, который позволяет Вам добавить на сайт систему комментирования от известного сервиса Disqus.

Блок элементарен в плане настроек, всего лишь вводите свое имя на Disqus в настройки, т.е. http://ИМЯ.disqus.com/. Если вы работаете на локальной системе и сайт недоступен извне, то можно поставить галочку "Developer Mode".

Скачать можно на официальном сайте Concrete5, а именно тут:

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

25 декабря 2010

Amiant Image Gallery для Concrete5


Доброго времени суток!

С наступающим Новым 2011 годом (11 мое счастливое число).
Пора раздавать новогодние подарки. Вот Вам от меня! =)

Хочу представить Вашему внимаю мой новый модуль для Concrete5 CMS - Amiant Image Gallery.

Модуль на английском языке, это требования Concrete5 Marketplace, но Concrete5 Russia вроде собирались перевести его на русский. Подождем.

Итак, краткое описание:
1. Отображение изображений как отдельных так и из набора.
2. Три режима работы: Миниатюры, Слайдшоу, Режим Zoom Mode.
3. AJAX загрузка изображений в режиме миниатюр.
4. Фоновая AJAX загрузка изображений в режиме слайд-шоу (как во вконтакте - пока смотрим одну фотку, а вторая уже грузится в фоне).
5. Показ информации об изображении (Имя файла, тип, размер, описание, ссылка на скачивание) в режиме миниатюры и в режиме слайдшоу.
6. 10+ эффектов (не считал) для слайдшоу.
7. Возможность настройки всего и вся.
8. Возможность размещения любого количества блоков на одной странице (они независимые, все функции и стили генерируются с уникальным идентификатором блока), причем, если вы используете режим миниатюр, то JavaScript для Zoom Mode (если он отключен) и для Слайдшоу грузиться не будут, если же вы находитесь в режиме слайдшоу, то JavaScript для Zoom Mode не будет грузиться - убираем лишний мусор =)
9. Всякие прочие мелочи, надо смотреть.

Скрины:








С Новым Годом! Это все бесплатно! Пишите пожелания и баги, я планирую для этого модуля еще много нововведений. ОН НИКОГДА НЕ БУДЕТ ПЛАТНЫМ!