Dans les entreprises, les fermes collaboratives WSS sont souvent ajoutés en plus du site Intranet Corporate.
Ce site peut bien sur être un SPS 2003 ou MOSS 2007, mais peut tout autant être un site sous une autre technologie (Content Management sous PHP, .NET, Java, ...).
Comment paramétrer cette connexion ?
WSS V3 propose lors de la création d'une collection de site SharePoint d'ajouter le lien vers ce portail corporate. On trouve ce menu dans les "Sites Settings" du site racine de la collection :
On ajoute alors le lien et le nom que l'on souhaite pour ce lien :
Dès lors, ce lien se place sur le haut à gauche de la page de tous les site de cette collection
Mais comment ce lien est-il stocké en interne ?
Comme tout dans SharePoint, cela se passe bien sur en base de données, ainsi ce paramètre de connexion est ajouté dans la liste des paramètre de la création de la collection de site.
On peut voir justement la liste des collections ayant ces paramètres de renseignés en exécutant la requête suivant sur la base de contenu :
USE [WSS_Content]
SELECT
Id,
PortalURL,
PortalName
FROM
dbo.Sites
WHERE
(
(NOT (PortalURL IS NULL))
OR
(NOT (PortalName IS NULL))
)
Comment nettoyer ces liens ?
Le cas se présente pour des fermes Extranet. En effet, un Extranet est destiné à partager de l'information entre les collaborateurs internes et les partenaires de la société.
A ce titre les partenaires n'ont pas accès au réseau interne et de ce fait pas accès a ce fameux portail Intranet. Il faut donc supprimer cette connexion.
Le fait est que certaines collections ont été créées sur la ferme Intranet puis migrées sur la ferme Extranet, donc le lien persiste. Nous devons donc nettoyer ces liens.
Dans mon cas, la ferme Extranet contient plus de 160 collections, il est donc impensable de faire le passage manuel sur chaque site racine pour supprimer ce lien. La solution est de passer directement par la base de données (je sais que c'est mal mais bon :))
USE [WSS_Content]
UPDATE dbo.Sites
SET
PortalURL = NULL,
PortalName = NULL
WHERE
(
(NOT (PortalURL IS NULL))
OR
(NOT (PortalName IS NULL))
)
Vous aurez donc tous les liens de toutes les collections supprimés.
Comment ajouter le lien à tous les sites collaboratifs internes ?
Dans le cas de fermes WSS internes, nous devons ajouter ce lien sur tous les sites manquant, ceci peut se faire en base de données avec la requête suivante :
USE [WSS_Content]
UPDATE dbo.Sites
SET
PortalURL = 'http://MyPortal',
PortalName = 'Intranet'
WHERE
(PortalURL IS NULL)
OR
(PortalName IS NULL)
Il faut bien sur exécuter cette requête (comme pour la suppression) sur chaque base de contenu.
Romelard Fabrice [MVP]
Commentaires
Enregistrer un commentaire