Ход работ

Подписаться на эту рубрику по RSS

Ход работ по системе

MaxSite CMS 0.36-pre

Воскресенье, 13 декабря 2009 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 6240
Подписаться на комментарии по RSS

Последний latest - это предрелиз MaxSite CMS 0.36. Вы можете её скачать и проверить работу. Ошибки и замечания, можно писать сюда или на форум. Описание изменений будет позже в анонсе 0.36.

Подписка на комментарии

Четверг, 10 декабря 2009 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 5963
Подписаться на комментарии по RSS

В MaxSite CMS 0.36 я планирую добавить рассылку на новые комментарии. В предыдущих версиях были внесены все изменения, осталось только реализовать сам алгоритм рассылки. В последнем latest я внес все изменения и нам нужно как-то проверить результат. Если вы умеете работать с latest, то можете попробовать обновить свой сайт и потестировать на нем.

Для остальных достаточно на своей персональной странице комментатора отметить опции «Подписаться на новые комментарии, где я участвую и новые комментарии, где я не участвую» (остальные опции пока не задействованы). Обязательно сохраните профиль. После этого можно оставить свой комментарий к этой записи. По-идее все должны получить уведомление.

Плагин «Модули»

Понедельник, 3 августа 2009 г.
Рубрика: MaxSite CMS -> Плагины -> Ход работ
Просмотров: 9866
Подписаться на комментарии по RSS

Хоть MaxSite CMS и предлагает разработчику полную свободу в организации шаблона и вывода (произвольных) данных, в основном вывод осуществляется в блоговом формате. За основу берутся type-файлы шаблона default.

Это упрощает создание шаблонов, где все сводится к дизайну и не требуется сложное программирование. То есть у нас предполагается, что все программирование выполняется через файлы type.

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

В этом случае в шаблоне отмечают необходимые места/блоки вывода, а уже в админке определяют что именно должно выводиться в каждом блоке. Именно для такого вывода и предназначен плагин «Модули» (появился в MaxSite CMS 0.338).

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

Опции плагинов. Новые возможности

Понедельник, 6 июля 2009 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 7276
Подписаться на комментарии по RSS

У нас есть масса плагинов, которые могут иметь свои настройки. Но создавать страницу управления этими опциями может оказаться не совсем оправданной задачей: код формы, админ-страницы будет больше, чем сам плагин. Поэтому я задумал вынести весь код управления в одну специальную страницу (в админке), а в самом плагине достатачно будет лишь указать название опции, тип и ключи массива. Если в плагине определена специальная функция, то возле плагина появится ссылка на настройки этого плагина.

В последнем latest (MaxSite CMS 0.334) я наконец-то реализовал эту задумку.

На практике это выглядит так. В плагине необходимо предопределить функцию «плагин_mso_options». После активации плагина на его стутусе «вкл» появится ссылка на страницу настроек. На этой странице и находится форма с нашими опциями.

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

Версия MaxSite CMS 0.32-pre

Вторник, 19 мая 2009 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 6271
Подписаться на комментарии по RSS

Последний latest - это будущая 0.32. Изменений много, большинство обсуждали на форуме. Если за сутки не обнаружатся ошибки и баги, то этот latest переименую в MaxSite CMS 0.32. Тогда же и напишу про все изменения.

Изменения в шаблонах

Суббота, 2 мая 2009 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 7721
Подписаться на комментарии по RSS

В будущей MaxSite CMS 0.32 решил сделать еще большую кастомизацию шаблонов. Начальные идеи я описал на форуме, а здесь остановлюсь на основных моментах.

Итак, у нас есть некая базовая концепция организации шаблонов: html-каркас хранится отдельно, а программная часть в каталоге type дефолтного (default) шаблона. Пример: шаблон «Clouds». Этим удалось значительно снизить зататы на создание шаблонов, то есть дизайнеру нет необходимости заниматься программированием и поддержкой обновлений - все автоматом обновится вместе с системой.

Однако, такой подход имеет и ограничения. Прежде всего речь идет о том, что в type-файлах жестко задан порядок вывода информации: заголовок, дата, потом рубрики и т.д. А что делать, если по дизайну нужно вывести рубрику после текста, а дату вообще убрать? Единственный способ был - скопировать нужный type-файл в свой шаблон и там его уже править.

Само по себе это не очень сложно, но тут у нас может возникнуть проблема с обновлением. Например в будущей версии MaxSite CMS я что-то изменю в дефолтном шаблоне: скажем, добавлю новую полезную функцию. Таким образом вебмастеру придется искать все изменения и опять обновлять свои type-файлы.

Всё это не совсем удобно, поэтому я решил реализовать механизм, который позволяет использовать type-файлы «частично»: подключается type-файл дефолтный, а для организации самого цикла вывода - свой кастомный «type_foreach»-файл.

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

