Современная, быстрая и удобная система управления сайтом

MaxSite CMS 0.79 (тестирование)

Версии (релизы)Комментарии: 25Просмотров: 62135

На гитхабе уже доступна MaxSite CMS 0.79 (точнее 0.795), что приближает нас к очередному релизу - предположительно это будет 0.80 (через неделю-две).

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

Особо отмечу, что обновление следует выполнять как описано в install-ru.txt - путем замены каталогов system и application. Если делать простой заменой файлов, то могут быть некоторые проблемы. Изменений в базе данных нет, поэтому без труда можно откатиться к любой другой версии MaxSite CMS.

Теперь кратко пройдусь по основным моментам.

Отказ от визуального редактора по-умолчанию

Достаточно важный момент, который затронет всех пользователей системы. Теперь в MaxSite CMS по-умолчанию будет невизуальный редактор markItUp, поддерживающий bb-код.

Я прекрасно осведомлён о проблемах визуального редактора editor_jw, но постоянная его поддержка и вылавливание глюков меня окончательно достали. Главная проблема визуальных редакторов (всех) - непредсказуемый HTML-код. Одни абзацы, чего стоят...

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

Например все они содержат ошибки, приводящие к потере данных записи при фоновом сохранении. Редактор Tiny MCE выглядит неплохо, но весит более 2Мб. Так что по размеру он точно не годится.

Кроме того у визуальных редакторов существует проблема при работе с преформатированным кодом. Они не понимают его и в итоге такие тексты превращаются в нечитаемое мессиво. Также существуют проблемы с авторасстановкой тэгов. Технически в MaxSite CMS есть все средства, чтобы управлять этими процессами, но пока авторы плагинов над этими вещами не работали.

Поэтому я решил выделить на эту работу 5000WMR (из Фонда + сам доплачу) тому, кто доведет до ума или сделает сам визуальный редактор, который и пойдет в комплект. Условия следующие:

  • Небольшой размер - максимум 200Кб.
  • Достаточный функционал - желательно такой, чтобы повторял возможности markItUp.
  • Расширяемый - какой-то вменяемый API, позволяющий добавлять свои кнопки.
  • Поддержка сохранения по «Ctrl+S», фоновое сохранение и полноэкранный режим. Просмотр/правка HTML-кода.
  • Возможность управлять авторасстановкой тэгов. В MaxSite CMS масса хуков, позволяющие обрабатывать текст перед отдачей в редактор (например преобразовать преформатированный текст в спецсимволы), так и на уровне отдачи из редактора перед внесением в БД.
  • Поддержка старых текстов, особенно с преформатированием.

Если нужна помощь, создавайте тему на форуме, предлагайте свои идеи и варианты. Будем думать.

Если до выхода 0.80 не успеем, то скорее всего включу в комплект старый editor_jw.

Концепция шаблона D2

Default-шаблон остаётся и не меняется. Это сохраняет совместимость со всеми старыми шаблонами. Более того, сохраняется возможность создавать новые шаблоны на базе default. Что касается D2, то он строится на основе shared-каталога, где хранятся все общие «межшаблонные» файлы.

По сути D2 это тот же default, только немного поправленый и использующий shared-каталог вместо default. Я думаю, что проблем с освоением D2 не возникнет, поскольку количество файлов сократилось, а структура каталогов теперь расчитана на большую гибкость и модульность. Если в default компонент это отдельный файл, то в D2 - это каталог. Следовательно компонент может использовать и другие файлы, не засоряя общий каталог. Аналогично устроены и другие части системы, например type-файлы.

При html-верстке в я стал применять шаблонизатор Page_out. Он подключается по-умолчанию в шаблоне, поэтому автоматом доступен для всех функций и файлов шаблона.

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

Использование LESS

Предполагаю, что именно LESS будет основной трудностью в освоении D2. По этой причине официально заявляю, что технчиески нет никаких проблем продолжать делать сайты на «голом» CSS. Алгоритмы подключения css-файлов описаны в wiki.

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

В MaxSite CMS будут и дальше появляться улучшения для работы с LESS. Например сейчас уже реализовано автоподключение less-файлов компонентов, блоков, элементов и т.п. Появился новый плагин Less compiling, позволяющий компилировать любой less в css-файл. Если раньше компилятор использовался в основном в var_style.php, то сейчас можно подключить любой less-файл (например в плагине).

Хочу обратить внимание на структуру css-less. Это последний вариант, который учитывает основные задачи верстальщика. Структура рекомендованая, но не обязательная. Она рассчитана на то, чтобы иметь в своем арсенале готовые наборы стилей для компонентов, плагинов, меню и т.п.

