<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>В наушниках по жизни: заметки с тегом сайт</title>
<link>https://alexbirukov.ru/?go=tags/sayt/</link>
<description>Здесь я пишу свои идеи, мысли, описываю события своей жизни и просто делаю личные и рабочие заметки. «А Вы что, собираетесь жить вечно?»</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Здесь я пишу свои идеи, мысли, описываю события своей жизни и просто делаю личные и рабочие заметки. «А Вы что, собираетесь жить вечно?»</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Немного о Symphony CMS</title>
<guid isPermaLink="false">302</guid>
<link>https://alexbirukov.ru/?go=all/nemnogo-o-symphony-cms/</link>
<pubDate>Mon, 21 Oct 2013 14:22:54 +0500</pubDate>
<author></author>
<comments>https://alexbirukov.ru/?go=all/nemnogo-o-symphony-cms/</comments>
<description>
&lt;h2&gt;Предисловие&lt;/h2&gt;
&lt;p&gt;Уже больше года в своей работе для создания небольших сайтов и внутри корпоративных порталов я использую &lt;a href="http://www.getsymphony.com/"&gt;Symphony CMS&lt;/a&gt;. Самое странное, что при такой большой конкуренции среди бесплатных CMS, данная система управления сайтами остаётся практически незамеченной российскими разработчиками и не попадает в рейтинги CMS вроде «&lt;a href="http://www.ratingruneta.ru/cms/"&gt;CMS Magazine&lt;/a&gt;» и напрасно, как мне кажется.&lt;/p&gt;
&lt;h2&gt;Symphony CMS&lt;/h2&gt;
&lt;p&gt;Symphony CMS  элегантный и миниатюрный open source движок, написанный на PHP + MySQL, который в своей основе использует XML и XSLT.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://alexbirukov.ru/pictures/symphony.jpg" width="800" height="476" alt="Symphony CMS" /&gt;
&lt;/div&gt;
&lt;p&gt;На первый взгляд Symphony очень похож ExpressionEngine, Textpattern, WordPress или Drupal. На Symphony, безусловно, можно сделать стандартный веб сайт или блог, но благодаря концептуальной элегантности в работе со структурами данных и источниками данных он находится в уникальном положении между обычными CMS и полноценными веб приложениями, такими, как Django или Ruby on Rails.&lt;/p&gt;
&lt;p&gt;Большая гибкость при работе с данными позволяет веб разработчикам полностью контролировать процесс создания и работы любого веб приложения. По началу, большая гибкость и мощь движка может пугать, но отличная документация и активная поддержка сообщества всегда помогут разобраться даже в самой сложной ситуации.&lt;/p&gt;
&lt;h2&gt;Мощь и сила&lt;/h2&gt;
&lt;p&gt;Вся мощь и сила Symphony CMS состоит в том, что разработчики могут создавать любые структуры данных. Создание чем-то напоминает работу с классами в модели ООП. Сначала вы создаёте некий класс, предположим, раздел статей сайта. Раздел должен содержать некоторые характерные поля: заголовок статьи, автор, текст статьи (полный и краткий), дата публикации, отметку выводить статью на сайте или нет и многое другое. Таким образом, мы создаём раздел, некий «класс» объектов для сайта, после чего, мы сразу же можем приступать к созданию экземпляров класса, т. е. писать статьи.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://alexbirukov.ru/pictures/section.jpg" width="1352" height="624" alt="Разделы в Symphony CMS" /&gt;
&lt;/div&gt;
&lt;p&gt;Ещё одним большим плюсом системы, является то, что любые структуры данных можно изменять уже после начала их заполнения. Например, есть у вас раздел для создания статей, и в нём уже есть пара десятков статей. И вот у вас возникла необходимость добавить новое поле, к примеру, поле для ввода тегов. Система позволит вам это сделать совершенно без проблем, при этом никакие, уже имеющиеся данные, не потеряются.&lt;/p&gt;
&lt;p&gt;После создания разделов, разработчики создают так называемые «Источники данных». Суть их проста, выборка данных из имеющихся разделов. Напрмер, есть у меня раздел статей, из которого мне надо выбрать только статьи, которые помечены, как опубликованные и только за текущий месяц. Для этого потребуется создать простой источник данных, задать раздел из которого необходимо сделать выборку данных и установить условия выборки. И всё. Источник готов к работе.&lt;/p&gt;
&lt;p&gt;Я представил немного упрощённую модель работы с источниками данных, потому что условий выборки может быть куда больше, и они могут быть куда более сложными. Тут есть и возможность выборки на основании других источников данных, на основании внешних параметров, передаваемых пользователем и т. д. Ещё раз повторю, система является невероятно гибкой.&lt;/p&gt;
&lt;p&gt;После создания источника данных его необходимо прикрепить к странице, на которой его планируется использовать.&lt;/p&gt;
&lt;p&gt;На этом собственно и основана работа в &lt;b&gt;backend&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Далее дело за разработчиками &lt;b&gt;fronend&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Все данные, получаемые от источников данных, поступают на страницы в виде XML. Сами же страницы создаются при помощи XSLT, HTML, CSS, JS и любых других технологий. Тут я думаю подробно описывать ничего не надо, но вся суть заключается в том, что в уже имеющийся готовый шаблон выводятся данные полученные от источников данных путём вывода определённых ветвей XML. И разработчики получают все плюсы и минусы работы с XSLT и XML.&lt;/p&gt;
&lt;h2&gt;Расширяемость&lt;/h2&gt;
&lt;p&gt;Помимо гибкой системы работы с данными и шаблонами страниц, движок может похвастаться богатым набором функций доступных через API и простотой разработки дополнительных модулей, которых, кстати, уже довольно большое количество и для них имеется даже &lt;a href="http://symphonyextensions.com/"&gt;отдельный сайт&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;На сайте можно найти расширения на любой случай. От дополнительных полей до полноценных редакторов текста, которые вы можете встроить в свои разделы.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://alexbirukov.ru/pictures/extensions.jpg" width="800" height="384" alt="Расширения" /&gt;
&lt;/div&gt;
&lt;p&gt;Так же на сайте движка разработчики могут найти так называемые XSLT утилиты, это небольшие XSL файлы, с шаблонами обработки определённых данных или создания определённых частей интерфейса. Например, шаблон большого календаря, ячейки которого унифицированы и каждую из них вы можете заполнить любыми данными, не прибегая к изменению самого шаблона.&lt;/p&gt;
&lt;p&gt;Или, например, XSLT модуль для типографики текста. Т. е. вы просто применяете шаблон к тексту и всё. Модуль автоматически заменит и подставит правильные двойные кавычки, заменит короткое тире на длинное и пр.&lt;/p&gt;
&lt;p&gt;Банк утилит постоянно обновляет и пополняется. Сообщество разработчиков ведёт довольно активную деятельность. Любой желающий может написать и выложить свой модуль или расширение прямо на сайте &lt;a href="http://www.getsymphony.com/"&gt;Sуmphony&lt;/a&gt; или на &lt;a href="http://symphonyextensions.com/"&gt;Symphony Extensions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Кстати, вот &lt;a href="http://symphonyextensions.com/developers/alexbirukov/"&gt;страница с моими расширениями&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Первым моим самостоятельным расширением было «&lt;a href="http://symphonyextensions.com/extensions/lang_russian/"&gt;Language: Russian&lt;/a&gt;», это локализация ядра самого движка.&lt;/p&gt;
&lt;p&gt;Затем, я немного изменил расширение «&lt;a href="http://symphonyextensions.com/extensions/nestedcats/"&gt;Nested Categories&lt;/a&gt;» для организации вложенных категорий и которое было написано русским разработчиком, но, увы, больше им не поддерживалось.&lt;/p&gt;
&lt;p&gt;И последнее, написанное мной расширение, это «&lt;a href="http://symphonyextensions.com/extensions/sms_pilot_sender/"&gt;SMS Pilot Sender&lt;/a&gt;». Расширение, которое при возникновении какого-либо события отправляет СМС через сервис SMS Pilot. Подробно работу расширения я описал в предыдущем посте «&lt;a href="http://alexbirukov.ru/?go=all/plagin-sms-pilot-sender-dlya-symphony-cms/"&gt;Плагин SMS Pilot Sender для Symphony CMS&lt;/a&gt;».&lt;/p&gt;
&lt;h2&gt;Переносимость&lt;/h2&gt;
&lt;p&gt;Помимо невероятной гибкости и расширяемости самой системы, ещё одной невероятно полезной отличительной особенностью движка является система экспорта сборки или в оригинальном варианте «Export Ensemble». Это крайне полезная функция для разработчиков, которые постоянно занимаются разработкой однотипных систем.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://alexbirukov.ru/pictures/export.jpg" width="800" height="74" alt="Экспорт сборки" /&gt;
&lt;/div&gt;
&lt;p&gt;Предположим, перед нами стоит задача создания двух идентичных новостных сайтов, у которых идентично всё, кроме дизайна. Экспорт сборки, позволит создать архив не только движка, но и всех расширений, данных, настроек и пр. При этом архив содержит не просто файлы, а готовый к установке движок. Т. е. достаточно в одном месте сделать выгрузку сборки, распаковать её на другой площадке и просто произвести процесс установки. После чего, мы получим совершенно готовый к работе сайт. Нам останется лишь изменить дизайн, при этом системная часть не потребует внесения изменений.&lt;/p&gt;
&lt;h2&gt;Заключение&lt;/h2&gt;
&lt;p&gt;Таким образом, небольшой и очень функциональный движок может стать невероятно мощным инструментом в руках веб разработчика. Symphony CMS позволят создавать всё, от простых сайтов и блогов до функциональных корпоративных порталов, с большим количеством специфических данных и предоставляет разработчиками невероятно широкие просторы по реализации систем хранения и обработки данных любой структуры с последующим их выводом в виде XML, что в свою очередь даёт возможность интеграции движка в современные системы, умеющие работать с внешними XML источниками данных.&lt;/p&gt;
</description>
</item>

<item>
<title>Обновление раздела путешествий</title>
<guid isPermaLink="false">267</guid>
<link>https://alexbirukov.ru/?go=all/obnovlenie-razdela-puteshestviy/</link>
<pubDate>Tue, 02 Apr 2013 12:09:24 +0500</pubDate>
<author></author>
<comments>https://alexbirukov.ru/?go=all/obnovlenie-razdela-puteshestviy/</comments>
<description>
&lt;p&gt;Немного обновил раздел сайта, &lt;a href="http://travel.alexbirukov.ru"&gt;посвящённый путешествиям&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Прикрутил систему &lt;a href="http://disqus.com/"&gt;Disqus&lt;/a&gt; для удобного управления комментариями. Теперь вы можете оставлять свои комментарии к статьям.&lt;/p&gt;
&lt;p&gt;Так же теперь отображается количество просмотров каждой статьи на сайте.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://alexbirukov.ru/pictures/views.png" width="216" height="65" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Некоторые разделы сайта пока на заполнены, но скоро я это исправлю, так что, ждите скорых обновлений.&lt;/p&gt;
</description>
</item>


</channel>
</rss>