Здесь я пишу свои идеи, мысли, описываю события своей жизни и просто делаю личные и рабочие заметки. «А Вы что, собираетесь жить вечно?»

Позднее Ctrl + ↑

Symphony. Источники данных

Источники данных служат для выборки, фильтрации, сортировки и представления данных в виде XML для шаблонов страниц.

Обзор

Источники данных являются своего рода проводниками, между данными и интерфейсом проектов Symphony. Это может быть внутренний контент (например, даты записей любого раздела) или внешний контент (например, данные из RSS ленты или XML API). Источники данных привязываются к определённым страницам и передают шаблонам этих страниц данные в виде XML.

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

Пользовательские XML источники данных — это валидные XML документы, которые являются статическими (сохранены локально) или динамическими (данные выбираются по указанному URL адресу). Содержимое этих файлов не управляется Symphony, но для полученных XML данных имеется возможность создания шаблонов страниц для представления в необходимом виде. Поскольку динамические данные вибираются на лету в Symphony имеется возможность кеширования этих данных, через заданные промежутки времени. Хорошим примером динамических XML данных, является RSS лента твиттера.

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

Управление источниками данных осуществляется через меню управления компонентами (Blueprints > Components) в панели управления.

Детали

Редактор источников данных Symphony.

Редактор источников данных Symphony.

Все источники данных имеют два обязательных атрибута:

Атрибут Описание
Name (Имя) Уникальное имя источника данных.
Source (Источник) Источник из которого будут выбираться данные.

Остальные настройки, доступные в редакторе источников данных будут варьироваться в зависимости от типа выбранного источника: данные из разделов, данные, предоставляемые системой (то есть авторы или навигационной структуры) или данные из пользовательских XML (локально-хранится или извлекается из внешней URI).

Источники данных основанные на разделах

При выборе одного из разделов в качестве источника на панели управления появяться три дополнительные катеогрии управления данными: «Filter Results (фильтрация результата)», «Sorting and Limiting (сортировка и играничение)» и «Output options (параметры вывода)».

Атрибут Описание
Filter Results
Filter Rules (Правила фильтрации) Добавление любого количества правил фильтрации данных. Для получения дополнительной информациисм. ниже.
Sorting and Limiting
Sort By (сортировка по) Выбор поля, по которому будет проводиться сортировка.
Sort Order (порядок сортировки) По возрастанию, по убывания или произвольно.
Limit (ограничение) Максимальное количество выводимых записей. Можможет принимать параметры.
Page (страница) Номер страницы с результатами выборки. Может принимать параметры.
Required URL Parameter (необходимый URL параметр) URL параметр необходимый для проведения выборки данных.
Redirect (переадресация) Параметр отвечает за переадресацию на страницу с ошибкой 404 (страница не найдена) в случае если получить данные от источника не удалось.
Output options
Parameter Output (Выходной параметр) Выбирается поле, которое будет использоваться в качестве выходного параметра источника данных. Используется для связывания источников данных.
Group Output (Группировка) Поле по которому будет производиться группировка XML данных.
Included Elements (Включенные элементы) Указываются поля, которые должны быть включены в источник данных, а так же указывается наличие или отсутствие постраничной навигации. Включение постраничной навигации снижает производительность.
Include Associated (Включение ассоциаций) Включение или отключение вывода количества записей для каждой отдельной записи. Включение данной опции может снизить производительность.
HTML-encode (HTML-парсер) Включение или отключение параметра отвечает за HTML кодирование текста.

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

Источники данных генерируемые системой

Выбор источника данных Authors (Авторы) приведёт к появлению того же списка параметров, как и выбор источника данных основанного на разделе (Рис. 2). При выборе источника данных Navigation (Навигация) раздел параметров сортировки будет таким же как и в предыдущих случаях, но параметры «Сортировки и органичения» будут перестроены в соответствии с принимаемыми параметрами и обработчиками событий. Раздел выходных параметров при этом отсутствует (Рис. 3).

Рисунок 2. Источник данных с данными об авторах. Рисунок 3. Источник данных с данными о навигации.

Пользовательские XML источники данных

Есть два типа пользовательских XML источников данных: статическиие и динамические XML данные. При выборе «Static XML (Статический XML)» в качестве источника становиться активнм большое поле для ввода XML данных (Рис. 4). Введёные XML данные будут храниться локально, а при выборке представляться «как есть» без каких либо изменений. Источник данных «Dynamic XML (Динамический XML)» получет данные из указанного URI «на лету» (например RSS лента является ярким примером динамического XML). Symphony позволяет использовать XPath для поиска необходимых данных, так же вы можете указать свои пространства имён и задать интервал кэширования. См. рис. 5:

