vendredi 23 octobre 2009

Comment redémarrer le service WebDAV (WebClient)

Sur Windows XP:

net stop webclient

net start webclient

Sur Windows 2003:

net stop mrxdav

net start webclient

mardi 20 octobre 2009

Utilitaire de recyclage des application pools pour les développeurs SharePoint

image

Cet utilitaire gratuit est un programme résidant dans la tray icon, qui fournit un accès rapides à des commandes IIS courantes, tel que le recyclage d’application pool, IISReset ou le redemarrage des services SharePoint (sptimerv3/owstimer ou spadmin).

C’est donc un outil très pratique dans le cadre de développement SharePoint.

Attention, un bug que j’ai remarqué, une fois l’outil démarré il bloque le shutdown ou le logoff de windows ! Il faut penser à l’arreter avant sous peine de s’arracher les cheveux quelques minutes…

télécharger ici

Page d’acceuil du produit

mardi 13 octobre 2009

Comment écrire (simplement) dans les logs SharePoint WSS 3

Pour écrire dans les fichiers de log SharePoint, vous trouverez sur le web principalement deux façon de faire :

La classe PortalLog

Tout d’abord le plus simple, on peut utiliser la méthode 

PortalLog.LogString(string message, params object[] args);

Cette méthode permet d’écrire facilement une ligne de texte dans les logs, mais malheureusement elle n’est disponible que pour MOSS 2007 et pas sur WSS 3.0. Pour l’utiliser il faut référencer l’assembly: Microsoft.Office.Server.dll

TraceProvider

Soit via un TraceProvider dont Microsoft a donnée un exemple d’implémentation sur le site MSDN: http://msdn.microsoft.com/hi-in/library/aa979522(en-us).aspx

Ce qui permet de disposer d’une méthode:

WriteTrace(uint tag, TraceSeverity level, Guid correlationGuid, string exeName, string productName, string categoryName, string message)

Cela semble prometteur mais personnellement je n’ai pas réussi à le faire fonctionner, et par ailleurs certains champs (notament “categoryName”) ne sont pas libre.


Reflection


La dernière alternative que je vous propose est d’utiliser de la reflection afin d’accéder aux méthodes de la classe Microsoft.SharePoint.Diagnostrics qui se trouve dans l’assembly Microsoft.SharePoint.dll et donc disponible dans WSS 3.


Voici le code:


static void WSSLog(string message)
        {
            try
            {               
                Type ULSType = Type.GetType("Microsoft.SharePoint.Diagnostics.ULS, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c");
                MethodInfo logMethod = ULSType.GetMethods(BindingFlags.Static | BindingFlags.Public)[19];

                logMethod.Invoke(null, new object[] { (uint)0x38317674, (uint)0x5ec, 20, "%s", new object[] { message } });
            }
            catch
            {
                // Logger should not throw exception
            }
        }

vendredi 2 octobre 2009

Envoyer un email depuis SharePoint WSS 3.0 ou MOSS 2007

Voici un petit bout de code permettant d’envoyer un email depuis SharePoint en utilisant la configuration SharePoint des emails sortants. Attention, il faut exécuter ce code avec des privilèges suffisant:

 

Microsoft.SharePoint.Utilities.SPUtility.SendEmail(SPContext.Current.Web, false, false,
"destinataire@mail.com", "Titre",
"body");