Tips and Tricks : Ma ferme est elle de type WSS ou MOSS quand j'active une Feature ?
Petite astuce à connaitre pour les codeurs de features que vous êtes (potentiellement) tous.
A vrai dire elle correspond à un vieux piége que nombre de jeune développeur oublie fréquemment : Un serveur SharePoint 2007 n'est pas forcement un serveur MOSS !!!
>>> et donc, il n'est rien de moins sur de trouver la Content Query WP ou encore le systéme de publishing.
C'est la que ma Feature de Master Picker est trés pratique quand on découvre que le publishing n'est pas disponible sur le serveur collaboratif.
Bon, pour une Master Page, le soucis n'est pas trop grave mais si vous voulez faire un Feature assez avancé avec un receiver, il est bien d'être sur que la ferme ou on la déploit posséde bien MOSS avant de tout "mettre à jour"
Non ?
Bien voici un petit sample de code de cher Daniel Larson, qu'il vous suffit de rajouter dans votre code, framework, utilities ...
private static bool? isMoss = null;
/// <summary>
/// Determines if this is a MOSS install.
/// </summary>
/// <param name="spContext">SPContext.Current</param>
/// <returns>true if MOSS is installed, otherwise false</returns>
public static bool IsMoss(SPContext spContext)
{
if (isMoss.HasValue)
return isMoss.Value;
try {
SPFeatureDefinition mossFeature = spContext.Site.WebApplication.Farm.FeatureDefinitions["OssNavigation"];
if (mossFeature != null)
isMoss = true;
else
isMoss = false;
}
catch { isMoss = false; }
return isMoss.Value;
}
En pratique, elle teste l'existence au niveau de la ferme de la feature de navigation de MOSS et donc valide sa précense
Simple, rapide et efficace
Renaud Comte aka TheMit (i'm a Feature you know, do you want me to be deactivated ?)
Member of WygTeam
http://www.wygwam.com
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :