1

Тема: Monstra (beta - rc - Release!)

Template CMS 3 будет отдельным проектом! Который называется: Monstra

"Монстра" передает смысл Template CMS - маленький но сильный монстр!
Расширяемый/дополняемый плагинами, темами, сниппетами.

Персонаж "Монстра": ключевая особенность - это Вилка(fork/socket) у него на голове)
Вилка(fork/socket) - это символ Plugin API / Расширяемости


* персонаж возможно будет еще дорабатываться

Зарегистрировано доменное имя: http://monstra.org
Хостинг: HostPro более мощный!


Дизайн админки Monstra beta:


Monstra основные особенности(изменения) системы:

  • ООП подход

  • Новый Plugins API.

    • Улучшена система хуков с возможностью задавать приоритет событиям/экшенам.

    • Новая система локализации плагинов с возможностью плейсхолдеров. Транслейты подгружаются в единый глобальный словарь. словари размещать необходимо в папке с плагином также как и раньше в /languages/ но именовать таким образом, пример: en.lang.php ru.lang.php

    • Возможность подгрузи css и js файлов. Monstra заботится про их сжатие(minify)!

    • Возможность управлением навигацией админки.

    • Плагины имеют своеобразную MVC архитектору. Есть контроллеры, вьюхи и модели

    • Улучшена архитектура плагинов. Структура папок плагина такая (Sandbox Plugin):

      • sandbox

        • sandbox.plugin.php

        • sandbox.admin.php

        • install

          • sandbox.install.php

          • sandbox.uninstall.php

          • sandbox.manifest.xml

        • languages

          • en.lang.php

          • ru.lang.php

        • views

          • frontend

          • backend

  • Shortcodes API
    Примеры:

    • {shortcode}

    • {shortcode parameter=value"}

    • {shortcode parameter=value"}Enclosed Content{/shortcode}

  • Хелперы - статические классы, которые подгружаются авто загрузчиком там где они необходимы! С помощью хелперов можно сделать проект на Monstra любой сложности!

    Список хелперов:

    • Agent - хелпер обеспечивает простой способ определить тип устройства, который сделал запрос.

    • Arr - хелпер для работы с массивами

    • Alert - хелпер для работы с выводом сообщений на странице

    • Benchmark - хелпер для помощи в отладке

    • Cache - хелпер файловой системы кеширования(ключ=значение) с поддержкой неймспейсов.

    • Cookie - хелпер для работы с куками

    • Curl - хелпер curl

    • Captcha - хелпер простой математической капчи из коробки

    • Date - хелпер для работы с датами.

    • Directory - хелпер для работы с директориями.

    • File - хелпер для работы с файлами.

    • Form - хелпер для работы с формами.

    • HTML - хелпер для работы с html.

    • Inflector - хелпер для преобразования/форматирования текста.

    • Image - хелпер для работы с изображениями. Позволит создавать галереи для еще проще.

    • Minify - хелпер для сжатия css и html

    • Number - хелпер для работы с числами

    • Notification - хедпер реализует "Flash" сервис для работы с временными сообщениями системы

    • Security - хелпер экранирования данных

    • Session - хелпер для работы с сессией

    • Request/Responce - хелперы для обработки запросов

    • Uri - хелпер для работы с URI

    • Url - хелпер для работы с ссылками

    • Valid - хелпер для валидации данных

    • Text - хелпер для работы с текстом

    • Zip - хелпер для работы с zip файлами.

  • Новый обработчик исключений и ошибок c логированием. Это повысит качество разработки плагинов для Monstra.

  • Добавлена новая роль - "Редактор". Редактору доступен менеджер страниц, файлов и возможность редактирования своего профиля

  • В целях безопасности тег php отключен по умолчанию. Для включения необходимо в Defines константу MONSTRA_EVAL_PHP поставить в значение true

  • Боксовые плагины теперь не отображаются во вкладке установленных плагинов.

  • Системный редактор из коробки и установленый markItUp! редактор

  • Возможность делать бекап выборочных папок: storage, plugins, themes, uploads.

  • Автогенерация карты сайта

  • Клонирование страниц

  • Статус страницы: Опубликованная или Черновик

  • Тема админки теперь располагается в /admin/themes/default/ замена ее на свой вариант админки проще простого!

  • Улучшена документация проекта. К каждой функции идет небольшой пример!

  • Улучшена XMLDB API. Состоит из классов: XML, DB, Table. Функция select() теперь может выбирать конкретные поля (как selectXMLfileds - удалена) и возвращает в результате массив! Monstra состоит из XML таблиц.

  • Новая тема оформления сайта по умолчанию. @css based on Bootstrap, from Twitter

  • Новые стандарты оформления исходного когда именования папок и файлов.

  • Файлы заливаются теперь в публичную папку /public/uploads/

  • Все данные в Monstra хранятся в папке /storage/ а xmldb в /storage/database/

  • Плагин "Песочница" по умолчанию в дистрибутиве CMS

  • Сниппеты заменили блоки и имеют расширение .snippet.php (глобальные блоки)

  • Появились чанки .chunk.php (локальные блоки)

  • Плагины добавляются в карту сайта!

  • Появилась возможность восстановить пароль

  • Новый боксовый плагин Information

  • Улучшен инсталятор системы

  • Новый дизайн и структура админки. Глобальные улучшения в юзабилити админки и боксовых плагинов.

  • Добавлена возможность настраивать Robots META Tag для каждой страницы индивидуально!

  • Улучшен менеджер меню сайта. Появилась возможность добавлять страницы

  • Улучшена производительность системы. Монстра работает быстрее Template CMS

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

  • Монстра безопасней, быстрее и стабильней Template CMS

  • еще одна фича ?! Coming soon!


Monstra комьюнити:
Офф. Сайт: http://monstra.org
Bitbucket: https://bitbucket.org/Awilum/monstra
Twitter: https://twitter.com/monstra_cms
VK: http://vk.com/monstra_cms

P.S.
Пишите. Следите за новостями...

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

2 2012-04-16 21:20:28

Re: Monstra (beta - rc - Release!)

как генерятся ЧПУ?
попытался сделать для lighttpd и не получилось sad

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

3 2012-04-16 21:26:05

Re: Monstra (beta - rc - Release!)

Также как и в Template CMS . Смотреть .htaccess и URI.php

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

4

Re: Monstra (beta - rc - Release!)

значит это lighttpd дружить не хочет sad
нгинкс заработал, а эта гадость - нет.

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

5

Re: Monstra (beta - rc - Release!)

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

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

6 2012-04-18 18:20:34

Re: Monstra (beta - rc - Release!)

JINN, автора указывать в манифесте плагина и регистрации плагина. Так оно ? проверил только что локально - нормально вроде.

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

7 2012-04-18 18:26:52

Re: Monstra (beta - rc - Release!)

Вообщем фиксил сегодня я Менеджер плагинов. Вроде ок. Ссылки на бету поправил.

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

8

Re: Monstra (beta - rc - Release!)

Бекапы у всех открываются ? у меня да. но помню что кто то жаловался

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

9

Re: Monstra (beta - rc - Release!)

JINN,
проблема в менеджере плагинов у вас решилась ?

p.s.
возможно стоит и обновить таблицу plugins. там менялись поля.

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

10

Re: Monstra (beta - rc - Release!)

Верните в Монстру ее первый редактор!!!! Который в Альфе был.. а то это не редактор а название оного smile Вручную все манипуляции проводить....

Лучше сгореть, чем истлеть...

Сайт kromverk

Поделиться

11

Re: Monstra (beta - rc - Release!)

В Монстре будет CSS парсер переменных. При создании минифи переменные/ключи заменяются значениями.

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

@url = http://sitename.ru/public/themes/themename/


Пример использование:

background: url(@url/img/img05.jpg) no-repeat center top;

Вместо:

background: url(../../public/themes/themename/img/img05.jpg) no-repeat center top;
Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

12

Re: Monstra (beta - rc - Release!)

Некоторые основные изменения!

+ CSS парсер переменных!
+ Новая дефолтная тема. Вернулся все таки к минимализму.
+ Новый боксовый плагин блоки! они вернулись только теперь они визуальные(так их называет малыйсайт.рф)
+ Чанки минифицируется!
+ Различные фиксы и улучшения API!

P.S. ссылку на бету обновил

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

13

Re: Monstra (beta - rc - Release!)

El'Drako пишет:

как генерятся ЧПУ?
попытался сделать для lighttpd и не получилось sad

ответ:

1. Lighttpd должен быть собран с поддержкой PCRE.
2. Конфиг должен выглядеть примерно так:

# lighttpd configuration file
#
server.modules = (
"mod_expire",
"mod_alias",
"mod_access",
"mod_auth",
"mod_rewrite",
"mod_redirect",
"mod_setenv",
"mod_fastcgi",
"mod_compress",
"mod_accesslog" )
server.document-root = "/site/www/" 
index-file.names = ( "index.php", "index.html",
                    "index.htm", "default.htm") 
server.port = 80
accesslog.filename    = "/var/log/lighttpd/access.log"
server.errorlog    = "/var/log/lighttpd/error.log"
## virtual directory listings
dir-listing.activate       = "disable"
# mimetype mapping
mimetype.assign = (
".pdf"          =>      "application/pdf",
".sig"          =>      "application/pgp-signature",
".spl"          =>      "application/futuresplash",
".class"        =>      "application/octet-stream",
".ps"           =>      "application/postscript",
".torrent"      =>      "application/x-bittorrent",
".dvi"          =>      "application/x-dvi",
".gz"           =>      "application/x-gzip",
".pac"          =>      "application/x-ns-proxy-autoconfig",
".swf"          =>      "application/x-shockwave-flash",
".tar.gz"       =>      "application/x-tgz",
".tgz"          =>      "application/x-tgz",
".tar"          =>      "application/x-tar",
".zip"          =>      "application/zip",
".mp3"          =>      "audio/mpeg",
".m3u"          =>      "audio/x-mpegurl",
".wma"          =>      "audio/x-ms-wma",
".wax"          =>      "audio/x-ms-wax",
".ogg"          =>      "application/ogg",
".wav"          =>      "audio/x-wav",
".gif"          =>      "image/gif",
".jpg"          =>      "image/jpeg",
".jpeg"         =>      "image/jpeg",
".png"          =>      "image/png",
".xbm"          =>      "image/x-xbitmap",
".xpm"          =>      "image/x-xpixmap",
".xwd"          =>      "image/x-xwindowdump",
".css"          =>      "text/css",
".html"         =>      "text/html",
".htm"          =>      "text/html",
".js"           =>      "text/javascript",
".asc"          =>      "text/plain",
".c"            =>      "text/plain",
".cpp"          =>      "text/plain",
".log"          =>      "text/plain",
".conf"         =>      "text/plain",
".text"         =>      "text/plain",
".txt"          =>      "text/plain",
".dtd"          =>      "text/xml",
".xml"          =>      "text/xml",
".mpeg"         =>      "video/mpeg",
".mpg"          =>      "video/mpeg",
".mov"          =>      "video/quicktime",
".qt"           =>      "video/quicktime",
".avi"          =>      "video/x-msvideo",
".asf"          =>      "video/x-ms-asf",
".asx"          =>      "video/x-ms-asf",
".wmv"          =>      "video/x-ms-wmv",
".bz2"          =>      "application/x-bzip",
".tbz"          =>      "application/x-bzip-compressed-tar",
".tar.bz2"      =>      "application/x-bzip-compressed-tar"
)
url.rewrite-if-not-file = ("^/[^?]*(\?.*)?$" => "/index.php$1")
fastcgi.server = (
    ".php" => (
        "localhost" => (
            "host" => "127.0.0.1",
            "port" => 1026
        )
    )
)

теперь можно и дальше к разработке вернуться...

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

14

Re: Monstra (beta - rc - Release!)

Сейчас впервые установил "Monstra" и хотел бы написать свои первые впечатления. (Написанное ниже - это лично мое мнение):
1. Возможность восстановить пароль администратора - понравилось.
2. Голубая подсветка кнопочек и полей ввода - понравилось.
3. В файлах, просмотр загруженной картинки теперь в модальном окне - удобно, понравилось.
4. После 10 мин в панели администратора, стало немного резать глаза, сравнив со старой админкой в teample-cms, в которой было всё хорошо, пришёл к выводу, что это из-за светлой шапки и более мелкого шрифта, белый цвет стал доминировать просто - минус.
5. Раздел меню - создание нового поля теперь на отдельной странице - очень не удобно, раньше всё было на одной странице в одну строчку - минус.
6. Редактор страниц - как разработчик скажу, что он великолепен. Ну если бы я был пользователем, я бы рехнулся. Получается прям палка на двух концах;-) Ну все ровно занесем этот пункт в понравилось (особенно просмотр понравился).
7. Плагины - кнопка "Скачать плагины" лишняя.
8. Чанки и тд. - видел тут на форуме недовольство по этому поводу, меню и тд.. Первая моя мысль тоже была "О боже, что за...." Но подумав, вспомнил, что человек который уже давно пользуется teample-cms, всегда делает сайт в виде модульной системы, прописав в шаблоне подключаемые штучки, в админке в виде блоков, меню и тд - он их просто мог редактировать без вмешательства посторонних программ - это очень удобно, особенно когда сдаёшь сайт заказчику и показываешь эту мощь программирования... По сути в Monstra осталась та же самая система, только глобально модернизируемая и разделенная на категории, ну и тут получается палка на двух концах. Как разработчик - это очень крутая штука. Во первых, по тому что я сам никогда не пользуюсь этими встроенными редакторами, а во вторых какие новые возможности это открывает, но опять же, если я пользователь, и я ноль в php и html, это обреченное занятие... считаю что этот момент надо хорошенько продумать тебе Awilum.
9. Добавил бы возможность выбора языка панели администратора при установке и возможность в разделе "Настройки" смены логотипа, который например в форме входа в панель администратора "Monstra".

Поделиться

15

Re: Monstra (beta - rc - Release!)

ну так плагин человеческого редактора и галерею.. и все путем

Лучше сгореть, чем истлеть...

Сайт kromverk

Поделиться

16

Re: Monstra (beta - rc - Release!)

newbie пишет:

8. Чанки и тд. - видел тут на форуме недовольство по этому поводу, меню и тд.. Первая моя мысль тоже была "О боже, что за...." Но подумав, вспомнил, что человек который уже давно пользуется teample-cms, всегда делает сайт в виде модульной системы, прописав в шаблоне подключаемые штучки, в админке в виде блоков, меню и тд - он их просто мог редактировать без вмешательства посторонних программ - это очень удобно, особенно когда сдаёшь сайт заказчику и показываешь эту мощь программирования... По сути в Monstra осталась та же самая система, только глобально модернизируемая и разделенная на категории, ну и тут получается палка на двух концах. Как разработчик - это очень крутая штука. Во первых, по тому что я сам никогда не пользуюсь этими встроенными редакторами, а во вторых какие новые возможности это открывает, но опять же, если я пользователь, и я ноль в php и html, это обреченное занятие...

Awilum здесь очень здорово всё продумал. Есть три "штуки" в помощь шаблонам, которые невзаимозаменяемые:
1. "Сниппеты" (если сравнивать с TCMS, это были "Блоки")
    а) они глобальны для всего сайта, т.е. не зависят от выбранной темы (template) оформления.
    б) в них нет визуального редактора
    в) они предназначены для разработчика, а не для пользователя
    г) Пример: можно сделать сниппет, в котором будут подключаться счётчики статистики, или яндекс-карта, или какой-нибудь служебный код.

