====== Импорт и экспорт объектов ====== Данная функциональность используется для переноса объекта или группы объектов между страницами, шаблонами, сайтами и даже различными базами данных QP7. Для создания в тестовых целях копии страницы в пределах текущего шаблона лучше воспользоваться опцией **Создать по образцу** (**Create Like**) на уровне страницы. Кнопки импорта и экспорта располагаются на верхней инструментальной панели в списке объектов. ===== Файл пакета объектов ===== Файл пакета объектов представляет собой zip-архив, который создается во [[временной папке сайта]]. По умолчанию его название генерируется на основе текущей даты. Архив содержит основной xml-файл со структурой импортируемых объектов. Поскольку объекты типа Publishing Container не имеют смысла без привязанных к ним контентов, то вместе с ними в пакет экспорта попадет и структура этих контентов (без статей). Если контент, к которому привязан объект типа Publishing Container, связан с другими контентами, то будет проэкспортирована структура всего дерева контентов. Также в архиве могуть быть вспомогательные xml-файлы, в которые вынесены содержание некоторых полей основного xml-файла, размер которых слишком велик. Это сделано для уменьшения объема основного xml-файла. ===== Экспорт ===== Для того, чтобы произвести экспорт, нужно выполнить следующие действия: * Выбрать один или несколько объектов из списка и нажать кнопку **Экспортировать выбранные** (**Export Selected**). * На странице **Экспортировать объекты** (**Export Objects**) можно поменять название файла, в которой будут сохранены объекты. Файл представляет собой zip-архив, который создается во [[временной папке сайта]]. По умолчанию его название генерируется на основе текущей даты. * После нажатия кнопки **Начать экспорт** (**Start Export**) появляется индикатор прогресса. * При достижении 100% появляется кнопка **Cкачать файл экспорта** (**Download export file**), с помощью которой можно сохранить файл локально для дальнейшего импорта. * С помощью кнопки **Up** (**Вверх**) можно вернуться к списку объектов. ===== Импорт ===== При импорте нужно учитывать следующее: * Если пакет содержит как объекты шаблона, так и объекты страницы, то процесс импорта может быть проведен только на уровне страницы. Объекты будут созданы на соответствующих уровнях. В случае же, если пакет однороден, то есть содержит либо объекты шаблона, либо объекты страницы, то он может быть восстановлен на любом уровне (как шаблона, так и страницы). * Объекты, восстанавливаемые на уровне страницы, автоматически привязываются к существующим объектам шаблона при совпадении имен. Таким образом, они становятся [[:development:overriding|объектами страницы, переопределяющими объекты шаблона]]. Для того, чтобы произвести импорт, нужно выполнить следующие действия: * Перейти на уровень, куда предполагается импортировать объекты (список объектов нужной страницы или шаблона). * Нажать кнопку **Импорт** (**Import**). * Выбрать опции импорта контентов: * По умолчанию все галочки сброшены. Это означает, что контенты из пакета не импортируется. Перед процессом импорта осуществляется попытка привязки Publishing Container'ов к //существующим// контентам. Если попытка неудачная, то импорт невозможен, о чем выдается соответствующее сообщение. * Если установлена галочка **Импортировать контенты из пакета** (**Import contents from package**), то осуществляется попытка восстановления пустых контентов //с теми же именами//, с какими они сохранялись в процессе экспорта. Если такие контенты уже существуют, то импорт невозможен, о чем выдается соответствующее сообщение. Для //разрешения конфликта имен// нужно устанавливать опцию **Автоматически переименовывать контент, если такое имя уже существует** (**Rename imported contents automatically if contents with same names already exist**). * Выбрать на локальном компьютере файл, который был получен в результате экспорта и загрузить его с помощью кнопки **Загрузить** (**Upload**), начав тем самым процесс импорта. * При достижении 100% c помощью кнопки **Up** (**Вверх**) можно вернуться к списку объектов.