====== Сборка ====== Под **сборкой** понимается процесс генерации файлов с кодом (страниц и контролов) на веб-сервере из пользовательского кода и настроек, хранящихся в базе данных QP7. База данных выступает в данном случае как хранилище кода. На основании настроек генерируется необходимый служебный код. Процесс сборки может быть вызван для следующих объектов QP7: * Сайт * Шаблон * Страница * Объект Кроме этого существует [[:assembling:contents|сборка LINQ-классов для контентов]]. Для того, чтобы сборка работала, необходимо, чтобы администратором были настроены [[:admin:access|соответствующие права]]. ===== ASP-сборка ===== Осуществляется постранично. Сборка шаблона и сайта представляет собой просто сборку последовательности страниц. Сборка отдельных объектов не поддерживается. Для каждой страницы создается один asp-файл, куда записывается вся необходимая для ее работы информация: код шаблона, все вызываемые на странице объекты (во всех возможных форматах вызовов). ===== ASP.NET-сборка ===== Осуществляется как постранично, так и пообъектно. Связано это с тем, что в отличие от ASP-сборки, код записывается во множество файлов. Осуществляется проверка, нужно ли собирать данный элемент кода по флажкам в базе данных. Если значение флажка = 1, то формат объекта (страница или формат шаблона) должен быть пересобран в соответсвующем режиме. Список флажков: * Live * Stage * Live Preview * Stage Preview * Live Notification * Stage Notification ===== Алгоритмы сборки ===== ==== Сборка одной страницы в ASP.NET ===== Происходит при нажатии соответствующей кнопки в свойствах страницы или объектов этой страницы. * Сборка объектов шаблона с учетом флажков * Сборка объектов страницы с учетом флажков * Обновление [[зависимостей кэша]] ==== Сборка нескольких страниц в ASP.NET ==== Происходит при сборке шаблона или при выборе сразу нескольких страниц для сборки. * Сборка объектов шаблона с учетом флажков * Цикл по страницам * Сборка объектов страницы с учетом флажков * Обновление [[зависимостей кэша]] ==== Cборка шаблона в ASP.NET ==== Осуществляется из свойств шаблона и его объектов, а также из списка выборе конкретного шаблона. * Сборка уведомлений шаблона * Если шаблон пустой (нет страниц), то просто собираются все объекты шаблона * Если в шаблоне есть страницы, то проводится сборка страниц шаблона (по алгоритму сборки нескольких страниц) ==== Сборка сайта в ASP.NET ==== Осуществляется из свойств сайта и из списка при выборе конкретного сайта * Сборка уведомлений сайта * Сборка пустых шаблонов сайта (в которых нет страниц) * Сборка объектов шаблонов * Сборка страниц сайта (по алгоритму сборки нескольких страниц) ==== Сборка страницы в ASP ==== * Анализ кода шаблона, поиск вызовов объектов * Найденные объекты записываются в код страницы * Рекурсивный анализ кода объектов В итоге собранный ASP-файл содержит в себе все необходимое для работы, включая объекты других шаблонов. В этом состоит принципиальное отличие от сборки ASP.NET. ==== Сборка сайта в ASP ==== * Цикл по страницам сайта * Сборка каждой страницы