Formation initiale
Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) :
- Ecole primaire jusqu’au Collège : Formation générale permettant d’obtenir les méthodes et informations de base nécessaires durant toute sa vie
- Premier choix possible vers une formation professionnelle ou non :
- Lycée professionnel : Premier niveau permettant de sortir du système scolaire avec un diplôme permettant de travailler. En France, cela aboutit vers le BEP ou CAP, en Suisse il s’agit du CFC (Certificat Fédéral de Capacité)
- Lycée général : Continuité de la formation générale tout en choisissant un premier guidage suivant les aptitudes personnelles (scientifique, littéraire, …). Cette phase se termine en France avec un BAC (ou maturité en Suisse).
- Formations Post BAC : c’est à ce stade que l’on choisit réellement une spécialisation qui en général dirige la carrière professionnelle. On y retrouve :
- Les cycles cours (BTS, IUT, Bachelor, …) qui vont généralement donner un caractère technique ou professionnel permettant d’être directement intégré dans une entreprise
- Les cycles longs (Masters, Ecole d’Ingénieur, Ecole de Commerce, …) permettant de progresser dans les capacités de raisonnement et d’analyse. Ce sont aussi des formations permettant de prendre en charge rapidement un poste d’expertise ou de management.
Loin de moi l’idée de vouloir faire un état de l’art de la formation, ce récapitulatif permet de montrer que, dans les grandes lignes, on passe une première partie de sa scolarité dans un cadre général pour ensuite se spécialiser.
Ainsi, que ce soit pour les techniciens, les ingénieurs ou les commerciaux, la formation leur permet de prendre en charge un poste défini suivant l’option choisie :
- Ingénieur réseau, ou système
- Ingénieur en développement
- Gestionnaire de portefeuille financier
- Responsible marketing
- Chef de produit
- Technicien en bureau d’étude
- ….
Le parcours suivant va s’appuyer sur cette formation en poursuivant sa spécialisation et approfondissant les compétences techniques ou managériales. On retrouve généralement à ce stade la fameuse question du développeur devenant chef de projet.
Formation professionnelle
La question se pose sur la formation à partir de ce point. En effet, le début de carrière professionnelle est généralement dirigé selon cette formation et il est souvent compliqué d’en sortir.
C’est souvent après quelques années que les souhaits personnels commencent à refaire surface et que la formation non assumée (imposée par la famille par exemple) devient un poids (cas du cadre de grande entreprise quitant tout pour partir élever des chèvres dans le Larzac).
On trouve aussi souvent à ce stade le besoin de reconnaissance et de validation d’un niveau de compétences par un diplôme, qui peut être effectué par un processus long et fastidieux tel que la Validation des Acquis par l’Expérience (comme l’a expliqué Elise Dupont).
Cette possibilité est souvent utilisée par des personnes ayant une formation courte voulant valider un niveau plus élevé (passage d’un niveau BAC ou Bachelor vers un niveau Master ou Ingénieur).
Il est aussi possible de suivre des formations en cours du soir par différents organismes via des cycles de formation continue, comme expliqué sur ce site.
Les Master of Business Administration (MBA)
Un MBA (ou Maîtrise en administration des Affaires) est une formation pouvant être donnée selon des formats différents tels que :
- Cursus à plein temps (Full Time MBA)
- Cursus en emploi (Executive MBA)
- Cursus accéléré (Accelerated MBA)
Le principe d’un MBA est de suivre une formation permettant de comprendre les différents grands départements d’une entreprise. Ainsi, la formation de base permettra d’avoir en fin de cycle une vision à 360 ° du fonctionnement des grandes entreprises. L’idée de ce type de programme est de s’ouvrir vers d’autres divisions ou d’autres secteurs. C’est aussi une façon pour les “informaticiens” de mieux comprendre les logiques de certaines divisions (marketing, financières, …). Cela peut être aussi une formation permettant de se réorienter ou de créer une entreprise tout en évitant les écueils classiques.
Historiquement, cette formation est donnée en anglais, mais de plus en plus d’écoles proposent des MBA dans d’autre langues (Français, Espagnol, …), tout en respectant les règles de base des MBA avec une “Accreditation” donnée par les organismes de validation.
On peut trouver le contenu de base que tout MBA se doit de fournir ici :
Comment choisir son MBA
Il existe plusieurs critères à prendre en compte lors du choix de sa formation :
- Le prix de la formation (allant de 10 à plus de 100 000 Euros)
- La durée de la formation (1 an, 18 mois ou 2 ans)
- Le mode de formation (Full Time, Part-Time, Accelerated MBA, Executive MBA, …)
- Les spécialisations possibles
- La reconnaissance de la formation au niveau international
- Le niveau de la formation
- …
Les quatre premiers critères sont fournis au travers des programmes des écoles proposant les MBA.
Pour la reconnaissance, il est possible de trouver un ensemble de formations regroupées dans différentes associations telles que :
Pour le niveau de la formation, c’est un peu plus complexe, car différents classements existent pour ces formations :
Ces classements sont intéressants et à considérer, mais sont à prendre comme des indicateurs, car tous les MBA ne sont pas présents dans ces classements.
Un des paramètres important dans ce contexte reste le “bouche à oreille” ou du moins le fait de connaître des anciens de l’école envisagée. Il ne faut pas hésiter non plus à se déplacer pour rencontrer les responsables de cette école. Vous prévoyez d’investir du temps et de l’argent dans cette formation, donc vous devez être convaincus de votre choix.
Sponsoring de sa formation
Certaines entreprises sont en partenariat avec des écoles et proposent donc à leurs employés de suivre un cursus MBA en respectant un engagement propre à l’entreprise.
Dans le cas contraire, rien ne vous empêche de proposer à votre entreprise de payer tout ou partie de la formation en vous engageant dans un processus de Talent Management, ou de développement de carrière. Si tel est le cas, il est très souvent demandé de signer un contrat vous demandant de rester un certain temps dans l’entreprise (généralement 2 ans). Si vous souhaitez partir avant ces deux années, vous devrez rembourser tout ou partie du coût de cette formation.
Il faut aussi réfléchir à son projet avant de demander ce sponsoring, car ce contrat peut donc bloquer votre projet (création d’entreprise, reprise d’entreprise, changement de carrière, …).
Conclusion
Quelque soit votre projet de carrière, le MBA peut vous permettre d’accélérer celle-ci, même s’il s’agit de partir élever des chèvres dans le Larzac.
Pour ma part, après une longue réflexion, je me suis décidé (motivé aussi par ma copine) pour un Executive MBA à l’université de Genève, d’une durée de 2 ans :
Je reviendrai prochainement sur certains points concernant cette formation.
Romelard Fabrice [MVP]
Lors de la mise en place d’une ferme SharePoint intégrant le service de recherche, il est de bon ton d’installer les filtres de recherche (ifilter) pour le PDF mais surtout pour les documents Office au format OpenXML.
Microsoft Office 2007 iFilter Pack
Chez Microsoft, ce package est mis à la disposition de tous avec le nom :
Cette version est aussi nommée iFilter pack 1.0 et permet d’indexer tous les documents Office au format OpenXML (docx, xlsx, pptx, …) ou au format précédent OpenXML (doc, xls, ppt, …).
Erreur d’indexation des fichier Visio (VSD)
Le fait est que ce filtre n’est pas excempte de soucis et particulièrement pour les documents VISIO (VSD), comme on le voit expliqué dans ce message :
Ainsi le moteur de recherche lorsque la ferme est installée en 64 Bits prend beaucoup de temps lors de l’indexation avec ce pack de filtres, mais surtout n’arrive pas à indexer correctement les fichiers VISIO. Ces fichier VISIO s’accumulent dans le répertoire temporaraire du compte d’indexation :
- C:\Documents and Settings\[SearchServiceAccount]\Local Settings\Temp\gthrsvc\
Et les sources de contenu mettent un temps très long à être indexé. De plus, on trouve un grand nombre d’erreurs dans les logs d’indexation avec le message :

