Сведения о вопросе

nikolya

12:00, 12th August, 2020

Теги

sharepoint   moss   infopath    

Развертывание форм InfoPath на разных серверах SharePoint

Просмотров: 421   Ответов: 7

Как вы управляете развертыванием форм InfoPath на разных серверах sharepoint? Есть ли лучший способ справиться со всеми подключениями к данным, зависящими от конкретного сайта, без открытия форм, редактирования подключений к данным и повторной публикации для каждой среды?



  Сведения об ответе

DO__IT

18:28, 21st August, 2020

Это обычная проблема, если вы работаете над dev-системой и время от времени нуждаетесь в развертывании в производительную систему. Я использую скрипт, который выполняет (обычный текст) замены на основе регулярных выражений.

на каждом развертывании:

  1. сделайте резервную копию своей формы ;-)
  2. Сохраните форму как исходный код. (Я предлагаю вам работать с файлами исходного кода, а не с .xsn, потому что xsn-это только переименованный .cab с исходными файлами в нем. И вы можете использовать систему управления версиями более удовлетворительным образом.)
  3. откройте файл manifest.xsf
  4. поиск узла xml "DataConnections"
  5. поиск и замена сайта - url часть
  6. (Не забудьте сохранить путь, атрибуты file-&site и publishUrl)
  7. развертывание из конструктора InfoPath

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


  Сведения об ответе

ASER

13:03, 13th August, 2020

Если вы перейдете в параметры отправки, есть возможность выполнить пользовательское действие с помощью правил. Если у вас есть все настроенные подключения к данным, Вы можете настроить правила, чтобы выбрать, к какому подключению отправлять данные.


  Сведения об ответе

lats

02:35, 5th August, 2020

Если я правильно понимаю ваш сценарий:

У вас есть форма InfoPath с подключениями к данным, которые отправляют ваши данные. Вы хотите развернуть эту форму на нескольких серверах SharePoint и заставить эти соединения данных отправлять данные на текущий развернутый сервер.

На самом деле вы не можете обойти необходимость выполнять работу на каждом сервере SharePoint, на котором вы хотите развернуть форму. Однако вы можете обойти необходимость изменения шаблона формы InfoPath.

Если вы используете библиотеку SharePoint Data Connection Library (DCL) и создаете файл UDC из вашего подключения к данным, на каждом сервере SharePoint, который вы хотите использовать, ваш шаблон InfoPath может просто общаться с файлом UDC.

Вот ссылка на статью об интеграции InfoPath с SharePoint DCL:

http://msdn.microsoft.com/en-us/library/bb267335.aspx


  Сведения об ответе

LAST

08:32, 23rd August, 2020

Смотрите мой пост в блоге, где я беру вас step-by-step с соответствующими снимками, охватывающими следующее:

a. преобразование InfoPath подключений к данным в библиотеку DCL в SharePoint. b. публикация формы InfoPath в список SharePoint / библиотеку c. Создание пакета решения .wsp для формы InfoPath и ее кодового обеспечения d. создание пакетного сценария, который развернет форму InfoPath на вашем производственном сайте. e. обеспечение того, чтобы форма InfoPath была развернута как функция f. измените параметры DCL в рабочей среде. г. Свяжите тип контента InfoPath с библиотекой документов / форм

Смотрите полный пост в блоге по адресу: http://www.sharepointfix.com/2009/12/infopath-2007-form-and-nintex-workflows.html


  Сведения об ответе

lats

11:56, 16th August, 2020

re: ответ speedfox, старайтесь держаться подальше от редактирования манифеста, когда это возможно. Это просто приведет к головной боли.

Если я правильно понимаю вашу проблему, вы развертываетесь на нескольких серверах (DEV, UAT, Production) и должны вручную редактировать подключение к данным каждый раз, когда вы переходите из одной среды в другую? Простите меня, если я слишком упростил задачу

Я нашел лучший способ сделать подключение к данным сайта относительным это:

  1. Используйте файлы подключения к данным в своей форме. Откройте мастер подключения к данным в infopath, и для всех вас, соединяющих данные, нажмите кнопку "Convert...". это изменит ваше подключение к данным из встроенного в форму в независимый файл XML. Для их хранения вам понадобится библиотека объединения данных на сайте sharepoint. Создайте это в браузере.

  2. После того, как вы преобразовали и соединение вернетесь в него, и там будут варианты подключения... кнопка используйте его, чтобы изменить с "Local data connection library" на "Centrally managed connection library"

  3. Загрузите подключение к данным, которое находится в библиотеке подключений к данным сайтов, в центр администрирования

  4. При публикации формы убедитесь, что вы публикуете ее в централизованно управляемом расположении (центральный администратор)

  5. Используйте форму в качестве типа контента в любой библиотеке форм этого семейства веб-сайтов.

  6. Чтобы использовать форму на другом сайте, загрузите файл подключения к данным на новый сервер централизованного администрирования и опубликуйте (неизмененную) форму в централизованно управляемых формах.


  Сведения об ответе

P_S_S

01:36, 17th August, 2020

В моем сценарии я не использую встроенную кнопку "save". У меня есть подключение к данным, которое я использую для "post" данных в другой список.

Да, именно это я и имею в виду, говоря о конкретном сайте. Я не думаю, что вы можете использовать localhost', потому что тогда, когда пользователь сохраняет форму, он попытается отправить ее на компьютер пользователя (т. е. localhost). Я пытался использовать относительные пути, но это, похоже, не работает.


  Сведения об ответе

прога

07:49, 6th August, 2020

Под конкретным сайтом вы подразумеваете, что подключения к данным в ваших формах относятся к серверу, на котором развернута форма? Если это так, возможно, вы могли бы настроить свои соединения, чтобы использовать localhost вместо имени сервера для части имени хоста подключения к данным URLs.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться