0

Мне нужно решить, какой способ хранения подмножества содержимого на сайте SharePoint, чтобы при удалении и воссоздании определенных списков как части активации функции, Я могу снова вставить все это содержимое туда, где оно должно принадлежать. У меня есть идея сама, но я не знаю, является ли это единственным методом и, что более важно, правильным методом.Временное «резервное копирование» содержимого SharePoint во время развертывания функций и решений

У моего клиента у меня есть система SharePoint для связи с их клиентами. В бизнес-процессе может быть 5 этапов (может быть, это больше, я даже не знаю, потому что они не говорят мне все), и текущая система, которую я написал за последние месяцы, может пройти 2 этапа. Это соответствует нашему сроку завершения этих систем в понедельник на следующей неделе ... но в этот момент мой клиент планирует сделать сайт живым с этого момента.

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

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

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

Мой текущий план состоит в том, чтобы запускать списки и библиотеки, на которые будет влиять конкретная функция, которая должна быть сброшена. Файлы и все их версии будут сохранены в каталоге на сервере. Затем набор текстовых файлов будет использоваться для хранения всех важных значений полей для элементов. Это включает в себя множество перекрестных ссылок, которые нужно поддерживать, но это достаточно просто. Затем я деактивирую функцию, развертываю новое решение и повторно активирую функцию. Мы загружаем все файлы в порядке, указанном их версиями, и обновляем их с сохраненными полями для этих версий, чтобы сохранить структуру версии. Поскольку каждый из них сначала загружается, новый идентификатор выбирается, и все релевантные запросы в остальных файлах обновляются (в некотором роде я уверен, что я не буду повторно обновлять его позже с неправильным значением, конечно). После этого мы просматриваем все остальные элементы в порядке, наиболее подходящем для правильной реляционной информации. Это примерно соответствует моему текущему плану. К моему преимуществу, в системе нет длительных рабочих процессов, которые будут затронуты этим, поэтому мне нечего беспокоиться о том, что когда я делаю это, ничего не «все еще работает».

Я действительно не знаю всех минусов этого подхода ... Я могу представить, что они довольно здоров. Но я не уверен, что другие варианты у меня есть, и мои поиски ничего не изменили. Есть ли кто-нибудь, кто может подумать о лучшей идее? Или кто-нибудь скажет мне, что у меня нет другого выбора? Заранее спасибо!

ответ

0

Ну, удачи ...Я не думаю, что у вас есть другие варианты на данный момент, если вам действительно нужно удалить материал. Однако, если бы вы могли каким-то образом прийти с таким способом не делать этого ...

Тем не менее, мало что может придумать - для чтения все может занять несколько часов, если кто-то закладок предмета или отправит ссылку кому-то еще , это не сработает после обновления, необходимость внесения изменений в схему будет больно. И, как это обычно бывает с SharePoint, наверняка возникнут некоторые проблемы, скрывающиеся под поверхностью, чтобы укусить вас, когда вы доберетесь туда.

+0

И, возможно, слишком поздно для серьезных изменений в архитектуре, используя что-то вроде http://slam.codeplex.com/Wikipage может помочь – kerray

+0

Если у меня нет другого выбора, у меня нет другого выбора. Спасибо. По крайней мере, мне удалось сократить количество обновлений, требующих полного цикла функций. Потеря закладок и т. Д. Уже была обречена с самого начала. –