La raison vient du fait que ce pack de filtres n’a pas été correctement optimisé pour les environnement X64, un patch a été publié depuis pour corriger ces erreurs :
Microsoft Office 2010 iFilter Pack
Depuis, Microsoft Office 2010 a été livré accompagné de son pack de filtres :
Ainsi que le Service Pack 1 de ce pack de filtres :
Ce pack de filtres comprends les fichiers de type :
- Legacy Office Filter (97-2003; .doc, .ppt, .xls)
- Metro Office Filter (2007; .docx, .pptx, .xlsx)
- Zip Filter
- OneNote filter
- Visio Filter
- Publisher Filter
- Open Document Format Filter
Il faut donc couper le service de recherche du serveur d’indexation, supprimer le pack de filtres 1.0 et installer celui de 2010, puis son service pack 1. On redémarre le service de recherche et on relance une indexation de son contenu (de préférence un Full Crawl).
Il est aussi préférable de faire la même opération sur tous vos serveurs ayant le service de recherche :
- WSS V3 Search
- MOSS Search
- SP Search Server 2008
- SharePoint Foundation 2010 Search
- SharePoint Server 2010 Search
- SP Search Server 2010
- Indexing Services
- SQL Server index
- Exchange Server
Conclusion
Selon mes premières observations, l’indexation des documents Office devient alors beaucoup plus rapide, on peut à peine les voir passer dans le répertoire temporaire du compte de service :
- C:\Documents and Settings\[SearchServiceAccount]\Local Settings\Temp\gthrsvc\
Il faut donc pour ma part, relancer l’indexation Full Crawl de mes 60 sources de contenu distantes, soit environ 8-9 Millions de documents à travers le monde. Nous verrons bien si cette mise à jour aide à l’efficacité de cette indexation.
Romelard Fabrice [MVP]
Dans le cadre de l’administration de ferme SharePoint WSS V3, un des cauchemards habituels reste le moteur de Recherche. En effet, c’est un moteur efficace, mais très sensible et qui peut du jour au lendemain s’arrêter de fonctionner avec des messages d’erreur pour le moins inutiles.
C’est le cas de l’EventID 2436, qui est très régulier en cas d’erreur, mais dont les détails sont parfois déconcertant comme on le voit dans ce cas :

The start address <sts3://MyWebApplication/contentdbid={0ba7840b-6a7d-4ab0-9f37-60b8e82033a1}> cannot be crawled.
Context: Application 'Search index file on the search server', Catalog 'Search'
Details:
(0x81070504)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Avec une répétition continue dépendant de votre paramétrage pour l’indexation (dans mon cas toutes les 5 minutes) :

Le message indique tout de même qu’il ne peut pas indexer l’intégralité d’une base de contenu dont le GUID est le “0ba7840b-6a7d-4ab0-9f37-60b8e82033a1”, pour la WebApplication donnée. En allant dans la centrale administration, on valide déjà que le GUID donné correspond bien à une des bases de contenu présentes pour la Web Application en question.
Cela se passe dans :
- Central Administration > Application Management > Content Databases
En cliquant sur la base de contenu, on obtient une URL du type :
On voit bien que le GUID correspond bien.
Cela signifie donc qu’aucune des collections de sites contenues dans cette base de données ne sont indexées par le moteur de recherche.
L’étape suivante est de lister le contenu de cette base de données via la commande STSADM :
On envoit cette liste dans un fichier XML pour le lire et on trouve la source de l’erreur :
On voit donc un message d’erreur pour une des collections de sites :
<Site Error="The system cannot find the path specified. (Exception from HRESULT: 0x80070003)" />
Il s’agit certainement d’une collection orpheline résultant d’une suppression qui ne s’est jamais terminée par exemple.
A ce stade la solution est donc de supprimer la base de contenu de la liste des Content DB de la Web Application, puis de la rajouter.
Via la centrale admin :

Ou via STSADM deletecontentdb / addcontentdb :

Il faut ensuite valider que le moteur de recherche est bien paramétré et relancer le service NT de Recherche (Windows SharePoint Services Search).
La recherche va redémarrer lors des prochaines 5 minutes avec succès. Au bout d’un certain temps dépendant du volume à indexer :

Les utilisateurs peuvent dès lors utiliser le moteur selon leur besoin.
Romelard Fabrice [MVP]
Nous avons vu dans un précédent sujet comment forcer l’import des Profils utilisateurs via PowerShell, cette procédure permet de palier une erreur survenue après la mise à jour de ma ferme SharePoint.
Problématique
Ce même soucis est aussi présent pour les Audiences, comme on le voit dans la fenêtre suivante :

Avec le message suivant :
An error has occurred while accessing SQL database or system resources. If this is the first time you have seen this message, please try again later. If this problem persists, please contact your administrator.
De la même façon que pour les profils utilisateur, j’ai cherché une solution permettant de se passer du planificateur de SharePoint qui ne fonctionne plus.
Work Around utilisé
La solution a donc bien évidemment été de passer par un script PowerShell pour forcer la compilation (mise à jour) de toutes les Audiences. Cette compilation se fait bien pour chaque audience manuellement mais non globalement.
La solution est toujours basée sur un script simple disponible sur le projet CodePlex :
Mais associée au parcours de l’ensemble des Audiences disponibles afin de lancer la compilation de chaque Audience.
Le script résultant est composé de deux fonctions simples :
function Compile-SharePointAudience([string]$PortalURLtoCompile, [string]$AudienceName)
{
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server") > $null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search.Administration") > $null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Audience") > $null
Write-Host "PortalURLtoCompile", $PortalURLtoCompile
$sitetoCompile = new-object Microsoft.SharePoint.SPSite($PortalURLtoCompile)
$searchContext = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($sitetoCompile)
[Array]$args = $searchContext.Name, "1", "1", $AudienceName
[int]$runjob = [Microsoft.Office.Server.Audience.AudienceJob]::RunAudienceJob($args)
$sitetoCompile.Dispose()
return $runjob
}
function Refresh-Audiences([string]$MyPortalURL)
{
Write-Host "MyPortalURL", $MyPortalURL
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Audience") > $null
$site = new-object Microsoft.SharePoint.SPSite($MyPortalURL)
$web = $site.openweb()
$srvContext = [Microsoft.Office.Server.ServerContext]::GetContext($site)
[Microsoft.Office.Server.Audience.Audience]$myAudience = $null
[Microsoft.Office.Server.Audience.AudienceManager]$audManager = new-object Microsoft.Office.Server.Audience.AudienceManager($srvContext)
[Microsoft.Office.Server.Audience.AudienceCollection]$audCollection = $audManager.Audiences
foreach($myAudience in $audCollection)
{
Write-Host "Audience Name:", $myAudience.AudienceName, "- Last Compile:", $myAudience.LastCompilation
Compile-SharePointAudience $MyPortalURL $myAudience.AudienceName
}
Write-Host " -------------------------------- "
$web.Dispose()
$site.Dispose()
}
Refresh-Audiences “http://MyPortalWebApplication”
Vous pouvez alors planifier l’exécution de ce script toutes les nuits afin que chaque utilisateur puisse avoir les vues associées à ses paramètres et aux audiences appliquées.
Il est aussi ajouté au site CodePlex comme les scripts précédents :
Romelard Fabrice [MVP]
Microsoft Office SharePoint Server 2007 permet de charger les profils Utilisateurs disponible dans différentes sources telles que l’Active Directory. Un article traîtant de sa mise en place est disponible ici :
Problématique
Depuis la mise en place du Service Pack 3 de MOSS 2007 , et l’Upgrade du moteur SQL Server de la version 2005 à la version 2008 R2 sur ma ferme, en suivant les documentation disponible :
L’import des profils utilisateurs ne se fait plus.
En effet, dès que l’on va dans l’interface d’administration des profils, on trouve l’écran suivant :

