Explorer View
Symptômes : Il peut y avoir de multiples raisons pour que la vue « Explorer » d’une bibliothèque ne fonctionne pas, avec de multiples solutions (souvent côté client) disponibles sur Internet.
Cependant le problème peut être côté serveur, notamment dans le cas d’un hébergement sous Windows Server 2008 et IIS 7 (+ client IE8).
Explication : SharePoint possède son propre moteur WebDAV via un filtre ISAPI. Il faut donc désactiver le rôle « serveur WebDAV » par défaut de Windows 2008.
Solution : Aller sur le « Gestionnaire de serveur » > « Rôles » > « Supprimer des services de rôles » > « Publication WebDAV ».
KB Microsoft
Article très complet
Sujet sur forum technet
Performance issue after many "restart level" actions
Someone reported that the game hangs for several seconds on « restart level » (after clicking many times on refresh in the same puzzle).
This issue is corrected and will be embedded in the next update in the next few weeks.
The Tricky Ones… Level "Puzzle" demystified
ASP.NET : L'impersonation
Mécanique de l’impersonation en ASP : pratique, mais pas simple…
L’impersonation signifie le fait de choisir sous quel compte seront exécutés les processus ASP.
Dans le web.config, la ligne suivante :
<identity impersonate="true" />
Signifie que le compte qui s’est connecté à IIS sera utilisé pour exécuter la logique côté serveur.
ATTENTION : Si le site est en accès anonyme, alors c’est le compte du pool d’application qui est utilisé (il en faut bien 1 !).
On peut forcer le compte utilisé pour l’impersonation :
<identity impersonate="true" userName="DOMAINusername" password="aaa"/>
Ceci n’empêche pas le compte Windows de se connecter au site, mais ce sera DOMAINusername
qui exécutera la logique.
Du côté des sources :
HttpContext.Current.User
: Renvoie le compte connecté à IIS (Windows intégré, anonyme, etc.) Quelque soit l’impersonation choisie.
WindowsIdentity.GetCurrent()
: Renvoie le compte qui exécute la logique. Donc si l’impersonation est à « true » dans le web.config, on aura le même compte que Current.User…
Enfin, en cours d’excution, on peut décider que le compte connecté sera celui qui sert à l’impersonation :
WindowsIdentity ident = (WindowsIdentity)HttpContext.Current.User.Identity;
// On caste avant...
ident.Impersonate();
Si jamais le Current.User
était un accès anonyme, une exception surgit : « Une identité anonyme ne peut pas exécuter un emprunt d’identité. »
CQFD.
ASP.NET : Renvoyer un ContentType différent (excel, CSV, doc…)
ASP.NET : Renvoyer un ContentType différent (C#)
Quelques conseils quand une page renvoie un flux différent que du "text/html"
:
- Préciser l’encoding :
Response.ContentEncoding = System.Text.Encoding.Default;
- Générer le contenu dans le Page_Load, et finir par :
Response.End();
- Exemple :
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
// Type de contenu de la réponse
Response.ContentEncoding = System.Text.Encoding.Default;
Response.Charset = "iso-8859-1";
Response.ContentType = "text/csv";
// Entête
Response.AddHeader("Pragma", "no-cache");
// Force le navigateur à faire un "enregistrer sous..."
Response.AddHeader("Content-Disposition", "attachment; filename="fichier.csv"");
// Corp de la réponse
Response.Write("bla bla bla");
// Pas de cache
Response.CacheControl = "no-cache";
Response.Expires = -1;
Response.End();
}
NB : Dans le corps de la réponse, pour faire des retours à la ligne « propres », il faut utiliser : System.Environment.NewLine
How to solve Level 45 ("Carl 3" – new version)
SharePoint : Exception lors de la mise à jour de la configuration d'une application web
Le dysfonctionnement d’un serveur frontal perturbe la propagation de la configuration SharePoint.
Symptôme
L’erreur suivante peut survenir lors de la mise à jour d’une application web via l’administration centrale (mappage, accès anonyme, extension de site, etc.) :
Un objet de type Microsoft.SharePoint.Administration.SPWebApplicationProvisioningJobDefinition appelé « Provisioning xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx » existe déjà sous le parent Microsoft.SharePoint.Administration.SPWebService appelé « ». Renommez votre objet ou supprimez l'objet existant.
Explication
Ceci peut être du au fait qu’un serveur de la ferme (web frontal) n’est plus accessible par l’administration. Du coup, les jobs de propagation de configuration restent en échec.
Résolution
- Vérifier pourquoi l’un des serveurs n’est plus accessible, et régulariser la situation.
- Supprimer tous les jobs de type « Job provisionning » via l’administration centrale > Opérations > Définitions des travaux du minuteur > « Mise en service de l’application web… »…
- … ou avec l’outil SharePoint Manager 2007, sous « <ROOT>/Services/Application Web de Windows SharePoint Services > Job Definitions ».
NB : Même topo pour les exceptions concernant SPWebApplicationUnProvisioningJobDefinition.
ColorSeeds : new version 2.0 available !
UPDATED.
ColorSeeds 2.0 is now available on the marketplace.
This update includes :
– Bug fixes,
– 10 new levels (called « The tricky ones »),
– The 56 original levels are now called « The 56 wonders ». Some of them (too easy) have been redone.
– The Infinite mode (?!)
– A new background image and a new menu screen.
This comes as an update to the current owners.
The former version 1.2 is now available for free.
ColorSeeds : "Carl 3" is too easy !
I’ve been told that level 45 (« Carl 3 ») is far too easy…
I thought I made it very difficult, but it can be solved in 3 movements. Next update will include a brand new level 45. Beware of « Carls » !