Рисунок 4. Источник данных с выбранным статическим XML источником. Рисунок 5. Источник данных с выбранным динамическим XML источником.
Редактор источников данных. Простое правило фильтрации, возвращающее записи блога, поле

Symphony. Поля

Поля

Поля определяют, какие данные будут содержаться в разделах.

Обзор

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

Поля типа — textarea или date определяют в каком виде будут храниться данные (в какой форме данные будут представлены), а так же каким способом их следует обрабатывать.

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

Поля разделов определяются с помощью редактора разделов (Blueprints > Sections > Create New или Blueprints > Sections > {Имя раздела}). Поля представлены в редакторе раздела в виде отдельной области настройки.

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

Детали

Каждое поле представляет собой экземпляр универсального поля, поведение и структуру которого, вы определяете в области настройки раздела. В Symphony есть восемь основных типов полей, дополнительные типы полей доступны в виде расширений (один из которых — Select Box Link — включен по умолчанию).

Область настройки

Структура области настройки полей меняется в зависимости от типа поля, но почти во всех областях имеются несколько общих параметров:

Параметр Описание Пример
Label (Название) Название поля в формах, элементых интерфейса, а также в XML-выходе. Title, Publish Date
Placement (Размещение) Место размещения поля в редакторе записи. Main content, Sidebar
Show column (Отображать столбец) Отображение поля в виде столбца в панели вдминистратора при редактировании записи.
Make this a required field (Обязательно для заполнения) Сделать поле обязательным для заполнения при редактировании или создании новой записи.

The Big Picture

Поля и их типы определяют формат редактора и его источника данных для всех записей раздела.

Поля некоторых типов могут быть использованы для создания связи между разделами (например, тип Select Box Link).

Поля, используются в качестве основы для выборки и сортировки данных, а так же для определения параметров источников данных.

Добавление полей в раздел. Сначала необходимо выбрать тип поля, а затем нажать на кнопку Add Item

Symphony. Разделы

Разделы

Разделы моделируют и определяют типы контента, который будет использоваться в проекте.

Обзор

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

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

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

Управление разделами осуществляется в меню администратора, Blueprints > Sections. После того, как вы создали раздел и определили его структуру, вы можете создавать записи в данном разделе.

Детали

Раздел имеет уникальное имя, а также одно или несколько полей данных. Поля данных определяют структуру каждого раздела и отвечают за хранение данных записей. Например, раздел «Book Reviews», может иметь поля «Title», «Reviewer» и «Date».

Список разделов созданых при начальной установке Symphony

Список разделов можно найти в меню администратора Blueprints > Sections, он представляет собой таблицу с тремя столбцами:

Столбец Описание
Name (Имя) Название раздела. Клик на названии откроет редактор раздела.
Entries (Записи) Количество записей в разделе. Клик по ссылке откроет окно со списком записей раздела.
Navigation Group (Меню навигации) Название меню навигации к которому относится раздел.

Доступные операции: удаление, удаление записей.

Панель создания нового раздела.

Редактор разделов расположен в меню администратора, Blueprints > Sections > Create New или Blueprints > Sections > {Имя раздела}, и состоит из двух частей: «Основные параметры» (Essentials) и «Поля» (Fields).

Основные параметры раздела отвечают идентификацию и представление раздела в системе.

Столбец Описание Пример
Name (Имя) Название раздела. Projects
Navigation Group (Меню навигации) Название меню навигации к которому относится раздел. Portfolio
Hide this section… (Скрыть раздел...) Чекбокс позволяет скрывать раздел в меню.

Вторая часть (Поля) содержит поля раздела. Для получения дополнительной информации см. «Поля» и «Типы полей».

The Big Picture

Разделы являются основной осью организации Symphony. В первую очередь для источников данных и событий (которые позволяют создавать и редактировать записи).

Добавление нового поля в раздел.

Symphony. Руководство для начинающих

Добро пожаловать!

Мы рады, что Вы решили познакомиться с Symphony немного ближе. Это руководство поведаем вам обо всём, что вам нужно знать, прежде чем начать работу над первым проектом. Вы получите представление об уникальных возможностях Symphony, о структруе системы в целом и о принципах работы с системой. По ходу изучения системы мы будем указывать вам дополнительные материалы и учебники для более детального изучения системы, а так же на практике покажем, как применять полученные знания.

Знакомство с Symphony

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

