Question

Comment gérez-vous le déploiement des formulaires InfoPath sur différents serveurs sharepoint ?Existe-t-il une meilleure façon de gérer toutes les connexions de données spécifiques au site sans ouvrir les formulaires, modifier les connexions de données et republier pour chaque environnement ?

Était-ce utile?

La solution

Si je comprends bien votre scénario :

Vous disposez d'un formulaire InfoPath, avec des connexions de données qui soumettent vos données.Vous souhaitez déployer ce formulaire sur plusieurs serveurs SharePoint et demander à ces connexions de données de soumettre des données au serveur actuellement déployé.

Vous ne pouvez pas vraiment travailler sur chaque serveur SharePoint sur lequel vous souhaitez déployer le formulaire.Cependant, vous pouvez éviter de devoir modifier le modèle de formulaire InfoPath.

Si vous utilisez la bibliothèque de connexions de données SharePoint (DCL) et créez un fichier UDC à partir de votre connexion de données, sur chaque serveur SharePoint que vous souhaitez utiliser... alors votre modèle InfoPath peut simplement communiquer avec le fichier UDC.

Voici un lien vers un article sur l'intégration d'InfoPath avec le DCL de SharePoint :

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

Autres conseils

Il s'agit d'un problème courant si vous travaillez sur un système de développement et avez besoin de temps en temps de déploiements sur un système productif.J'utilise un script qui effectue des remplacements (en texte brut) basés sur des expressions régulières.

à chaque déploiement :

  1. faites une sauvegarde de votre formulaire ;-)
  2. Enregistrez votre formulaire en tant que code source. (Je vous suggère de travailler sur des fichiers de code source plutôt que sur le .xsn, car le xsn n'est qu'un .cab renommé contenant les fichiers source.Et vous êtes en mesure d'utiliser le contrôle de source d'une manière plus satisfaisante.)
  3. ouvrir le manifeste.xsf déposer
  4. recherchez le nœud XML "DataConnections"
  5. rechercher et remplacer la partie URL du site
  6. (N'oubliez pas les attributs save-path, file-&site et submitUrl)
  7. déployer à partir du concepteur InfoPath

J'utilise un script qui effectue tous les remplacements.Cela fonctionne bien et m'a déjà épargné beaucoup de travail.

Si vous accédez aux options de soumission, il existe une option permettant d'effectuer une action personnalisée à l'aide de règles.Si toutes les connexions de données sont configurées, vous pouvez configurer des règles pour sélectionner la connexion à laquelle soumettre.

concernant:Réponse de speedfox, essayez d'éviter de modifier le manifeste autant que possible.Cela entraînera simplement des maux de tête.

Si je comprends votre problème, vous déployez sur plusieurs serveurs (DEV, UAT, Production) et devez modifier manuellement la connexion de données à chaque fois que vous passez d'un environnement à un autre ?Pardonnez-moi si j'ai trop simplifié le problème

J'ai trouvé que le meilleur moyen de rendre les connexions de données relatives au site est de :

  1. Utilisez des fichiers de connexion de données dans votre formulaire.Ouvrez l'assistant de connexion de données dans Infopath et pour toutes vos connexions de données, cliquez sur "Convertir...". Cela change votre connexion de données d'incorporée dans le formulaire à un fichier XML indépendant.Vous aurez besoin d'une bibliothèque de connexions de données sur votre site Sharepoint pour les stocker.Créez-le dans le navigateur.

  2. Après avoir converti et rétabli la connexion, il y aura une option de connexion...utilisez-le pour passer de « Bibliothèque de connexions de données locales » à « Bibliothèque de connexions gérée de manière centralisée »

  3. Téléchargez la connexion de données qui se trouve dans la bibliothèque de connexions de données de votre site vers l'administrateur central.

  4. Lorsque vous publiez votre formulaire, assurez-vous de le publier dans un emplacement géré de manière centralisée (Administrateur central)

  5. Utilisez votre formulaire comme type de contenu dans n’importe quelle bibliothèque de formulaires de cette collection de sites.

  6. Pour utiliser le formulaire sur un autre site, téléchargez le fichier de connexion de données sur l'administrateur central des nouveaux serveurs et publiez le formulaire (inchangé) sur les formulaires gérés de manière centralisée.

Consultez mon article de blog où je vous explique étape par étape avec des instantanés pertinents couvrant les éléments suivants :

un.Conversion d'InfoPath Data Connections en bibliothèque DCL dans SharePoint.b.Publication du formulaire InfoPath à une liste / bibliothèque SharePoint c.Création d'un package de solution .wsp pour le formulaire InfoPath et son code-bind d.Création d'un script batch qui déploiera le formulaire InfoPath sur votre site de production.e.Assurer que le formulaire InfoPath a été déployé comme une caractéristique f.Modifiez les DCL dans l’environnement de production.g.Associer le type de contenu InfoPath à la bibliothèque de documents/formulaires

Voir l'article de blog complet sur : http://www.sharepointfix.com/2009/12/infopath-2007-form-and-nintex-workflows.html

Par spécifique au site, voulez-vous dire que les connexions de données dans vos formulaires font référence au serveur sur lequel le formulaire est déployé ?Si tel est le cas, vous pourriez peut-être modifier vos connexions pour utiliser localhost au lieu du nom du serveur pour la partie nom d'hôte des URL de connexion de données.

Dans mon scénario, je n'utilise pas le bouton "enregistrer" intégré.J'ai une connexion de données que j'utilise pour « publier » les données sur une autre liste.

Oui, c'est ce que j'entends par spécifique au site.Je ne pense pas que vous puissiez utiliser localhost, car lorsqu'un utilisateur enregistre le formulaire, il essaiera de le publier sur l'ordinateur de l'utilisateur (c'est-à-direhôte local).J'ai essayé d'utiliser des chemins relatifs mais cela ne semble pas fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top