Отдельного упоминания заслуживают два каталога: frameworks и elements. Каталог frameworks предполагается использовать для стилей различных css-фреймворков, вроде бутстрапа. То есть вебмастер загружает стили и подключает к своему шаблону - у него автоматом становятся доступны все стили фреймворка. Правда есть один нюанс - существующие css-фреймворки основываются на предопределённых css-классах. Из-за того, что в MaxSite CMS используются другие, то стили сложно будет применить один в один. Вместо этого, мы думаем что следует адаптировать стили к less-миксинам (по сути перенести дизайн в миксы), и подключать уже к существующим элементам MaxSite CMS, не затрагивая html-вёрстку. Строго говоря это могут быть даже не фреймворки, а произвольные UI Kit, которых в Интернете валом.

Каталог elements выполняет похожую функцию, только применительно к отдельно взятым элементам. Это могут быть разные дизайны/стили кнопок, пагинации, табов и т.п. Верстальщик загружает необходимы файл и применяет его к нужным элементам (или автоматом).

Пока эти вещи в процессе обсуждения, кто имеет опыт работы с LESS, могут поделиться своими идеями и опытом.

Тестирование

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

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

1KudesnikСайт11-12-2012 20:17

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

У простого пользователя должна быть возможность легко вставлять флеш, видео, медиа-файлы.

В поисках редактора и файл-менеджера наткнулся на http://elrte.org/ru/ вроде весьма хорошие и современные скрипты.

Я бы не стал ограничиваться размером, да было бы прекрасно иметь легкий редактор и файл-менеджер, но удобство и скорость публикации здесь важнее, чем лишние Мб.

2@olannmk11-12-2012 20:23

Очень понравился новый подход и шаблон D2.

Начал с ним разбираться и возникла проблема с хелперами

@import url('../../../shared/css-less/mixins/helpers.less');

Получаю 2 ошибки в результате работы функции findImport($url) из less/lessc.inc.php

Приблизительно следующего содержания:

Message: is_file() [function.is-file]: open_basedir restriction in effect. File(/../../../shared/css-less/mixins/helpers.less.less) is not within the allowed path(s): ()

Filename: less/lessc.inc.php

3Максим11-12-2012 21:14

На сервере включена директива open_basedir. Нужно либо её отключить, либо указать все каталоги для подключения файлов.

4berliozz12-12-2012 05:44

Максим, есть пара вопросов/комментариев по новой системе.

Инструкция по установке:

Установите права на запись на каталог кэша (application/cache/) и все его подкаталоги.

Какой тип прав ставить: 700 / 777 или еще какой-то? Так как кому права на запись давать не ясно.

И неясно что с редактором, нажатие кнопок приводит к вставке bbcode, который потом никуда не преобразуется и статья на сайте показывается с bb тегами. При этому html код кушает прекрасно. В принципе от редактора ничего не требуется, но вставка изображений с центрированием удобнее кнопками.

5Максим12-12-2012 07:32

Какой тип прав ставить: 700 / 777 или еще какой-то? Так как кому права на запись давать не ясно.

Обычно 777, но для вашего сервера может хватать и 700.

И неясно что с редактором, нажатие кнопок приводит к вставке bbcode, который потом никуда не преобразуется и статья на сайте показывается с bb тегами. При этому html код кушает прекрасно.

Включите плагин bb-кода.

6Андрей12-12-2012 20:30

Максим, а каким основным браузером вы пользуетесь?

8berliozz13-12-2012 14:17

Максим, а есть ли планы по интеграции файл-менеджера и редактора?

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

Сегодня размещал материал, который содержал всего 12 изображений, оказалось очень утомительное занятие.

И второй момент, можно ли сделать генерацию ссылок на изображения зависимыми от активированных плагинов, например активирован lightbox и постоянно приходится руками дописывать class="lightbox".

Спасибо за интересную CMS.

9Максим13-12-2012 14:38

У нас нет привязки файлов к записям и никогда не будет. Потому что это глупость. Выставьте сортировку в загрузках по дате.

10Максим13-12-2012 14:39

Да, и используйте готовые bb-коды, тогда ничего нигде дописывать не нужно.

11АлександрСайт13-12-2012 19:30

Постепенно maxsite превращается в какого-то монстра (в хорошем смысле):-).

Использование LESS, появился свой шаблонизатор ... В принципе, система становится настолько гибкой, что глаза разбегаются и не знаешь за что хвататься.:-) Пора по ней учебник выпускать. Максиму огромный респект!

12Алиса14-12-2012 04:38