Le message en rouge est le suivant :
An error has occurred while accessing the SQL Server database or the Office SharePoint Server Search service. If this is the first time you have seen this message, try again later. If this problem persists, contact your administrator.
Il est bien évident que la connexion avec le moteur SQL fonctionne parfaitement (sinon, on ne trouverait pas ce message, puisque la ferme serait simplement Down).
N’ayant pas le courage de me battre avec le Support de Microsoft (en rapport avec mes précédentes expériences douloureuses), j’ai recherché une alternative telle que je l’ai fait précédemment pour un autre cas expliqué ci-dessous :
Work Around utilisé
La question est donc toute simple, comme on le voit dans la capture d’écran le chargement se fait bien si on le fait via Code, mais il est impossible d’utiliser l’outil interne pour gérer la planification. Il nous suffit donc de créer un script PowerShell permettant de faire ce lancement avec une gestion du Full et de l’incrémental.
Rien de plus simple pour cela, en partant d’un des scripts développé et disponible sur CodePlex :
Il suffit de créer un script qui détecte le jour actuel, afin de faire le Full import le dimanche et l’incrémental les autres jours. Puis lance le processus de chargement.
Le script peut être celui-ci :
function Refresh-User-Profiles([string]$SiteURL)
{
$CurrentDate = [datetime]::Now
[bool]$IncrementalCrawl = $True
if($CurrentDate.DayOfWeek -eq [system.DayOfWeek]::Sunday)
{
$IncrementalCrawl = $False
}
write-host "Current Date:", $CurrentDate.ToString(), "- WeekDay:", $CurrentDate.DayOfWeek, " Incremental Crawl:", $IncrementalCrawl
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server") > $null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles") > $null
$site = new-object Microsoft.SharePoint.SPSite($SiteURL)
$srvContext = [Microsoft.Office.Server.ServerContext]::GetContext($site)
Write-Host "Status", $srvContext.Status
$UserConfProfManager = new-object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager($srvContext)
$UserConfProfManager.StartImport($IncrementalCrawl)
$site.Dispose()
}
Refresh-User-Profiles “http://myWebApplicationForMySite”
Ce script est à planifier tous les jours à votre convenance, via le Task Scheduler de Windows.
Il est aussi ajouté au site CodePlex comme les scripts précédents :
Romelard Fabrice [MVP]
Lorsqu’on gère des fermes SharePoint, il est très utile d’avoir une solution de Backup de collection de sites. Souvent cela se fait via STSADM, comme expliqué dans cet article :
Archivage des collections de sites
En plus de cette question de la sauvegarde régulière, une question se pose pour les collections supprimées.
En effet, si on est trop restrictif, on pourrait mettre en place une règle de base qui dit que si la collection est supprimée, c’est qu’il ne faut pas conserver sa sauvegarde.
Sauf que “dans la vraie vie avec des vrais gens”, cela ne fonctionne jamais comme cela. Ainsi une règle aussi vindicative entraine très rapidement des situations délicates :
- L’administrateur de la collection (Owner) qui supprime la collection de sites par erreur et s’en rend compte que plusieurs jours passés
- L’administrateur de la collection (Owner) qui supprime la collection de sites avant son départ pour se venger
- …
Toujours est-il que cette situation où une collection est supprimée ne doit pas entrainer une perte de la sauvegarde DAT (STSADM), mais bien son archivage.
Cela se fait simplement en déplacant le fichier de sauvegarde vers un autre répertoire qui sera potentiellement sous une règle de backup sur bande plus large (une sauvegarde full par semaine, une incrémentale par jour et une rétention de 3 mois).
Zipper les fichiers DAT
On peut alors se demander s’il est intéressant de Zipper ces fichiers DAT archivés ou non. La réponse à mon sens est OUI. Car, les fichiers DAT provennant de STSADM –O Backup correspondent à peu de chose près à une sauvegarde partielle du contenu SQL Server.
Cette sauvegarde ~SQL veut donc dire que les documents au sein de ces tables SQL Server restent sensiblement dans le même état lors de cette sauvegarde et ne sont donc pas compressés, sauf bien sur si le document est un fichier déjà compressé (ZIP, RAR, OpenXML, …).
Comme on le voit dans l’exemple ci-dessous, le gain du ZIP d’un fichier DAT est totalement variable du contenu de cette collection de site, mais on peut avoir une division par deux de la taille :

Ainsi, il est toujours utile de mettre une compression dans tous les cas de ces fichier un par un.
Romelard Fabrice [MVP]
Mots clés Technorati :
ZIP,
STSADM,
BACKUP,
SharePoint
Cette année 2011 aura été riche en publications pour ma part et sur de nombreux sujets, mais on peut retenir un bilan simple :
- 77 Messages sur ce Blog
- 9 Articles sur Technos-Sources
- 5 Articles sur ASP-PHP
- 2 Articles sur Office 365
- 5 Articles sur SQL Server
- 6 Articles sur SharePoint
Il ne faut pas se reposer sur ces lauriers, car 2012 arrive à grands pas et fournira très certainement de nombreuses publications.
Afin de terminer cette année, voici deux articles publiés cette semaine en rapport avec l’utilisation de la plateforme Office 365 :
Ces articles seront suivis de sujets futurs en rapport avec l’Usage de la plateforme Office 365.
Je profites donc de ce message pour vous souhaiter à tous de très bonnes fêtes de fin d’année et une excellente année 2012.
Romelard Fabrice [MVP]
Un précédent sujet nous a expliqué comment activer la solution de sauvegarde dans le Nuage pour nos jeux XBOX 360 :
La première question qui se pose est comment utiliser cette solution pour un nouveau jeu.
Utilisation de la Sauvegarde dans le Nuage avec un nouveau jeu
Pour cela, rien de plus simple, il suffit de choisir le périphérique “Parties sauvegardées dans nuage” lors du choix de ce périphérique :

Le transfert se fera à travers votre connexion Internet avec une gestion du tampon sur la XBOX.
Il est aussi à noter que ce transfert en fin de partie se fera jusqu’à la fin même si vous souhaitez éteindre la console (car la machine n’est pas réellement éteinte). Attention, car ce transfert sera coupé si vous débranchez électriquement votre console ou si la connexion Internet est coupée. Ce transfert redémarrera lors du rallumage de votre console ou au rétablissement de la connexion.
Tout est expliqué ici :
Mais voyons la question des jeux dont vos sauvegardes sont déjà sur votre machine. Il faut donc déplacer les sauvegardes associées.
Déplacer des sauvegardes de jeux XBOX vers le Nuage
Dans ce cas précis, nous avons déjà commencer une partie d’un jeu, mais nous voulons passer la sauvegarde de notre partie dans le Nuage.
Pour cela il faut retourner dans l’écran des paramètres de la console

Puis choisir le menu Stockage

Nou voyons alors les deux périphériques de stockage associés à notre XBOX 360. Il faut donc prendre le disque dur courant pour trouver les sauvegardes existantes

Nous voyons alors le contenu de ce disque et plus particulièrement les “Jeux et Applications”

