Содержание
Немного о Symphony CMS
Предисловие
Уже больше года в своей работе для создания небольших сайтов и внутри корпоративных порталов я использую Symphony CMS. Самое странное, что при такой большой конкуренции среди бесплатных CMS, данная система управления сайтами остаётся практически незамеченной российскими разработчиками и не попадает в рейтинги CMS вроде «CMS Magazine» и напрасно, как мне кажется.
Symphony CMS
Symphony CMS элегантный и миниатюрный open source движок, написанный на PHP + MySQL, который в своей основе использует XML и XSLT.
На первый взгляд Symphony очень похож ExpressionEngine, Textpattern, WordPress или Drupal. На Symphony, безусловно, можно сделать стандартный веб сайт или блог, но благодаря концептуальной элегантности в работе со структурами данных и источниками данных он находится в уникальном положении между обычными CMS и полноценными веб приложениями, такими, как Django или Ruby on Rails.
Большая гибкость при работе с данными позволяет веб разработчикам полностью контролировать процесс создания и работы любого веб приложения. По началу, большая гибкость и мощь движка может пугать, но отличная документация и активная поддержка сообщества всегда помогут разобраться даже в самой сложной ситуации.
Мощь и сила
Вся мощь и сила Symphony CMS состоит в том, что разработчики могут создавать любые структуры данных. Создание чем-то напоминает работу с классами в модели ООП. Сначала вы создаёте некий класс, предположим, раздел статей сайта. Раздел должен содержать некоторые характерные поля: заголовок статьи, автор, текст статьи (полный и краткий), дата публикации, отметку выводить статью на сайте или нет и многое другое. Таким образом, мы создаём раздел, некий «класс» объектов для сайта, после чего, мы сразу же можем приступать к созданию экземпляров класса, т. е. писать статьи.
Ещё одним большим плюсом системы, является то, что любые структуры данных можно изменять уже после начала их заполнения. Например, есть у вас раздел для создания статей, и в нём уже есть пара десятков статей. И вот у вас возникла необходимость добавить новое поле, к примеру, поле для ввода тегов. Система позволит вам это сделать совершенно без проблем, при этом никакие, уже имеющиеся данные, не потеряются.
После создания разделов, разработчики создают так называемые «Источники данных». Суть их проста, выборка данных из имеющихся разделов. Напрмер, есть у меня раздел статей, из которого мне надо выбрать только статьи, которые помечены, как опубликованные и только за текущий месяц. Для этого потребуется создать простой источник данных, задать раздел из которого необходимо сделать выборку данных и установить условия выборки. И всё. Источник готов к работе.
Я представил немного упрощённую модель работы с источниками данных, потому что условий выборки может быть куда больше, и они могут быть куда более сложными. Тут есть и возможность выборки на основании других источников данных, на основании внешних параметров, передаваемых пользователем и т. д. Ещё раз повторю, система является невероятно гибкой.
После создания источника данных его необходимо прикрепить к странице, на которой его планируется использовать.
На этом собственно и основана работа в backend.
Далее дело за разработчиками fronend.
Все данные, получаемые от источников данных, поступают на страницы в виде XML. Сами же страницы создаются при помощи XSLT, HTML, CSS, JS и любых других технологий. Тут я думаю подробно описывать ничего не надо, но вся суть заключается в том, что в уже имеющийся готовый шаблон выводятся данные полученные от источников данных путём вывода определённых ветвей XML. И разработчики получают все плюсы и минусы работы с XSLT и XML.
Расширяемость
Помимо гибкой системы работы с данными и шаблонами страниц, движок может похвастаться богатым набором функций доступных через API и простотой разработки дополнительных модулей, которых, кстати, уже довольно большое количество и для них имеется даже отдельный сайт.
На сайте можно найти расширения на любой случай. От дополнительных полей до полноценных редакторов текста, которые вы можете встроить в свои разделы.
Так же на сайте движка разработчики могут найти так называемые XSLT утилиты, это небольшие XSL файлы, с шаблонами обработки определённых данных или создания определённых частей интерфейса. Например, шаблон большого календаря, ячейки которого унифицированы и каждую из них вы можете заполнить любыми данными, не прибегая к изменению самого шаблона.
Или, например, XSLT модуль для типографики текста. Т. е. вы просто применяете шаблон к тексту и всё. Модуль автоматически заменит и подставит правильные двойные кавычки, заменит короткое тире на длинное и пр.
Банк утилит постоянно обновляет и пополняется. Сообщество разработчиков ведёт довольно активную деятельность. Любой желающий может написать и выложить свой модуль или расширение прямо на сайте Sуmphony или на Symphony Extensions.
Кстати, вот страница с моими расширениями.
Первым моим самостоятельным расширением было «Language: Russian», это локализация ядра самого движка.
Затем, я немного изменил расширение «Nested Categories» для организации вложенных категорий и которое было написано русским разработчиком, но, увы, больше им не поддерживалось.
И последнее, написанное мной расширение, это «SMS Pilot Sender». Расширение, которое при возникновении какого-либо события отправляет СМС через сервис SMS Pilot. Подробно работу расширения я описал в предыдущем посте «Плагин SMS Pilot Sender для Symphony CMS».
Переносимость
Помимо невероятной гибкости и расширяемости самой системы, ещё одной невероятно полезной отличительной особенностью движка является система экспорта сборки или в оригинальном варианте «Export Ensemble». Это крайне полезная функция для разработчиков, которые постоянно занимаются разработкой однотипных систем.
Предположим, перед нами стоит задача создания двух идентичных новостных сайтов, у которых идентично всё, кроме дизайна. Экспорт сборки, позволит создать архив не только движка, но и всех расширений, данных, настроек и пр. При этом архив содержит не просто файлы, а готовый к установке движок. Т. е. достаточно в одном месте сделать выгрузку сборки, распаковать её на другой площадке и просто произвести процесс установки. После чего, мы получим совершенно готовый к работе сайт. Нам останется лишь изменить дизайн, при этом системная часть не потребует внесения изменений.
Заключение
Таким образом, небольшой и очень функциональный движок может стать невероятно мощным инструментом в руках веб разработчика. Symphony CMS позволят создавать всё, от простых сайтов и блогов до функциональных корпоративных порталов, с большим количеством специфических данных и предоставляет разработчиками невероятно широкие просторы по реализации систем хранения и обработки данных любой структуры с последующим их выводом в виде XML, что в свою очередь даёт возможность интеграции движка в современные системы, умеющие работать с внешними XML источниками данных.
Аналоги для Symphony CMSNotepad++ | Лучшие Альтернативы и бесплатные Open Source вместо лицензий
Squarespace
Лучшими альтернативами Squarespace являются WordPress, Ghost и Webflow. Наши краудсорсинговые списки содержат более 100 приложений, похожих на Squarespace, для онлайн/веб-решений, самостоятельных решений, SaaS, Mac и других.
Подробнее
Аналоги:
b2evolution
Лучшими альтернативами b2evolution являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 50 приложений, похожих на b2evolution, для решений с самостоятельным хостингом, онлайн / веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
Just Add Content
Лучшими альтернативами Just Add Content являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 100 приложений, похожих на Just Add Content for Online / Web, SaaS, Self-Hosting, iPhone и другие.
Подробнее
Аналоги:
EZGenerator
Лучшими альтернативами EZGenerator являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 100 приложений, похожих на EZGenerator, для онлайн-/веб-решений, самостоятельных решений, Windows, iPhone и других.
Подробнее
Аналоги:
LightCMS
Лучшими альтернативами LightCMS являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 100 приложений, похожих на LightCMS для решений с собственным хостингом, онлайн/веб-приложений, PHP, Android и других.
Подробнее
Аналоги:
Template Blocks
Лучшими альтернативами блокам шаблонов являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 100 приложений, похожих на блоки шаблонов для решений с самостоятельным размещением, онлайн/веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
Automne
Лучшими альтернативами Automne являются Drupal, Joomla и django CMS. Наши краудсорсинговые списки содержат более 25 приложений, похожих на Automne, для решений с самостоятельным хостингом, онлайн / веб-приложений, Linux, PHP и других.
Подробнее
Аналоги:
MenaPRO
Лучшими альтернативами MenaPRO являются WordPress, Drupal и Jekyll. Наши краудсорсинговые списки содержат более 50 приложений, похожих на MenaPRO для решений с собственным хостингом, онлайн / веб-приложений, PHP, Linux и других.
Подробнее
Аналоги:
Dotclear
Лучшими альтернативами Dotclear являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 50 приложений, похожих на Dotclear для решений с самостоятельным хостингом, онлайн / веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
ZCMS
Лучшими альтернативами ZCMS являются WordPress, Tumblr и Drupal. Наши краудсорсинговые списки содержат более 100 приложений, похожих на ZCMS, для онлайн/веб-решений, самостоятельных решений, PHP, Android и других.
Подробнее
Аналоги:
Web Start Today
Лучшими альтернативами Web Start Today являются WordPress, Tumblr и Drupal. Наши краудсорсинговые списки содержат более 100 приложений, похожих на Web Start Today для онлайн/веб-решений, самостоятельных решений, PHP, SaaS и других.
Подробнее
Аналоги:
Habari
Лучшими альтернативами Habari являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 50 приложений, похожих на Habari для решений с собственным хостингом, онлайн/веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
TidyCMS
Лучшими альтернативами TidyCMS являются WordPress, Drupal и Jekyll. Наши краудсорсинговые списки содержат более 50 приложений, похожих на TidyCMS, для решений с самостоятельным хостингом, онлайн / веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
unroole
Лучшими альтернативами unroole являются WordPress, Drupal и Webflow. Наши краудсорсинговые списки содержат более 50 приложений, похожих на unroole, для онлайн-/веб-решений, самостоятельных решений, SaaS, PHP и многого другого.
Подробнее
Аналоги:
Readz
Лучшими альтернативами Readz являются WordPress, Drupal и Grav. Наши списки из краудсорсинга содержат более 100 приложений, похожих на Readz для решений с самостоятельным хостингом, онлайн / веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
Nucleus CMS
Лучшими альтернативами Nucleus CMS являются WordPress, Ghost и Grav. Наши краудсорсинговые списки содержат более 100 приложений, похожих на Nucleus CMS для решений с собственным хостингом, онлайн/веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
Elefant CMS
Лучшими альтернативами Elefant CMS являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 50 приложений, похожих на Elefant CMS для автономных решений, онлайн/веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
Ionize
Лучшими альтернативами Ionize являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 100 приложений, похожих на Ionize для решений с собственным хостингом, онлайн/веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
Automad
Лучшими альтернативами Automad являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 50 приложений, похожих на Automad для автономных решений, онлайн/веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
Mura
Лучшими альтернативами Mura являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 50 приложений, похожих на Mura, для решений с самостоятельным хостингом, онлайн / веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
Orchid
Лучшими альтернативами Orchid являются GitBook, MkDocs и Sphinx. Наши краудсорсинговые списки содержат более 25 приложений, похожих на Orchid для решений с собственным хостингом, Linux, Mac, Windows и других.
Подробнее
Аналоги:
Textpattern
Лучшими альтернативами Textpattern являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 50 приложений, похожих на Textpattern для решений с самостоятельным размещением, онлайн / веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
ExpressionEngine
Лучшими альтернативами ExpressionEngine являются WordPress, Tumblr и Drupal. Наши краудсорсинговые списки содержат более 100 приложений, похожих на ExpressionEngine для онлайн/веб-решений, решений для самостоятельного хостинга, PHP, Windows и других.
Подробнее
Аналоги:
e107
Лучшими альтернативами e107 являются WordPress, Drupal и Ghost. Наши краудсорсинговые списки содержат более 50 приложений, похожих на e107, для решений с самостоятельным хостингом, онлайн / веб-приложений, PHP, Windows и других.
Подробнее
Аналоги:
путеводителей – Учиться – Симфония.
Добро пожаловать!
Мы очень рады, что вы решили познакомиться с Symphony поближе. Это руководство проведет вас через все, что вам нужно знать, прежде чем вы начнете работать над своим первым проектом. Вы получите обзор уникального подхода Symphony к управлению контентом, разбивку структуры системы и некоторые распространенные рабочие процессы. Попутно мы укажем вам направление более подробных руководств и ресурсов, а в заключение мы дадим предложения о том, как поднять ваши начинающие навыки Symphony на новый уровень.
Познакомьтесь с Symphony
Symphony — это веб-система управления контентом (CMS), которая позволяет пользователям создавать и управлять веб-сайтами и веб-приложениями любых форм и размеров — от самых простых блогов до оживленных новостных сайтов и многофункциональных социальных сетей. . С Symphony вы можете создать примерно чего угодно , и это отличает ее от большинства других CMS. Вместо того, чтобы делать всевозможные предположения о вашем контенте и о том, что вы будете с ним делать, Symphony предоставляет вам инструменты для самостоятельного принятия этих решений.
С самого начала Symphony создавалась на основе таких принципов, как открытость, простота и соответствие стандартам. Этот подход привел к гранулированной архитектуре, которую легко настроить на каждом уровне, и чистому, минимальному ядру, которое отличается высокой эффективностью и низким уровнем раздувания. Это также привело к принятию открытых стандартов, таких как XML и XSLT, которые делают систему более прозрачной и освобождают ее от ограничений, характерных для других CMS.
Благодаря своей уникальной философии разработки Symphony обеспечивает полный контроль над всеми аспектами вашего проекта, от модели данных до уровня представления и всего, что между ними.
- Чтобы узнать больше о принципах, лежащих в основе разработки Symphony, см. «Дао Symphony».
- Чтобы начать экспериментировать с рабочей копией, нажмите «Установить Symphony».
Понимание Symphony
Symphony, как мы видели, спроектирована так, чтобы быть имманентно гибкой. Он позволяет вам определять типы контента, которым вы будете управлять, структуры, которые будут доставлять этот контент во внешний интерфейс, и шаблоны, которые будут преобразовывать его в различные форматы для ваших пользователей. Поскольку Symphony дает вам полный контроль над этими основными строительными блоками, вы можете сказать, что это в большей степени средство управления контентом 9. 0009 framework , так как это CMS. В некотором смысле каждый проект Symphony представляет собой собственную CMS.
Как это работает? Каждый уровень инфраструктуры управления контентом Symphony состоит из отдельных, полностью настраиваемых компонентов. Типы контента проекта определяются с помощью разделов и полей. Его страницы предоставляют динамические внешние интерфейсы для просмотра и взаимодействия с этим контентом. Источники данных извлекают и организуют содержимое и доставляют его на страницы в виде XML, где шаблоны страниц и утилиты применяются для преобразования его в желаемый формат (например, HTML). Расширенные взаимодействия, такие как отправка данных, могут быть включены с помощью событий.
Если вы знакомы с Model-View-Controller
(MVC), который может быть полезным для понимания структуры Symphony. В терминах MVC разделы и поля будут моделью , шаблоны страниц и утилиты будут представлением , а страницы, источники данных и события будут контроллером . Symphony дает вам всю мощь среды MVC, но с простотой использования и элегантностью веб-CMS.
- Для более подробного ознакомления с системой и принципами ее работы см. «Симфоническая анатомия» (ожидается).
- Чтобы узнать больше о любом из конкретных компонентов системы, изучите концепции
раздел.
Использование Symphony
При всей своей мощи и гибкости использование Symphony удивительно просто. Давайте рассмотрим довольно распространенный вариант использования: блог. Вы должны начать с создания раздела под названием, скажем, «Сообщения в блоге» и добавления таких полей, как «Заголовок», «Основная часть» и «Дата». Так быстро вы бы смоделировали свой первый тип контента. После создания тестовой записи в сообщениях блога вы захотите увидеть ее в интерфейсе. Таким образом, вы должны создать страницу под названием «Просмотреть сообщение в блоге» с дескриптором URL 9.0049 post и настройте его так, чтобы он принимал параметр URL под названием «заголовок». Затем вы должны создать источник данных для извлечения из сообщений блога записи, чье поле title
соответствует параметру title, установленному в URL-адресе страницы. Наконец, вы быстро набросаете шаблон страницы для отображения результатов вашего источника данных. Затем вы можете посетить http://yoursite.com/post/your-post-title
, чтобы просмотреть любую запись блога в системе. Довольно аккуратно, да? Так просто, а возможности безграничны.
Однако, как вы понимаете, поскольку Symphony предоставляет пользователям и разработчикам так много свободы, планирование проекта требует более обдуманного подхода, чем многие другие CMS. Вам нужно будет разработать свои собственные модели данных, тщательно продумав структуру вашего контента и то, как разные типы соотносятся друг с другом. Вам нужно будет разработать архитектуру и схему URL для вашего внешнего интерфейса. И вам нужно будет наметить, как вы хотите, чтобы ваш контент проходил через систему.
Это немалая работа, но наградой будет то, что вы получите систему, точно настроенную на соответствие ваши собственные потребности . Дополнительные усилия, которые вы потратите сейчас, сэкономят вам бессчетное количество часов в будущем, поскольку вы не будете постоянно бороться с капризами шаблонной системы. И, к счастью, модульная архитектура Symphony обеспечивает быстрое прототипирование и разработку, позволяя легко начать с чего-то небольшого и целенаправленного, а затем итеративно развивать свой проект. Другими словами, несмотря на то, что вам рекомендуется хорошо планировать, Symphony достаточно проворна, чтобы принимать удары всякий раз, когда ваши планы меняются.
- Подробнее о «Планирование симфонического проекта» (ожидается)
- Получите более подробное представление об общих рабочих процессах Symphony. (ожидается)
Learning Symphony
В этом руководстве представлен лишь самый краткий обзор, но, надеюсь, этого достаточно, чтобы вы могли немного поковыряться. Как и в случае с большинством программного обеспечения, экспериментирование — действительно лучший способ изучить Symphony. Наша растущая коллекция руководств для начинающих
отличное место для начала.
Однако, прежде чем вы будете готовы приступить к серьезному проекту, вам нужно убедиться, что вы усвоили некоторые дополнительные основы: может писать чистые, элегантные шаблоны.
Что дальше?
Придет день, когда вся эта информация каким-то образом засядет в ваш мозг, и вы будете так хорошо знать Symphony, что это Руководство для начинающих больше не будет вам полезно. Но не волнуйтесь. Ибо в этот день вы покинете ряды новичков и нубов. Вы официально станете пользователем Symphony. И, разве вы не знаете, есть также руководство для пользователей.
Symphony CMS — обзоры, плюсы и минусы
Home
Бизнес-инструменты
Поддержка, продажи и маркетинг
Самостоятельный блог / CMS
XSLT с открытым исходным кодом.
Голосов0
Что такое Symphony CMS?
Это красивая минималистичная система управления контентом с открытым исходным кодом на основе PHP+MySQL, в основе которой лежат XML и XSLT. На первый взгляд, он похож по функциям на ExpressionEngine, Textpattern, WordPress или Drupal.
Symphony CMS — это инструмент из категории Self-Hosted Blogging / CMS технологического стека.
Кто использует Symphony CMS?
Компании
Бэкэнд
Andreani
Разработчики
Developers на StackShare имеют Stated, что они используют 9004 .
Мой стек
Мой стек
Мой стек
My Stack
My Stack
My Stack
My Stack
My Stack
My Stack
Symphony CMS Integrations
PHP, MySQL, Apache HTTP Server, LiteSpeed, и Crowdin — некоторые из популярных инструментов, которые интегрируются с Symphony CMS. Вот список всех 5 9Инструменты 0041, которые интегрируются с Symphony CMS.
PHP
MySQL
Apache HTTP Server
LiteSpeed
Crowdin
Symphony CMS’s Features
- Approaches content management with the underlying goals of simplicity and openness
- Дает дизайнерам и разработчикам полный контроль над структурами данных, схемами URL и каждым битом разметки
- Предоставляет самые захватывающие веб-интерфейсы API с простым в использовании механизмом обработки данных, ориентированным на XML. есть альтернативы Symphony CMS?
WordPress
Основное программное обеспечение создается сотнями добровольцев из сообщества, а когда вы готовы к большему, вам доступны тысячи плагинов и тем, которые превратят ваш сайт практически во все, что вы можете себе представить. Более 60 миллионов человек выбрали WordPress для обеспечения места в Интернете, которое они называют «домом» — мы будем рады, если вы присоединитесь к нашей семье.
Drupal
Drupal — это платформа управления контентом с открытым исходным кодом, на которой работают миллионы веб-сайтов и приложений. Он создается, используется и поддерживается активным и разнообразным сообществом людей по всему миру.
Joomla!
Joomla — это простое и мощное веб-серверное приложение, для запуска которого требуется сервер с PHP и MySQL, PostgreSQL или SQL Server.
Adobe Experience Manager
Это система управления веб-контентом, которая позволяет компаниям управлять своим веб-контентом (веб-страницами, цифровыми активами, формами и т.