Доброе время суток, добавьте в систему возможность выбора вложенности страниц,

домен/черви/вид/конкретный_червь

13berliozz14-12-2012 04:55

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

Вопрос стоит в удобстве создания контента, не более и кажется это не требует изменения в логике CMS.

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

14Максим14-12-2012 08:45

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

Такое можно реализовать только, если связать файл и запись. У нас файлы могут меняться в uploads произвольно, хоть по ftp. Поэтому такой связки сделать невозможно.

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

15berliozz15-12-2012 03:33

А если поработать с именами файлов?

Напримери, есть статья: "О жизни птиц" - ojp в транслите, всем файлам из этой статьи даем имена вида ojp_NAME.*

Таким образом сохраним текущуюю функциональность и добавим своебразное тегирование.

16Максим15-12-2012 07:53

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

17jogurt15-12-2012 12:16

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

18Мурванидзе15-12-2012 19:05

Такое можно реализовать только, если связать файл и запись.

Почему Вы так решили? Просто вместо простой ссылки на загрузки должна быть кнопочка "Вставить пикчу", при нажатии на которую в диве открывается файл-менеджер, где можно всё делать с файлами, а также выбрать нужный файл и двойным кликом или ещё какой-то кнопкой цапнуть код с ним.

То есть файл-менеджмент остаётся автономным, как и был. Только надо упростить цепочку "открыть в новой вкладке загрузки - найти файл - скопировать код - вернуться в редактор - вставить" до "нажал ПИКЧИ - (закачал) выбрал файл - нажал ИМАГЕ или ИМГ" - и код вставлен, не уходя со страницы.

Разработчикам пофиг. Все давно привыкли. Я вообще держу галереи на пикасе.

Но если делаешь блог или сайт и сдаёшь его клиенту на контент-менеджмент, ВСЕ, абсолютно все берутся за голову когда речь доходит до закачки и вставки картинок в текст.

Если бы эта проблема была бы решена, это был бы принципиально новый уровень.

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

19Максим15-12-2012 19:16

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

Что касается упростить загрузку файлов или сделать её прямо в редакторе в виде метаполя, то уже кто-то пытался это сделать и даже был какой-то рабочий пототип. Сейчас этим никто не занимается, а мне это не интересно.

20berliozz16-12-2012 05:16

Максим, вы делаете отличную CMS, но у неё просто катострофа с юзабилити, особенно в админке. А юзабилити и look&feel; слишком большой вес имеют в мире, чтобы просто так их игнорировать.

Спустя неделю активного ковыряния в данной CMS, я просто решил уйти обратно на wordpress и черт с ним, что он сложнее, жрет много ресурсов и т.п. вещи, у него есть неоспоримое преимущество, он работает достаточно предсказуемо.

Просто пример, в Wordpress у меня блогу 3 года, средняя посещаемость около 7к в сутки. Количество загруженных изображений огромно, и при этом я могу всегда в галерее найти нужную картинку по тегам и фильтрами по категориям статей, в которой она была. В реализации MaxSite, я уже боюсь представить что будет, когда картинок станет большее 100.

Меня действительно расстраивает тот факт, что поставив CMS в первый раз, и начав тыкать кнопки визуального редактора, я получил bbcode, который система не смогла распознать.

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

К сожалению, система получается какой-то маргинальной, слишком гиковой.

Поддержка CMS - она просто отсутствует как класс. Да, Максим быстро отвечает на вопросы, но коммьюнити просто мертвое, что расстраивает еще больше.

Максим, пока в систему не придут простые пользователи, популярности не будет :(

21Максим16-12-2012 10:24

Да мне плевать, сидите на WordPress. Человеку, который за неделю не смог разобраться как включить плагин bb-кода, оно в самый раз.

22Яр БестСайт18-12-2012 01:58

Максим, вы делаете отличную CMS, но у неё просто катострофа с юзабилити, особенно в админке.

К сожалению, соглашаюсь. При всех плюсах МаксСайта, создание статьи с видео и скриншотами - это какой-тог кошмар :( И это только один из примеров.

P. S. Всё равно спасибо за движок :)

23Олег24-12-2012 05:42

Может делать автоматом папку с названием по текущей дате для загрузки картинок ? например 2012-12-24 или 2012/12/24 что то подобное

Как делается в некоторых других CMS ?

тогда проще - для вставки картинки фильтровать по текущей дате

24boo09-01-2013 08:18

wiki надо для пользователей которые статьи писать с bb-кодами не могут

25ossarchouk08-04-2013 17:30

Есть отличный редактор. http://imperavi.com/redactor/

Зачем изобретать велосипед?

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

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

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

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