La liste des jeux apparaît, nous pouvons choisir un de ces jeux

Pour atteindre la liste des “fichiers” associées à ce jeu. Cela peut être une sauvegarde, mais aussi toutes les mises à jours associées à ce jeu. Dans notre cas, nous avons uniquement le fichier de sauvegarde

En Sélectionnant cette sauvegarde, Nous avons le choix de gérer cette sauvegarde en la copiant, la déplacant ou la supprimant. Dans notre cas, nous allons choisir de la Déplacer

Nous devons choisir alors le périphérique “Parties sauvegardées dans nuage”

Le téléchargement du fichier de sauvegarde sera fait et son temps de transfert dépendra de la taille de celui-ci

Votre sauvegarde sera alors présente dans le Nuage, et vous pouvez la retrouver lors de votre prochaine partie

Vous pouvez bien évidemment effectuer la même manoeuvre à l’envers pour replacer votre sauvegarde du Nuage vers votre disque dur.
Un article détaillé est disponible concernant le déplacement ou la copie de contenu sur la XBOX 360 :
Vous pouvez passer vos sauvegardes d’un périphérique à l’autre, mais il faut aussi anticiper le volume de ces sauvegardes, car certains jeux sont très gourmand et votre connexion Internet sera alors très sollicité. Il est préférable d’avoir une connexion de type ADSL, Cable ou Fibre, sans limitation du volume si vous souhaitez utiliser cette option sur vos jeux.
Il peut arriver que la sauvegarde dans le Nuage pose soucis et il existe une page traîtant de ce sujet :
En vous souhaitant de bonnes parties
Romelard Fabrice [MVP]
Depuis quelques jours, Microsoft a mis en ligne la nouvelle interface utilisateur pour la XBOX 360, totalement inspirée de METRO et de ZUNE (ou Windows Phone 7).
Cette interface est regroupée en plusieurs parties comme on le voit ci-dessous :

On navigue donc de page en page avec les liens du haut, aussi bien via la manette, la Kinect (par les mouvements de mains) ou à la voix (comme expliqué ici).
Une des autres nouveautés de cette nouvelle interface est la possibilité de sauvegarder ses parties sur Internet :
- Sauvegarde dans les nuages
Voyons comment activer cette option.
Activation de la sauvegarde dans les nuages
Cette option n’est pas disponible de base, mais exige bien une activation. Pour ceci, il faut utiliser le menu du haut “Settings” à droite, puis la tuile “System”

On choisit ensuite l’option “Stockage”

On trouve alors la “Parties sauvegardées dans nuage”, mais avec la mention “Configurer le périphérique”

Cette configuration correspond simplement à activer ou désactiver la sauvegarde dans les nuages. Dans notre cas, nous allons l’activer

Une fois l’option activée, nous voyons apparaître la sa ligne “Parties sauvegardées dans nuage” au sein de la liste des périphériques de stockage avec la taille offerte de 511 MB

Microsoft offre donc 512 MB à chaque personne pour ses sauvegardes dans les nuages.
L’activation est expliquée sur le site officiel de Microsoft XBOX :
Nous verrons dans de prochains article comment déplacer du contenu du disque dur vers cette sauvegarde en ligne.
Romelard Fabrice [MVP]
Lorsque l’on tranfère du contenu d’un site à un autre via les méthodes “Export/Import” (Cf. différent messages sur ce sujet), un des effets secondaire est le non-fonctionnement des colonnes de type LookUp.
En effet, les Lookup column fonctionne par la référence à l'ID de la colonne cible et lors de l’Export/Import, cet ID n’est plus le même. Ainsi la colonne faisant référence à un contact dans une liste de type calendrier ne marchera plus, car l’ID interne de la liste contact a changé.
La solution est une adaptation de ce qui est expliqué dans le message suivant :
Ainsi le script en question va modifier la valeur de la column (SPField) de type lookUp afin de changer le paramètre "SPFieldLookUp”. Ceci ne peut pas se faire directement, car la propriété n’est pas modifiable en direct, il faut passer par la propriété “SchemaXml”, qui elle est modifiable.
Le script PowerShell permettant ce travail en fournissant le minimum d’information est le suivant :
function Set-SharePointList-LookUpColumn([string]$SiteURL, [string]$ListName, [string]$ColumnName, [string]$ListToLookUp, [string]$ColumnToLookUp)
{
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
$site = new-object Microsoft.SharePoint.SPSite($SiteURL)
Write-Host "Site URL:", $SiteURL
$web = $site.openweb()
Write-Host " "
$spList = $web.Lists[$ListName]
Write-Host "ListName:", $spList.Title
$myField = $spList.Fields[$ColumnName]
write-host "LookUp Column Before Change:", $myField.LookupList
$IDToReplace = $myField.LookupList.ToString()
Write-Host "IDToReplace:", $IDToReplace
Write-Host " "
Write-Host " ----------------"
$LookUpSPList = $web.Lists[$ListToLookUp]
Write-Host "ListName To LookUp:", $LookUpSPList.Title, "- ID:", $LookUpSPList.ID
$LookUpmyField = $LookUpSPList.Fields[$ColumnToLookUp]
write-host "LookUp Column to Set:", $LookUpmyField.InternalName
Write-Host " ----------------"
Write-Host " "
[string] $xml = $myField.SchemaXml;
#Replace old LookupList ID with new one
Write-Host " XML Before Change:", $xml.ToString()
$xml = $xml.Replace($IDToReplace, $LookUpSPList.ID.ToString());
Write-Host " XML After Change:", $xml.ToString()
$myField.SchemaXml = $xml;
$myField.Update()
$myField.LookupField = $LookUpmyField.InternalName
$myField.Update()
$web.Dispose()
$site.Dispose()
}
Set-SharePointList-LookUpColumn “http://MySharePointSite/sites/MyCollection/MySubSite” "MyListWithLookUp" "MyColumnWithLookUp" "MyListToLookUp" "MyFieldToLookUp"
Il vous suffit de l’adapter selon votre besoin. Ensuite vous pourrez remettre les valeurs initiales pour les items déjà existant.
Le script est aussi disponible sur le site CodePlex fournissant les scripts d’administration :
Vous pouvez aussi trouver des informations supplémentaires sur le message :
Romelard Fabrice [MVP]
Lorsqu’on gère une ferme SharePoint, on peut être ammené à faire évoluer cette ferme en passant le serveur frontal de Windows 2003 vers Windows 2008 R2.
Le plus simple dans ce cadre est de monter la machine Windows 2008 R2, puis installer la version SharePoint de la ferme sur cette nouvelle machine et enfin lui faire joindre la ferme courante.
Tout ceci ne pose aucun soucis particulier, les deux serveurs frontaux fonctionneront le temps que tout soit OK avec la nouvelle machine.
Le soucis potentiel provient de la méthode utilisée par SharePoint quand le nouveau serveur rejoint la ferme existante. En effet, le moteur va alors créer les Web Applications de la ferme et surtout copier les fichiers Web.Config de chacune de ces application Web.
Ainsi dans le cas de l’installation de composants aditionnels utilisant des composant .NET ayant subit de grosses évolutions entre Windows 2003 et Windows 2008 R2, on se retrouve avec les références vers la version Windows 2003.
On trouve donc l’exemple de la référence vers les composants AJAX développé pour le FrameWork 1.1 au départ avec les références telles que celle-ci :
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
Le fait est que sous Windows 2008 R2, ce module existe toujours mais plus du tout avec ce code version comme on le voit ci-dessous :

