Question

L'entreprise souhaitait copier le contenu de la production à l'acceptation (environnement de publication).J'ai donc créé une tâche de déploiement de contenu pour ce faire et je l'ai exécutée.

L'opération a échoué avec l'erreur suivante :

Job de déploiement de contenu 'prod -> acc' a échoué. L'exception a été lancée 'Microsoft.sharepoint.spexception':«Fonction» 32E8942E-F6D6-48EC-AB6A-A75BEDD2816D «Pour le modèle de liste« 10000 »n'est pas installé dans cette ferme.L'opération n'a pas pu être complété.'

L'ID de fonctionnalité pointe vers une fonctionnalité personnalisée qui est en fait installée dans les deux environnements, exactement le même WSP.Une chose à noter est que sur le serveur qui héberge l’administration centrale, aucune application web n’est déployée.Pour cette raison, les fonctionnalités Web sont également omises sur ce serveur et ne sont donc pas présentes.Pour cette raison, j'ai activé le service d'administration centrale sur l'un des frontaux et modifié les paramètres de déploiement de contenu pour utiliser ce serveur au lieu de celui de l'administrateur central.Je ne l'ai pas réparé.

Lorsque je teste le travail, le test est correct, c'est donc vraiment l'importation qui pose problème.

Alors maintenant, la question est :est-ce que cela devrait fonctionner du tout ?Ou dois-je installer les applications Web sur le serveur d'administration central pour que les fonctionnalités y soient également présentes ?Cela semble un peu étrange.

Était-ce utile?

La solution

La solution était plus simple que je pouvais imaginer.Sur nos serveurs d'applications, les rôles Web ont été désactivés.Donc, dans IIS, les applications Web SharePoint n'existent pas.Apparemment, SharePoint omet également déploiement de fichiers WSP aux serveurs sur lesquels ces rôles ne sont pas présents.Mais le déploiement de contenu nécessite ces fichiers pour lire les définitions de fonctionnalités et les choses comme ça.

Pour résoudre ce problème, il y a deux options: 1) Démarrez le service d'administration central sur l'une des frontières.Maintenant, configurez le moteur de déploiement de contenu pour utiliser le service sur cette machine (où les fichiers XML sont présents). 2) Activez le service d'application Web sur l'un des serveurs d'applications.Configurez le moteur de déploiement de contenu pour utiliser ce serveur pour des travaux.

Le résultat des deux est le même;Les travaux de déploiement de contenu doivent être gérés par un serveur sur lequel les fichiers de fonctionnalités sont présents.

Autres conseils

Le déploiement de contenu peut facilement mal tourner si tous les « prérequis » requis ne sont pas présents.En voici quelques-uns qui me passent par la tête :

  • Assurez-vous que l'environnement cible est propre et que le même WSP est déployé que l'environnement source.
  • Assurez-vous de démarrer sur l'environnement cible avec une nouvelle base de données de contenu (en cas d'échec, il y a de fortes chances que vous ayez des restes dans votre base de données de contenu cible qui pourraient entraîner des problèmes lors du déploiement de contenu supplémentaire ou de recréation)
  • Assurez-vous que votre collection de sites cible est vide (c'est-à-dire "choisir le modèle plus tard")
  • Assurez-vous que votre code prend en charge le déploiement de contenu (par exemple :ne créez pas d'éléments de récepteur dans votre liste car ces éléments seront copiés par le déploiement de contenu et vous aurez au mieux dans ce cas des entrées en double)
  • Assurez-vous que le déploiement du contenu fonctionne « localement ».Vous pouvez configurer un déploiement de contenu sur une batterie de serveurs pour le déployer sur elle-même (évidemment sur une autre application Web/collection de sites).

Mais revenons à votre question : disposez-vous d’un WFE fonctionnel dans votre environnement cible ?Vous avez besoin d'une administration centrale sur les deux batteries car le déploiement de contenu communique avec leurs services Web pour effectuer l'opération, mais vous aurez également besoin d'au moins un serveur sur lequel le rôle d'application Web est activé (il peut s'agir du serveur APP hébergeant l'administrateur central).

Vous pourriez aussi faire un stsadm -o export sur l'environnement source et un stsadm -o import (ou la commande similaire dans PowerShell) sur l'environnement cible, le travail de déploiement de contenu est presque en train de faire cela, ce qui vous aidera à résoudre votre problème.

Enfin, assurez-vous que vos fermes (source et cible) soient le plus patchées possible (CU d'octobre 2012 ?), j'ai soulevé quelques tickets auprès de Microsoft (certains d'entre eux étant présents dans certaines CU).

Bonne chance, dites-nous comment les choses évoluent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top