Первая запись из блог-клиента

Суббота, 31 января 2009 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 9469
Подписаться на комментарии по RSS

Пока, конечно, еще не все задумки реализованы, но для первой версии получилось неплохо. К тому же примерно 90% времени ушло не столько на саму программу, сколько на разработку API. В некоторых случаях пришлось вносить изменения в систему.

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

Поэтому единственным форматом, существующим на текущий момент, является текстовый (text). Помимо простой обработки (обычные строки), есть еще преимущество - меньший объем передаваемых данных. Где-то на 30-60%. Всё в купе только положительно сказывается на скорости.

Сейчас блог-клиент я еще тестирую. Очень скоро выложу версию 0.29, где уже будет рабочий remote.php, а также дам ссылку на программу. Все желающие смогут потестировать и оценить работу.

Get-запросы в MaxSite CMS

Среда, 28 января 2009 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 7425
Подписаться на комментарии по RSS

У меня просьба к тестерам: потестировать последний latest. В нем реализована возможность указывать get-запросы. Например:

  • http://site.com/?param=val&param3=val
  • http://site.com/page/about?param=val&param3=val
  • http://site.com/?param
  • и т.д.
Проблема заключается в том, что MaxSite CMS использует парсинг входящего url средствами CodeIgniter. А он недостаточно полно обрабатывает строчку, в итоге в сегменты записывается строка после «?» (а нужно её отсекать). По этой причине пришлось ввести дополнительную проверку и обработку. Также теперь метод _remap определяется из уже сегментов $MSO, а не из CodeIgniter.

Три новые функции:

  • mso_segment_array() - получение массива сегментов
  • mso_url_get() - получение get-строчки
  • mso_parse_url_get() - преобразование get-строчки в массив (ключ=значение)
В $MSO добавил новый ключ: $MSO->data['uri_get'] - get-строчка.

Админ-панель аля-WordPress и удаленный постинг

Воскресенье, 11 января 2009 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 28005
Подписаться на комментарии по RSS

В последнем latest выложил шаблон для админ-панели, которую сделал Дима и которая напоминает WordPress. Так, что если если вам нравится цветовое решение WordPress, то шаблон переключается, как обычно в основных настройках.

В этой версии также последний вариант remote.php - удаленный постинг с помощью блог-клиента. Сразу отмечаю, что сие пока в стадии создания, поэтому предназначено только для тех, кто понимает о чем речь. Обсуждение в ветке на форуме. Там же и ссылка на сам блог-клиент.

Запоминание комюзера

Суббота, 29 ноября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 6473
Подписаться на комментарии по RSS

В сегодняшнем latest доделал запоминание комюзеров. Все работает через единую форму, которую можно установить в сайдбаре с помощью плагина «Login form». Система сама разберется где комюзер, а где админ/автор. Кому нужно расположить форму в другом месте шаблона смотрите функцию login_form_widget().

Этот latest будет последним перед следующей версией. Так же здесь я исправил все ошибки и замечания. Если за день-два ничего нового не обнаружится, то переименую в MaxSite CMS 0.26.

Пробный вариант локализации в MaxSite CMS

Четверг, 13 ноября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 6972
Подписаться на комментарии по RSS

Задача довольно сложная, но, учитывая большой опыт локализации WordPress, я решил сразу не спешить, а хорошенько подумать. Сделать качественный алгоритм локализации довольно тяжело, потому что нужно учитывать сразу множество факторов. Главные это легкость изменения и поддержки разработчиком; легкость интеграци (по возможности «на лету») и небольшая ресурсоемкость.

Таким образом я предлагаю всем желающим потестировать новую возможность, скачав последний latest.zip (от 14 ноября 2008 г.).

Далее технические подробности

Последняя запись на главной

Суббота, 18 октября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 6694
Подписаться на комментарии по RSS

Добавил в дефолтный шаблон возможность выводить последнюю запись на главной странице при выводе рубрик блоками (как у меня).

Еще добавил кэширование для вывода блоков рубрик на главной. Там получается довольно нехилый цикл по указанным рубрикам. После кэширования количество запросов сократилось до 3-4.

Быстрое обновление MaxSite CMS

Понедельник, 13 октября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 8042
Подписаться на комментарии по RSS

Для быстрого обновления MaxSite CMS можно воспользоваться php-скриптом, который распаковывает zip-архивы на сервере. Я немного потестировал библиотеку PclZip и в целом остался доволен. Правда, думаю, на некоторых хостингах может возникнуть проблемы, связанные с распределением прав. Теоретически это можно обойти, вручную выставив права 777 (разрешающие запись) на каталоги «application» и «system». А после обновления выставить их обратно, как было (обычно 755).

