MaxSite CMS 0.40

Просмотров: 20029Комментарии: 21
MaxSite CMSВерсии

Представляю вашему вниманию 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. Что-то связанное с безопасностью.

- Ряд других мелких правок.

Комментариев: 21 RSS

1Иван10-08-2010 15:52

Большое спасибо за обновление, очень нравится ваша система.

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

2Максим10-08-2010 16:54

Если сделаете, то присылайте свой вариант на мой email. Я посмотрю.

3Feelov10-08-2010 19:25

Было бы еще очень круто добавить в плагин "добавить в ..." кнопку для вконтакте, для "моего мира" мэйл.ру.

И, конечно, спасибо! Сейчас обновлюсь! :)

4daster10-08-2010 22:07

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

5Максим10-08-2010 23:47

Было бы еще очень круто добавить в плагин "добавить в ..." кнопку для вконтакте, для "моего мира" мэйл.ру.

Есть ссылка на коды размещения и иконки?

6Игорь11-08-2010 08:41

Обновил все файлы, но при запуске обновления базы вышла ошибка:

Error Number: 1091

Can't DROP 'category_type'; check that column/key exists

ALTER TABLE `mso_category` DROP INDEX `category_type`

И теперь на сайте все посты дублируются - cmsbezmysql.ru - подскажите что сделать нужно.

7@feelov11-08-2010 09:06

Есть ссылка на коды размещения и иконки?

Максим, да, конечно. :)

коды размещения и иконки:

в контакте - http://vkontakte.ru/pages.php?act=share

мой мир - http://developers.my.mail.ru/wiki/Ссылки@Mail.Ru

8Максим11-08-2010 10:21

Обновил все файлы, но при запуске обновления базы вышла ошибка:
Error Number: 1091
Can't DROP 'category_type'; check that column/key exists
ALTER TABLE `mso_category` DROP INDEX `category_type`

Значит обновление уже было выполнено, поэтому выдается сообщение об ошибке. Чтобы отключить сообщение нужно в файле application\config\database.php выставить $db['default']['db_debug'] = FALSE; .

Убедиться, что обновление выполнено можно с помошью phpMyAdmin. Например в таблице mso_category не должно быть индекса category_type.

Файл application\controllers\update040.php после обновления в принципе можно удалить.

И теперь на сайте все посты дублируются - cmsbezmysql.ru - подскажите что сделать нужно.

Проверьте, что вы действительно обновили все файлы системы.

9GTAlexСайт11-08-2010 10:24

как отписаться от комментариев ?

(вообще неплохо бы эту ссылочку в рассылаемые по почте комментарии добавить)

10Игорь11-08-2010 16:54

Убедиться, что обновление выполнено можно с помошью phpMyAdmin. Например в таблице mso_category не должно быть индекса category_type.

Индекса вроде нет - значит все таки обновилось.

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

12AnabiotickСайт15-08-2010 15:06

Отлично. Обновилось без сучка и без задоринки после отключения дебага базы в database.php

Спасибо, система становится все лучше и лучше.

13jogurt18-08-2010 02:29

Максим, такая проблема возникла после обновления.

В бд префикс у таблиц не mso, а другой выставлен.

В сайдбарах для виджетов выставлены условия, связанные с проверкой типа страницы (blog, static и т.п.).

Все виджеты нормально работают на сайте, но при попытке войти на страницу админки настройки виджетов (не самого сайдбара, там все нормально) выдает ошибку БД Error Number: 1146

и пишет, что не существует таблица type_page, при этом там для этой таблицы в сообщении об ошибке указаны оба префикса, т.е. и mso, который по умолчанию, и тот, который я на самом деле использую.

Примерно так: iks_mso_page_type вместо просто iks_page_type

14Максим18-08-2010 11:22

Вот тема на форуме, где обсуждаются проблемы с обновлением: http://forum.max-3000.com/viewtopic.php?f=2&t=2824

15sagitaria19-08-2010 13:15

Скажите пожалуйста, а есть ли возможность включать микроформаты в виджете ссылок?

16@35metod20-08-2010 11:15

с редактором есть ещё одна "засада")) - ширина

она очень узкая теперь в некоторых шаблонах админки, например от Dimox

пришлось переключиться на дефолтный, тут всё ок

17KaramurzaСайт20-08-2010 21:00

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

20Nexar02-09-2010 17:41

Заметил одну особеность. В шаблонах используется конструкция <?= которая не работает при отключённых коротких тегах(short_open_tag = off).

А в базе оптимизировать нужно не только запросы ,но и типы данных.

Например в таблице users в поле users_password используется тип varchar(255), а оптимальнее использовать char(32)(поскольку хранится хэш пароля а его длина всегда 32 символа).

P.S. В коментах не пропускает <

Оставьте комментарий!

Комментарий будет опубликован после проверки

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)

О проекте

MaxSite CMS предназначена для создания сайтов любой сложности. Система отлично подходит обычным пользователям, вебмастерам, фрилансерам и вебстудиям.