Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Если вы переносите отдельный узел, например, с тестового сервера на рабочий, то может случиться другая неприятность – веб-части, списки и библиотеки при импорте получают новые идентификаторы, а в содержании страниц .aspx они останутся прежними.
В результате ни одна из страниц, где есть представление данных (DataFormWebPart) или соединение веб-частей (SPWebPartConnections), работать не будет. Потребуется некий ремаппинг для восстановления полноценной работы узла.
Решение этой проблемы – задача для программиста.
Можно предложить следующий алгоритм:
Шаг 1. Задача номер один – получить список идентификаторов с исходного сервера. Для этого можно воспользоваться веб-сервисом либо запустить на исходном сервере небольшую программку, которая создает xml-файл. В него мы запишем для списков – названия и идентификаторы, для веб-частей – идентификаторы, названия и страницы, на которых они располагаются. Библиотеки и рабочие процессы я не упоминаю намеренно, т.к. на самом деле они тоже являются списками с набором элементов.
Метод для создания такого xml-файла может выглядеть, например, так:
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
using System.Xml;
private static void makeXML(SPWeb web) {
XmlDocument xml = new XmlDocument();
XmlElement xmlroot = xml.CreateElement("Data");
XmlElement elem_l = xml.CreateElement("Lists");
foreach (SPList list in web.Lists) {
XmlElement listElem = xml.CreateElement("List"); ;
listElem.SetAttribute("ID", list.ID.ToString().ToUpper());
listElem.SetAttribute("Title", list.Title);
elem_l.AppendChild(listElem);
}
XmlElement elem_wp = xml.CreateElement("WebParts");
foreach (SPFile file in web.Files) {