Il faut donc modifier la ligne avec la valeur suivante :
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
Il faut aussi parcourir sur tout le fichier Web.Config, pour modifier le code version vers “3.5.0.0”.
On termine cette modification par un petit IISRESET, afin de recharger la configuration.
Romelard Fabrice [MVP]
A la création d’une collection de sites, il est possible d’appliquer un Quota maximal alloué à celle-ci. Il s’agit simplement de la taille maximale que cette collection de sites ne pourra pas dépasser.
Un message a traîté de ce sujet sur ce même blog :
Cette solution permet de contrôler l’usage des sites afin de ne pas faire exploser les volumes, il n’est pas question d’interdir l’utilisation du site SharePoint, mais plutôt de tenter de maîtriser sa croissance.
Une option offerte par les listes peut en revanche créer quelques soucis avec cette limitation. En effet, lorsqu’on active le Versionning, on demande à SharePoint de stocker toutes les modification de chaque item :

Cette option va donc déculpler la volumétrie estimée pour la liste en question et potentiellement explosé le quota alloué à la collection tout entière, comme on le voit ici :

Pour trouver cette page, il faut aller dans les Settings de la collection (en administrateur de la collection) et cliquer sur “Storage Space Allocation” et choisir “Documents” sur la gauche.
On peut cliquer sur le lien “Versions(xxx,xxx)” pour trouver l’historique de l’item

Dans notre cas, le document initial fait 8 MB ce qui multiplié par le nombre de versions de celui-ci explique la taille finale.
Il est bon de contrôler ce paramètre et donc de surveiller le quota afin de ne pas pénaliser les utilisateurs tout en maintenant un bon niveau de fonctionnement.
Romelard Fabrice [MVP]
Lorsque l’on souhaite déplacer du contentu d’une collection vers une autre ou d’une ferme vers une autre, il est rapidement nécessaire de passer par l'export de contenu.
Un article sur ce sujet a d’ailleurs été rédigé :
Une première chose est très importante à maîtriser lors de l’import :
Ceci permettant de ne pas voir les information des données perdues (qui a modifié et quand). Mais une autre option est à connaître lors de l’Export pour ne pas rencontrer une erreur lors de l’import qui bloque le chargement du contenu :
Cette option est une propriété de la classe SPExportSettings qui est nécessaire lors de l’export. L’erreur rencontrée est visible dans le log d’import avec un message ressemblant à celui-ci :
FatalError: The file cannot be imported because its parent web <URL name of the exported subsite> does not exist
Il faut donc modifier le script PowerShell qui avait été développé pour cette tache d’export en ajoutant :
function Export-List([string]$ListURL)
{
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Deployment") > $null
$versions = [Microsoft.SharePoint.Deployment.SPIncludeVersions]::All
$exportObject = New-Object Microsoft.SharePoint.Deployment.SPExportObject
$exportObject.Type = [Microsoft.SharePoint.Deployment.SPDeploymentObjectType]::List
$exportObject.IncludeDescendants = [Microsoft.SharePoint.Deployment.SPIncludeDescendants]::All
$settings = New-Object Microsoft.SharePoint.Deployment.SPExportSettings
$settings.ExportMethod = [Microsoft.SharePoint.Deployment.SPExportMethodType]::ExportAll
$settings.IncludeVersions = $versions
$settings.IncludeSecurity = [Microsoft.SharePoint.Deployment.SPIncludeSecurity]::All
$settings.OverwriteExistingDataFile = 1
$settings.ExcludeDependencies = $true
$site = new-object Microsoft.SharePoint.SPSite($ListURL)
Write-Host "ListURL", $ListURL
$web = $site.OpenWeb()
$list = $web.GetList($ListURL)
$settings.SiteUrl = $web.Url
$exportObject.Id = $list.ID
$settings.FileLocation = "C:\Temp\BackupRestoreTemp\"
$settings.BaseFileName = "ExportList-"+ $list.ID.ToString() +".DAT"
$settings.FileCompression = 1
Write-Host "FileLocation", $settings.FileLocation
$settings.ExportObjects.Add($exportObject)
$export = New-Object Microsoft.SharePoint.Deployment.SPExport($settings)
$export.Run()
$web.Dispose()
$site.Dispose()
}
Cette mise à jour est faite pour les scripts en ligne sur le site CodePlex :
Romelard Fabrice [MVP]
Nous avons vu précédemment différents messages en rapport avec le Service Pack 3 de SharePoint 2007 :
Il convient de faire très attention avant pour l’installation de ce Service Pack. En revanche, ce package est désormais dans les patchs de “High-Priority updates” de Microsoft Update.