Узнать что нужно для быстрого обновления

Версия MaxSite CMS 0.24-pre

Понедельник, 13 октября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 6537
Подписаться на комментарии по RSS

Версия доступна по ссылке http://max-3000.com/uploads/latest.zip. Если в течение суток не будет найдено каких-то ошибок, то станет официальной 0.24. Тогда опубликую и все изменения, дополнения, описания.

Если не знаете как тестировать, версия не для вас.

Вопросы для FAQ

Понедельник, 13 октября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 7852
Подписаться на комментарии по RSS

В MaxSite CMS 0.24 будет плагин «FAQ» с помощью которого можно организовать на странице сервис вопрос-ответ. Плагин я делал под свои потребности, для будущего Центра помощи.

С удовольствием выслушаю ваши идеи насчет того, как лучше сделать этот Центр. Предварительно - это будет несколько разделов (рубрики). Каждый раздел будет иметь список страниц. На странице список вопросов и ответов. То есть главное - это составить списки вопросов по MaxSite CMS. Потом я их отсортирую по страницам и разделам.

Предлагайте свои вопросы для Центра помощи в комментариях к этой записи. smile

Небольшая проблема с MaxSite CMS 0.23

Суббота, 4 октября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 6652
Подписаться на комментарии по RSS

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

Подчеркну, что это происходит не у всех, а только на каких-то хостингах. Более точно я, к сожалению, сказать не могу. Но первый признак - это увеличенное количество SQL-запросов. Обычное значение это 6-10-15 (в зависимости от настроек шаблона и включенных плагинов). Если вдруг это число увеличилось, то значит у вас именно такая ситуация.

Для исправления вам достаточно обновить файл common.php. Он находится в application/maxsite/common/.

К следующей версии я подумаю как изменить алгоритм. Для тех, кто скачивает MaxSite CMS 0.23, изменения уже внесены в архив и ничего заменять не нужно.

Статистика для MaxSite CMS

Суббота, 20 сентября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 9065
Подписаться на комментарии по RSS

Никак не лежит у меня душа делать собственную статистику MaxSite CMS. Как представлю себе эти объемы данных, куча фильтров, анализ, вывод графиков и тому подобное, аж дурно становится. smile

Вот я подумал: а что если вместо встроенной статистики воспользоваться каким-то уже готовым сервисом, который позволяет выводить статистику где-нибудь в админ-панели?

Пока нашел только один сервис: www.w3counter.com. У них есть свой API, который позволяет выводить уже готовые графики. Но для этого требуется регистрировать аккаунт PRO за 10$ в месяц. Так что этот вариант отпал.

Использовать Google Analytics не хочется, потому что у них API сложное, да еще и недокументированное. Смотрел сторонние скрипты для аналитика - пришел в тихий ужас. Так что этот вариант тоже отпал.

Может кто-то знает еще такие сервисы?

Восстановление забытого пароля комюзера

Вторник, 16 сентября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 9209
Подписаться на комментарии по RSS

Доделал восстановление пароля. Процедура не очень сложная.

Первым делом идем на свою персональную страницу. Ссылка в каждом комментарии. В ней ссылка «Редактировать персональные данные». Там будет уже ссылка «Я забыл пароль».

В открывшемся окне три поля:

  • Email.
  • Код активации.
  • Новый пароль.
Если вы не помните код активации, то просто вводим свой email и на него повторно приходит письмо регистрации с кодом активации. Копируем этот код и заполняем все поля, включая и новый пароль. Повторно активация уже не требуется.

Увеличение времени сессии

Пятница, 12 сентября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 6842
Подписаться на комментарии по RSS

Немного изменил алгоритм подсчета времени сессии для залогиненного юзера/админа. Раньше было строго указанное время. То есть зашел на сайт, создалась сессия. Какие бы операции не происходили, ровно через продолжительность сесии, сессия уничтожалась.

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

За активность считается любое обновление страницы сайта. Поэтому пока с сайтом что-то делается, можно не опасаться разлогинивания. А как только ушел с сайта в течение какого-то времени сессия автоматом удалится (ну или можно нажать «Выход»).

Зарегистрировал фид в FeedBurner.com

Пятница, 12 сентября 2008 г.
Рубрика: MaxSite CMS -> Ход работ
Просмотров: 7129
Подписаться на комментарии по RSS

Уж коли пошла такая пьянка, то зарегистрировал фид в FeedBurner.com. Ну и сразу же сделал плагин редиректа стандартного на фидберновский. Сегодня еще погоняю, посмотрю как работает и если ошибок не будет выложу. Так же он войдет в стандартную комплектацию. smile