Solution Technologies
Управление сайтом без ограничений

Руководство разработчика XS2

Скачать pdf-версию.

Часть 1. XS2 шаг за шагом

Глава 1. От печки

Вы купили XS2, установили его у себя на сервере и добавили в него свой первый проект. Этот момент и будет нашей "печкой", от которой мы начнем практическое изучения платформы XS2.

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

Например, практически во всех современных ОС моделью данных является дерево директорий и файлов. Элементы модели имеют специфическое поведение. Например, для дерева файлов задано следующее поведение:

  1. директории можно вкладывать в директории;
  2. файлы можно вкладывать в директории;
  3. директории и файлы можно создавать, редактировать, удалять, копировать, перемещеать, переименовывать.

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

Для того, чтобы сделать сайт на XS2, прежде всего необходимо как раз описать его в принятых на данной платформе терминах. Основным элементом модели данных в XS2 является узел. Вместо того, чтобы пытаться дать отвлеченное определения этого понятия, приведем несколько примеров объектов, которые могут быть представлены в XS2 в виде узла: новость, статья, блог, запись в блоге, пользователь, объект недвижимости, товар, заказ, строка заказа, фотография, пункт в меню сайта. Эти узлы имеют определенное поведение, которое определяется как общими для всех узлов свойствами, так и свойствами, придуманными разработчиком сайта. Общие для всех узлов в XS2 являют такие свойства, как идентификатор узла, его название, дата создания и проч. Для всех узлов в качестве их стандартного поведения в XS2 реализованы следующие операции: вкладывание узлов друг в друга в виде дерева, добавление, редактирование, удаление, перемещение и копирование узлов. Кроме того, узлы могут содержать произвольные ссылки друг на друга. Например, узел "Новость" может ссылаться на узел "Автор", узел "Строка заказа" явно должен содержать ссылку на товар, узел "Заказ" ссылается на узел "Покупатель" и т.п. Очень важно понимать, что XS2 изначально не содержит готовых объектов – вы придумываете и создаете их сами, указывая их свойства и ссылки между ними.

Еще один важный элемент модели данных XS2 – это модуль. Очень важно сразу забыть о понятии "модуль", присутствующее во многих современных CMS. Модуль в XS2 очень похожа по своему назначению на логических диск в операционной системе. Опытные пользователи ОС часто разбивают свой физический жесткий диск на два и более раздела: на первом разделе (C:) они ставят операционную систему, а на всех осталных (D:, E:…) хранят свои данные. Делается это для того, чтобы разграничить файлы ОС и программ от данных пользователя, увеличив таким образом отказоустойчивость и быстроту физического доступа к данным на диске. Модуль в XS2 служит для очень похожей цели: он позволяет выделить в отдельную логическую группу определенные узлы. Грубо говоря, можно свалить все узлы в один модуль (перемешать данные пользователя и файлы ОС), но удобнее их хранить разделив по каком-либо принципу. Например, удобно хранить в одном модуле все узлы, относящиеся к новостям: лента новостей, новость, журналист, rss-поток. Представим, что помимо новостей у вас на сайте есть еще и блог. Можно все узлы, относящиеся к блогу, тоже свалить в модуль "Новости", но удобнее сделать для них свой отдельный модуль, в котором будут аккуратно сложены дневники, записи, френды, комментарии. При этом ничто не мешает нам создавать ссылки между узлами, находящимися в разным модулях. Например, записи в блоге могут содержать ссылки на узлы типа "Новость".

И наконец третье очень важный элемент модели данных XS2 – это метод. Придумав и создав узлы, разложив их по модулям, мы неизбежно сталкиваемя с вопросом: а как из этого всего сделать странички на сайте? Метод в XS2 как раз и отвечает за вывод страницы. Для этого он производит выборку необходимых узлов и выводит их в определенном дизайне в виде HTML-документа. Кроме того, с помощью методов можно задавать свое поведение для узлов. В этом смысле методы можно сравнить с программами в ОС: например программа Windows Explorer показывает дерево с файлами и директориями, а программа Microsoft Word позволяет редактировать текстовые файлы специфичным для них методом.

На этом мы вполне можем закончить теоретическое знакомство с моделью данных XS2. Первый и очень важный шаг "от печки" сделан. Далее наше изложение будет в основном основываться на практических примерах. По мере решения конкретных задач мы будем подробнее знакомится с моделью данных в XS2.

Введение

Основные характеристики системы XS2
Требование к хостинг-площадке, на которой устанавливается XS2.
Инструкции по установке XS2 на хостинг-площадке.

Часть 1. XS2 шаг за шагом

Модель данных в XS2: модуль, тип, узел, метод.
Как организовать простейшую структуру данных в XS2 и вывести узлы на главной странице сайта.
Множественный выборки узлов и их вывод на странице в цикле.
Создание второстепенной страницы и организация ссылок на нее.
Структура метода в XS2. Что такое процессор и как он взаимодействует в шаблоном внутри одного метода.
Дерево как универсальный способ организации узлов в XS2. Как настраивать вложенность узлов друг в друга.
Ссылки между узлами как основное средство построения альтернативных структур узлов.
Использование функция XS2 API для выполнения редакторских операций в коде методов.
Функция xs2Fetch и ее возможности при организации повторного использования методов.
Подробнее о взаимодействии процессора и шаблона в одном методе: передача данных между процессором и шаблоном.

Часть 2. Решения на платформе XS2

О чем пойдет речь во второй части, для кого она предназначена.
Как производить дополнительные манипуляции с узломпри его вставка, редактировании, удалении, копировании или перемещении.
Постраничный вывод как способ показа больших массивов данных в одном шаблоне.
Как с помощью XS2 быстро сделать сайт с поддержкой множества языковых версий.
Быстрое развертывание удобных пользовательских интерфейсов с технологией AJAX на платформе XS2.
Подробнее о том, как организовать сложные структуры данных в XS2 и производить в них поиск.
В следующих главах, которые будут публиковаться здесь по мере их написания, мы планируем рассказать о:
Copyright ©1998-2008 Солютекс. Все права защищены.
Этот сайт сделан в designLab | Работает на технологии XS2
Условия использования | О защите конфиденциальности