Ainsi, si vous avez activé l’installation automatique des patchs, vous pouvez vous retrouver à installer ce Service Pack 3 sans le vouloir.
Romelard Fabrice [MVP]
Dans le cadre de la gestion de fermes SharePoint, il est courant de faire aussi le support des utilisateurs. Un cas classique de Bug est l’utilisation d’Office 2007 avec SharePoint.
Introduction
Dans de nombreux cas, la version d’Office déployée dans une entreprise n’est pas celle utilisée pour du test. En effet, du fait du coût des licenses, le choix de la version déployée peut être plus basique que celle utilisée par les développeurs ou administrateurs.
En effet, La version Standard de SharePoint 2007 fonctionne aussi très bien avec SharePoint, et ne nécessite plus la modification de la base de registre pour Office 2003 (simulation de la version Office 2003 Professional pour une machine installée avec Office 2003 Standard Edition) :
Présentation du cas
De ce fait, certains utilisateurs avancés souhaitent avoir des outils aditionnels d’Office qui ne sont pas inclus dans la version Standard tels que :
- Access 2007
- Project 2007
- Visio 2007
Tous trois susceptibles de travailler avec des informations provenant de SharePoint :
- Gestion en direct des liste depuis Access (simulant un tableur)
- Project Server 2007
- Diagramme avec des données issues de listes pour Visio
Ainsi l’application va être installée sur le poste de l’utilisateur, ayant au préalable Office 2007 Standard Edition accompagné du Service Pack 2.
Le soucis arrive donc dans le décallage de Service Pack entre les deux outils client d’Office 2007 (Office Std et Access dans l’exemple).
Description des erreurs
Pour notre exemple, la version d’Office 2003 est l’édition Standard accompagnée du Service Pack 2 menant au code version : 12.0.6545

Tandis que la version d’Access 2007 est sans Service Pack donc en code version : 12.0.4518

Ainsi lors de la tentative d’ouverture d’un site SharePoint depuis Access 2007, les listes sont visibles, on peut donc cocher une liste :

Et à cet instant, on reçoit un message d’erreur et un crash ACCESS :

Qui apparaît dans le système de Gestion d’erreur de Windows

Solution
La solution est de ce fait très simple, il faut installer le Service Pack 2 (dans notre exemple) de Microsoft Access 2007, afin de mettre tous les outils clients au même niveau.
Romelard Fabrice [MVP]
Nous avons vu dans un précédent message qu’un article sur l’installation du SP3 de WSS V3 est en ligne :
Cette documentation est celle qui a été suivie pour la mise à jour de deux grosses fermes de production :
- Plus de 300 Collections de sites chacune
- La taille des Collections allant de 1 MB a 30 GB
- env. 600 GB de contenu au total
Le retour est plutôt positif, sauf un détail qui a donc provoqué quelques soucis. Voici donc un retour sur cette mise en place.
DownTime à prévoir
La mise à jour est à faire sur chaque machine Web Front End quoi qu’en dise le message, il faut exécuter l’assistant sur chaque frontal, ce qui double le DownTime à prévoir (env 30 min d’installation par WFE). Il ne faut surtout pas qu’un des Frontaux soit actif pendant que l’autre exécute l’assistant, car il y a des modifications faites sur les bases de données.
Assistant particulièrement long
Lors de l’exécution de l’assistant, de mise à jour, on voit apparaître un message relatif aux 9 étapes. Les 7 premières se déroulent sans soucis, mais la huitième est extrèmement longue. J’ai eu jusque 25 minutes d’attente pour chaque frontal.
Raison du temps d’exécution long sur les grosses fermes de production
La raison est à trouver dans le fichier de LOG de la mise à jour :
- C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS\Upgrade.Log
En effet, vers les lignes 400 (pour mon cas), on trouve ce bloc de messages :
[SearchQFE21038DatabaseAction] [12.2.9.0] [DEBUG] [11/17/2011 6:24:00 PM]: Begin Initialize()
[SearchQFE21038DatabaseAction] [12.2.9.0] [DEBUG] [11/17/2011 6:24:00 PM]: End Initialize()
[SearchQFE21038DatabaseAction] [12.2.9.0] [DEBUG] [11/17/2011 6:24:00 PM]: Begin Upgrade()
[SearchQFE21038DatabaseAction] [12.2.9.0] [DEBUG] [11/17/2011 6:24:00 PM]: Applying script SearchDataDBTableChangesBugQFE21038 to WSS_Search_XXXXX database.
Cette étape exécute un script sur la base de recherche dont l’exécution peut être conséquente sur une ferme de production, on trouve d’ailleurs une référence de soucis :
Solution appliquée dans mon cas
Dans mon cas, la solution pour limiter la casse fut de stopper la Mise à jour en plein process (au bout de 25 min), pour stopper le Search, supprimer la base de données de recherche WSS V3. Ensuite exécuter la commande sur chaque frontal :
- PSConfig.exe -cmd upgrade -inplace b2b -force
Puis redémarrer chaque machine, et reconfigurer le moteur de recherche WSS V3, suivant la documentation ici (ne pas oublier le paramétrage pour les PDF) :
La réindexation s’est déroulée toute la nuit et ce matin tout est OK avec mes deux fermes de production avec le Service Pack 3 de Windows SharePoint Services V3 (code version 12.0.0.6608).