В самом начале Symphony разрабатывалась на основании таких принципов, как открытость, простота и соответствие стандартам. Этот подход привел к гранулированнию архитектуры, которое легко настроить на каждом уровне, с небольшим и «чистым» ядром. Также при разработке привенялись открытые стандарты, такие как XML и XSLT, которые делают систему более прозрачной и свободной от ограничений, присущих других CMS.

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

Чтобы узнать больше о принципах разработки Symphony см. руководство «Дао Symphony».

Чтобы начать экспериментировать с рабочей копией, ознакомьтесь с инструкцией «Установка Symphony».

Понимание Symphony

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

Как же всё это работает? Каждый слой содержимого Symphony состоит из отдельных, полностью настраиваемых компонентов. Содержание каждого слоя задаётся с помощью разделов и полей. Его страницы содержат динамические интерфейсы для просмотра и взаимодействия с этим содержанием. Источники данных хранят в себе содержимое, которое выбирается, структурируется и выводится на страницах в виде XML, где шаблоны страниц и утилиты преобразуют его его в нужный формат (например, HTML). Расширенное представление данных может быть реализовано при помощи событий.

Если вы знакомы с паттерном Model-View-Controller (MVC), то это в значительной степени упростит понимание структуры Symphony. В MVC термины разделы и поля соответствуют модели (Model), шаблоны страниц и утилиты соответствуют представлению (View), а источники данных и  утилиты соответствуют контроллеру (Controller). Symphony дает вам всю мощь модели MVC, но добавляет простоту в использования и элегантность веб-CMS.

Для более глубокого изучения системы ознакомьтесь с разделом «Анатомия Symphony» (в разработке).

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

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

При всей мощности и гибкости, использовать Symphony на удивление очень легко. Давайте рассмотрим довольно распространенный вариант использования: блог. Вы бы начали с создания раздела под названием, скажем, «Blog Posts» и добавления таких полей, как «Title», «Body» и «Date». Вот так быстро вы бы могли смоделировать свой первый тип содержимого. После создания теста записи в разделе «Blog Posts», вы бы хотели увидеть его на своей странице. Теперь вы создаёте страницу под названием «View Blog Post» с URL ссылкой на пост и настроить его таким образом, чтобы предеавался URL параметр «title». Далее, нужно создать источник данных для извлечения записи из раздела «Blog Posts», название которой, соответствует переданному в параметре «title» значению. Наконец, Вы бы на скорую руку сверстали шаблон страницы для отображения полученного результата. В результате вы можете открыть страницу http://ваш-сайт.com/post/заголовок-вашего-поста и увидеть запись в блоке, которую вы создали. Довольно просто, не правда ли? При такой простоте, возможности практически безграничны.

Как вы уже могли заметить Symphony даёт пользователям и разработчикам большую степень свободы, но именно поэтому необходимо более внимательно подходить к планированию проекта, относительно других CMS. Вам придётся создавать свои модели данных, тщательно продумывая их структуру и содержание, продумывать как различные типы данных будут связаны друг с другом. Вы должны спроектировать архитектуру и продумать URL схемы взаимодействия для front end части. Вам будет необходимо чётко представлять схему взаимодействия различных частей системы.

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

Чтобы узнать больше, читайте «Планирование проекта на Symphony» (в разработке)

Знакомство с Symphony

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

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

Получить хорошее представление об основах XSLT, чтобы вы могли писать чистый, элегантный код шаблонов.

Удостоверьтесь, что вы хорошо понимаете принцип работы с различными типами полей, так чтобы вы могли создать хорошую модель данных.

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

Понять, как работают параметры, таким образом вы сделаете ваш проект гибким и динамичным.

Изучите имеющиеся модули. Они могут сделать вашу жизнь намного проще.

Зарегистрируйтесь на форуме и изучите его. Там вы сможете найти большую часть ответов на возникающие у вас вопросы.

Когда вы ознакомитесь с основными принципами работы и испольуемыми технологиями, переходите к следующему шагу.

Что дальше?

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

[Фото] Глаголь добро

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

Группа Агама Группа Агама Группа Агама На сцену вышли священнослужители и говорили о чём-то, но я не особо слушал. На сцену вышли священнослужители и говорили о чём-то, но я не особо слушал. Потом на сцену вышел вот этот парень, который странно бродил по сцене, а на гитаре у них играл пожилой лысеющий мужик. Играли какие-то рок баллады Колоритный чувак с ирокезом на голове, не мог его не сфоткать. Колоритный чувак с ирокезом на голове, не мог его не сфоткать. Общий снимок, людей в самом начале было не сильно много. Кто-то просто стоит и болтает. Господа полицейские доблестно берегут наш покой. А вот знакомые лица на фестивале. Илюха привет.
Ранее Ctrl + ↓