2. "Блоки" (если сравнивать с TCMS, то их не было)
    а) они глобальны для всего сайта, т.е. не зависят от выбранной темы (template) оформления.
    б) в них ЕСТЬ визуальный редактор
    в) они предназначены для ПОЛЬЗОВАТЕЛЕЙ
    г) Пример: можно блок для сайдбара, в котором будут ссылки на особо важные страницы, или сделать блок "Акция" и дать возможность клиенту самому редактировать дату проведения акции, а также текст.

3. "Чанки" [в админке их можно найти в разделе "Темы"] (аналогов в TCMS также не было)
    а) они локальны в пределах темы, т.е. работают только те чанки, которые лежат в папке с текущей темой
    б) в них нет визуального редактора, т.к. Чанк - это часть темплейта, необходимая, чтобы избегать повторов одного и того же кода. По сути подключение Чанка аналогично использованию функции require или include, только более удобно (в смысле того, что не нужно прописывать путь целиком и нет путаницы с множеством разных темплейтов), также чанки теперь сжимаются в minify.
    в) они предназначены для разработчиков, а не для пользователей, которые не понимают html, php и т.д.
    г) Пример, на Вашем сайте 4 шаблона (один для главной, три для разных внутренних), но футер на всём сайте одинаковый. И чтобы не писать во всех 4 шаблонах код футера (а потом вносить одни и те же изменения в четырёх местах), Вы создаёте Чанк footer и подключаете его во всех четырёх шаблонах.


