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

StackOverflow https://stackoverflow.com/questions/20389

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

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

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

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

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

Другие советы

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

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

  1. сделайте резервную копию вашей формы ;-)
  2. Сохраните форму как исходный код. (Я предлагаю вам работать с файлами исходного кода, а не с .xsn, поскольку xsn — это всего лишь переименованный .cab с исходными файлами в нем.И вы можете использовать систему контроля версий более удобным способом.)
  3. Открой манифест.xsf файл
  4. найдите узел XML «DataConnections»
  5. найти и заменить часть URL-адреса сайта
  6. (Не забудьте указать путь сохранения, атрибуты файла и сайта и адрес публикации)
  7. развертывание из конструктора InfoPath

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

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

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

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

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

  1. Используйте файлы подключения к данным в своей форме.Откройте мастер подключения к данным в infopath, и для всех вас, подключающихся к данным, нажмите «Преобразовать...». Это изменит ваше подключение к данным из встроенного в форму в независимый XML-файл.Для их хранения вам понадобится библиотека подключений данных на вашем сайте SharePoint.Создайте это в браузере.

  2. После преобразования и подключения вернитесь к нему, и появятся параметры подключения...Кнопка используйте ее для изменения с «Локальной библиотеки подключений к данным» на «Библиотеку подключений с централизованным управлением»

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

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

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

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

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

а.Преобразование подключений к данным InfoPath в библиотеку DCL в SharePoint.б.Публикация формы Infopath в список SharePoint/Library c.Создание пакета решений .WSP для формы InfoPath и его кода-бедой d.Создание пакетного сценария, который развернет форму InfoPath на вашем рабочем сайте.е.Обеспечение формы Infopath была развернута как функция f.Измените DCL в производственной среде.г.Свяжите тип контента InfoPath с библиотекой документов/форм.

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top