MaxSite CMS 0.40
10-08-2010Время чтения ~ 4 мин.Versions 31245 Представляю вашему вниманию MaxSite CMS 0.40. В ней исправлены некоторые ошибки, недочеты, добавлены новые возможности. Так же немного оптимизирована структура базы данных, поэтому, помимо привычной замены старых файлов, нужно будет запустить и обновление базы так: http://сайт/update040.
Я занялся анализом SQL-запросов с тем, чтобы выловить самые медленные и проверил эффективность использования индексов таблиц. Помощницей была Дарья (http://darievna.ru/), которая, собственно, и инициировала этот процесс. Сайт у неё довольно посещаемый и оптимизация таблиц и запросов по-идее должна благотворно сказаться на общей производительности. Из медленных запросов оказались те, которые используют подсчет количества комментариев к записи (count с group_by). Без этого время выполнения запроса уменьшается примерно в 5 раз. Поэтому я принял решение добавить один быстрый запрос и тем самым получить небольшое ускорение. Так же были удалены неэффективные индексы. Отмечу, что какого-то серьезного роста скорости не будет, это просто оптимизация для высокопосещаемых сайтов. Для большинства особой роли это не сыграет, ну разве что немного уменьшится размер базы.Немного подправлен контролер для более корректной работы с get-параметрами. Теперь явно проверяется первый сегмент URL, и если его нет, то считается, что это тип home (главная страница).При редактировании комментария появилась возможность поменять автора. Сразу отмечу, что много правок было предложено участниками нашего форума. Особо хочу поблагодарить Вадима Деркача (Wave), который не только предлагает изменения и доработки, но и поддерживает в актуальном состоянии репозитарий в гугл-группе.
Появилась возможность удалить комюзера (зарегистрированного комментатора). Все его комментарии помечаются, как анонимные.Указать высоту визуального редактора теперь можно в настройках редактора. То есть перенес из общих настроек.Новые опции в общих настройках: Email для комментариев, Уведомления о комментариях, Разрешить рассылку подписчикам.В функции mso_admin_plugin_options() можно визуально разделять опции на группы. Для этого в качестве разделителя используется тип info, например так:
...
'temp' => array(
'type' => 'info', # нужно указать такой тип!
'title' => 'Тут какой-то Заголовок',
'text' => 'Тут какой-то текст',
),
...
Ключ - произвольный, разве что уникальный в массиве. Пример использования вы можете посмотреть в плагине Random gallery.
Исправлены некоторые функции для рубрик. Например при подсчете количества записей теперь учитывается время публикации. Будущие записи не считаются.Email-рассылка подписчикам теперь осуществляется в зависисмости от выставленных опций (Уведомления о комментариях).В функции задания хука (mso_hook_add) теперь по-умолчанию используется приоритет 10. Это позволяет задавать поздние хуки. В функции отправки почты (mso_mail) можно задавать mailtype и поле from.В ini-файлах для textarea-полей можно указывать «_QUOT_», который автоматом заменится на спецсимвол «"».Достаточно много изменений в функциях получения страниц с помощью mso_get_pages(). Часть связана с изменением алгоритма получения количества комментариев (что-бы исключить медленные SQL-запросы). Другая часть - исправлены ошибки и недочеты предыдущей версии.В плагине BB-code добавил возможность указывать произвольные атрибуты для div, span, table, td и tr. Примеры можно посмотреть в bbcode-help.txt на странице плагинов. Кроме того в плагине в его опциях можно указать где именно использовать замены.Исправлен плагин крона. Ошибка приводила к тому, что срабатывали только те плагины, которые начинались до буквы «c».В виджете последних записей добавил возможность указывать формат количества комментариев, а также код для ссылки текущей страницы. Так же в нем исправил недочет, связанный с неучтением указанной временной поправки.В виджете «Самое читаемое» можно задать тип страницы.Виджет/плагин «Галереи» (Random gallery) переделан так, чтобы можно было задавать свой вывод в файле gallery.php, который следует расположить в каталоге шаблона. В плагине редиректа добавлена возможность указывать шаблон регулярных выражений.Исправление/доработка плагина голосования samborsky_polls.Плагин «Theme switch» доработан так, чтобы шаблоны можно было переключать с помощью get-запроса, например: http://сайт/?theme=clouds.В виджете «Блок tweetmeme.com» можно указать где выводить retweet.В некоторых type-файлах заменил вызов функции mso_page_comments_link, чтобы первым параметром был массив опций. Это боле универсальное решение.Доработана форма контактов. В Настройках шаблона появилось множество опций. В самой форме прописаны css-классы, которые позволят кастомизировать форму под нужный дизайн.Карту сайта (sitemap) можно выводить по хуку sitemap.При установке MaxSite CMS теперь подключается демонстрационные данные. Раньше была просто заглушка.В Sypex Dumper Lite явно указана рабочая кодировка - UTF8.Обновлен Upload.php из CodeIgniter. Что-то связанное с безопасностью.Ряд других мелких правок.
Большое спасибо за обновление, очень нравится ваша система.
У меня к вам вопрос: мне нужно для галереи добавить в загрузчик алгоритм создания миниатюр изображения, который сделает их квадратными, то есть сначала обрежет слева и справа (сверху и снизу) лишнее до квадрата, а потом уменьшит. Как я понимаю, если я его добавлю сам, то при обновлении он затрется. Может быть, вы добавите его в следующую версию загрузчика?
Если сделаете, то присылайте свой вариант на мой email. Я посмотрю.
Было бы еще очень круто добавить в плагин "добавить в ..." кнопку для вконтакте, для "моего мира" мэйл.ру.
И, конечно, спасибо! Сейчас обновлюсь! :)
Как всегда большое спасибо за обновления, буду обновлять блоги и смотреть новые фичи.
Есть ссылка на коды размещения и иконки?
Обновил все файлы, но при запуске обновления базы вышла ошибка:
Error Number: 1091
Can't DROP 'category_type'; check that column/key exists
ALTER TABLE
mso_category
DROP INDEXcategory_type
И теперь на сайте все посты дублируются - cmsbezmysql.ru - подскажите что сделать нужно.
Максим, да, конечно. :)
коды размещения и иконки:
в контакте - http://vkontakte.ru/pages.php?act=share
мой мир - http://developers.my.mail.ru/wiki/Ссылки@Mail.Ru
Значит обновление уже было выполнено, поэтому выдается сообщение об ошибке. Чтобы отключить сообщение нужно в файле application\config\database.php выставить $db['default']['db_debug'] = FALSE; .
Убедиться, что обновление выполнено можно с помошью phpMyAdmin. Например в таблице mso_category не должно быть индекса category_type.
Файл application\controllers\update040.php после обновления в принципе можно удалить.
Проверьте, что вы действительно обновили все файлы системы.
как отписаться от комментариев ?
(вообще неплохо бы эту ссылочку в рассылаемые по почте комментарии добавить)
Индекса вроде нет - значит все таки обновилось.
Все файлики обновил еще разок, но на главной все равно дублируются сообщения, в рубриках все нормально - что такое не пойму.
Обновился, никаких проблем не возникло. Спасибо за новую версию!!!
Отлично. Обновилось без сучка и без задоринки после отключения дебага базы в database.php
Спасибо, система становится все лучше и лучше.
Максим, такая проблема возникла после обновления.
В бд префикс у таблиц не mso, а другой выставлен.
В сайдбарах для виджетов выставлены условия, связанные с проверкой типа страницы (blog, static и т.п.).
Все виджеты нормально работают на сайте, но при попытке войти на страницу админки настройки виджетов (не самого сайдбара, там все нормально) выдает ошибку БД Error Number: 1146
и пишет, что не существует таблица type_page, при этом там для этой таблицы в сообщении об ошибке указаны оба префикса, т.е. и mso, который по умолчанию, и тот, который я на самом деле использую.
Примерно так: iks_mso_page_type вместо просто iks_page_type
Вот тема на форуме, где обсуждаются проблемы с обновлением: http://forum.max-3000.com/viewtopic.php?f=2&t=2824
Скажите пожалуйста, а есть ли возможность включать микроформаты в виджете ссылок?
с редактором есть ещё одна "засада")) - ширина
она очень узкая теперь в некоторых шаблонах админки, например от Dimox
пришлось переключиться на дефолтный, тут всё ок
Порадовало очередное обновление, хотя возникли некоторые трудности (т.к. ставил сразу латест 3.40), но я с ними справился благодаря обсуждению нового обновления на форуме. Что-ж, так держать - вперёд к большей стабильности и безопасности. Спасибо за систему, очень нравится.
СПС за обновленьице)
Достойная замена WP
Заметил одну особеность. В шаблонах используется конструкция <?= которая не работает при отключённых коротких тегах(short_open_tag = off).
А в базе оптимизировать нужно не только запросы ,но и типы данных.
Например в таблице users в поле users_password используется тип varchar(255), а оптимальнее использовать char(32)(поскольку хранится хэш пароля а его длина всегда 32 символа).
P.S. В коментах не пропускает <
Спасибо, очень хорошая CMS!|