Если у Вас есть ещё предложения, как улучшить имеющиеся инструменты — отлично! Поделитесь, пожалуйста, своими мыслями.

Поделиться

17 2012-04-23 15:22:04

Re: Monstra (beta - rc - Release!)

Monstra Release Candidate
Download:  087296d5aa90.zip

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

18

Re: Monstra (beta - rc - Release!)

В инсталляторе используется DOM, и если его нет, то -

Class 'DOMDocument' not found
Location
Exception thrown on line 963 in /home/www/monstra/engine/xmldb.php

Требования по нему в инсталлере красным не горят, это раз.
Если же заливать установленный сайт на площадку с пыхой без DOM, то монстра работает без вопросов. Это два.

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

19 2012-04-24 19:44:48

Re: Monstra (beta - rc - Release!)

>Требования по нему в инсталлере красным не горят
Добавил проверку в инсталятор: https://bitbucket.org/Awilum/monstra/ch … 41ba5ef1cc

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

20

Re: Monstra (beta - rc - Release!)

а оно нужно, если всё работает и без него?

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

21

Re: Monstra (beta - rc - Release!)

Monstra 1.0.0 - 2012.04.24 - Initial release!

Скачать: monstra-1.0.0.zip

Follow me: Twitter | GitHub | Facebook | Вконтакте

Стань спонсором проекта!

Сайт Awilum

Поделиться

22 (2012-04-25 07:01:24 отредактировано olgnet)

Re: Monstra (beta - rc - Release!)

El'Drako, можете скинуть сюда конфиг для работы nginx + php-fpm? Я думаю многим пригодится...

Поделиться

23 2012-04-25 07:02:07

Re: Monstra (beta - rc - Release!)

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

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

24 2012-04-26 15:25:28

Re: Monstra (beta - rc - Release!)

Почему редактор не имеет доступа к разделу меню?

Поделиться

25

Re: Monstra (beta - rc - Release!)

по смыслу - редактор наполняет сайт материалами и отвечает за их содержание по уже сделанной структуре.
админ - делает сайт.

тем более, в текущей реализации меню в интерфейсе админки одно главное - что там делать редактору?

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться