Развертывание форм InfoPath на разных серверах SharePoint - PullRequest
5 голосов
/ 21 августа 2008

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

Ответы [ 7 ]

6 голосов
/ 17 октября 2008

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

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

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

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

2 голосов
/ 28 августа 2008

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

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

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

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

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

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

2 голосов
/ 22 августа 2008

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

1 голос
/ 18 декабря 2009

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

а. Преобразование соединений данных InfoPath в библиотеку DCL в SharePoint. б. Публикация формы InfoPath в списке / библиотеке SharePoint с. Создание пакета решений .wsp для формы InfoPath и его кода д. Создание пакетного сценария, который будет развертывать форму InfoPath на вашем производственном сайте. е. Обеспечение того, чтобы форма InfoPath была развернута как функция е. Изменить DCL в производственной среде. г. Свяжите тип содержимого InfoPath с библиотекой документов / форм

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

1 голос
/ 27 февраля 2009

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

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

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

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

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

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

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

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

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

0 голосов
/ 22 августа 2008

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

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

0 голосов
/ 21 августа 2008

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

...