Attention pour l’application du SP3 pour MOSS
Selon le message juste plus haut (Problems updating), il semble que cette étape soit aussi présente pour l’application du patch pour MOSS et son moteur de recherche.
Pour des grosses fermes de recherche (dans mon cas, env. 10 millions de records), cela peut rapidement être problématique, car les fichiers de transaction de log de cette base croissent de manière inconsidéré.
Selon la personne, passage de 512 Kb à 32 GB pour le fichier TRN de SQL Server en 3 heures.
Il faut donc prévoir ce risque de temps de DowTime et surtout prévoir la croissance de ce fichier sur votre serveur SQL.
Je reviendrai la dessus lorsque j’aurai effectué cette application sur notre environnement de production MOSS (Portail publishing, env. 13000 MySites, env. 10 Millions de record dans le search, env. 40 000 profils utilisateurs, …)
Prochaine étape, mise à jour des 15 autres fermes WSS, en espérant que d’autre soucis n’appareîtront pas.
Romelard Fabrice [MVP]
Dans un précédent message, j’annoncais la publication d’un article sur l’installation du Service Pack 3 de SharePoint WSS V3 :
Je suis donc reparti de cet article pour rédiger la version spécifique à MOSS. Vous trouverez cette version sur le site Techno-Sources :
Romelard Fabrice [MVP]
Précisons le cas de figure, nous avons donc une ferme SharePoint 2007 (WSS V3 dans mon exemple), dont le serveur Windows est sous 2003 historiquement. Ce serveur physique doit absolument être mis à jour et de ce fait, le nouveau est installé avec Windows 2008 R2 et donc IIS 7.5. Depuis lors, les utilisateurs observent le cas suivant.
Description du cas
Si on prend un fichier quelconque avec un + dans le nom (et oui, les utilisateurs font toujours des choses proscrites) :

On peut remonter ce fichier dans notre site SharePoint WSS V3 sans problème via le bouton Upload :

Mais dès lors que l’on souhaite ouvrir ce document dans Word, on obtient le message d’erreur suivant :

Et plus précisément :

Cela est aussi visible d’un document sans le + dans son nom, mais placé dans un folder ayant un + dans son nom.
Solution
La raison de cette erreur est liée a la configuration de IIS 7.5. En effet, par défaut celui-ci gère les "+” comme des “Espace” d’une URL et ne peut donc pas traîter correctement la chaine URL.
Si on prend l’URL du fichier ayant le + dans son nom :
IIS 7.5 comprendra par défaut l’URL suivante :
Et donc ne trouvera pas le document associé. Ceci se corrige en éditant le Web.Config de chaque application Web SharePoint sur le serveur Windows 2008 r2 pour ajouter le bloc :
<configuration>
….
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true" />
</security>
</system.webServer>
</configuration>
Une fois le fichier modifié, vous pouvez effectuer un IISRESET et utiliser à nouveau vos fichiers ayant des +.
Liens en relation
La solution est expliquée ici aussi pour un autre contexte, la migration IN PLACE SharePoint 2007 vers SharePoint 2010:
Romelard Fabrice [MVP]
Comme nous l’avons vu il y a quelques jours, Microsoft a publié le service Pack 3 de SharePoint 2007 :
Afin de permettre l’installation de cette mise à jour sur les environnements de production, voici un article suivant tout le processus :
Cet article est publié sur le site Techno-Sources.
Romelard Fabrice [MVP]
Dans le cadre de la personnalisation des pages avec SharePoint Designer, chaque ajout de composant correspond à un controle ASP.NET (TextBox par exemple). Ainsi sur des pages très avancées faisant une sorte de MashUp de données (appel de WebServices Internes ou Externes par exemple), on peut avoir l’erreur suivante :

Le message est assez clair :
- This page allows a limit of 200 controls, and that limit has been exceeded
Ainsi, il faut modifier cette limite comme expliqué ici :
Cela se fait donc via le Web.Config en modifiant la valeur “MaxControls” de la clé SafeMode :

Suivi d’un IISRESET, et tout fonctionne normallement.
Cela doit être fait sur chaque Web Application, mais surtout chaque serveur Web de sa ferme.
Romelard Fabrice [MVP]
Les 10 derniers blogs postés
-
MBA : Pourquoi faire et comment le choisir ? par
Blog Technique de Romelard Fabrice le il y a 14 heures et 48 minutes
-
Y'a des erreurs qui peuvent rendre le développeur violent par
Aleks's Blog le 02-02-2012, 16:33
-
[Hyper-V 3] Présentation des commandlets PowerShell par
Blog de SPBrouillet (Pierrick BROUILLET) le 01-31-2012, 16:01
-
IIS7 – Compression GZIP par
Atteint de JavaScriptite Aiguë [Cyril Durand] le 01-31-2012, 15:52
-
SharePoint 15 Technical Preview Managed Object Model Software Development Kit par
Matthew le 01-31-2012, 12:34
-
Office 15 Technical Preview - Open specification Update par
Matthew le 01-31-2012, 10:14
-
TFS Integration Tools – Installation par
Vivien Fabing le 01-31-2012, 00:06
-
Test par
RonnyK le 01-30-2012, 16:56
-
[SharePoint 2010] Désactiver le correcteur orthographique dans les pages d’un site de publication par
Jean-Christophe Brabant le 01-30-2012, 09:30
-
[SharePoint 2010] Site internet et performances : poids et nombre des ressources par
Arnault Nouvel le 01-30-2012, 00:52