Affichage des articles dont le libellé est Sharepoint 2007. Afficher tous les articles
Affichage des articles dont le libellé est Sharepoint 2007. Afficher tous les articles

mardi 20 novembre 2012

The HTTP service located is too busy / Le service HTTP est trop occupé



Pour provisionner un service trop occupé dans SharePoint 2010, exécuter les commande suivantes :

$sts = Get-SPServiceApplication | ?{$_ -match "nom du service"}  
$sts.Status
$sts.Provision()


Erreur sharepoint lié :
An exception occurred when trying to issue security token: Le service HTTP situé sur ../SecurityTokenServiceApplication/securitytoken.svc/actas est trop occupé.
Exception occured while connecting to WCF endpoint: System.ServiceModel.ServerTooBusyException


vendredi 14 septembre 2012

Comment cacher les actions dans un site SharePoint grâce au Javascript(Session, Site, Liste, Bibliothèques de documents)


L'utilisation du JavaScript est un moyen efficace et peut coûteux en développement pour cacher les différentes actions qui peuvent apparaître sur une page SharePoint.

 


Il est en effet possible grâce à une simple fonction Javascript insérable dans la masterpage, de cacher les différentes actions :
  • Mes paramètres
  • Se connecter en tant qu'utilisateur différent
  • Demander l'accès
  • Se déconnecter
  • Personnaliser cette page
  • Créer
  • Modifier la page
  • Paramètres du site
  • Nouvel élément
  • M'avertir
  • Créer une colonne
  • Créer un affichage
  • Paramètres - Liste
  • Tous les éléments
  • Modifier cet affichage
  • Créer un affichage
  • Télécharger un document
  • Télécharger plusieurs documents  
  • Modifier dans la feuille de données
  • Ouvrir avec l'Explorateur Windows
  • Exporter vers une feuille de calcul
  • Afficher le flux RSS

La fonction javascript est la suivante :

<script type="text/javascript" language="javascript">
function cacherActionPortail()
{
var menuItem;
var menuItemName;
var menuItemIndex=-1;
var menuItemNames=new Array("Mes paramètres",
 "Se connecter en tant qu'utilisateur différent",
 "Demander l'accès",'se déconnecter','Personnaliser cette page','Créer'
 ,"Modifier la page","Paramètres du site","Nouvel élément",
 "M'avertir","Créer une colonne","Créer un affichage",
 "Paramètres - Liste","Tous les éléments",
 "Modifier cet affichage","Créer un affichage",
 "Télécharger un document","Télécharger plusieurs documents","Modifier dans la feuille de données",
 "Ouvrir avec l'Explorateur Windows","undefined","Exporter vers une feuille de calcul","Afficher le flux RSS");

var menuItems = new Array("PersonalInformation",
 "LoginAsDifferentUser","RequestAccess",
 "Logout","PersonalizePage",
 "MenuItem_Create","MenuItem_EditPage",
 "MenuItem_Settings","New0","SubsribeButton",
 "AddColumn","AddView",
 "ListSettings","DefaultView","ModifyView",
 "CreateView","Upload",
 "MultipleUpload","EditInGridButton","OpenInExplorer","OfflineButton",
          "ExportToSpreadsheet","ViewRSS");

var allMenuItems = document.getElementsByTagName('ie:menuitem');

for(var i = 0; i < cacherActionPortail .arguments.length; i++ )
{
menuItemName= cacherActionPortail .arguments[i].toLowerCase();
for (j=0; j < menuItemNames.length; j++)
{
if(menuItemNames[j].toLowerCase()==menuItemName)
{
menuItemIndex = j;
break;
}
}

menuItem=menuItems[menuItemIndex];

for (var l = 0; l < allMenuItems.length; l++)
{
if(menuItemName.indexOf(":")!=-1)
{
menuItemName = menuItemName.split(":")[1];
}
if (allMenuItems[l].id.indexOf(menuItem)!=-1
       && allMenuItems[l].text.toLowerCase() == menuItemName)
{
// For FireFox Compatibility
var parentNodeOfMenuItem = allMenuItems[l].parentNode;
parentNodeOfMenuItem.removeChild(allMenuItems[l]);
break;
}
}
}
}
</script>

Ainsi que l'appel de la fonction depuis le 'Page_Load' de la master page :

protected void Page_Load(object sender, EventArgs e)
{       

   Page.ClientScript.RegisterStartupScript(this.GetType(), "click","cacherActionPortail (\"Afficher le flux RSS\",\"Modifier dans la feuille de données\",\"Exporter vers une feuille de calcul\");", true);
}




mardi 11 septembre 2012

Supprimer les actions sur les documents Excel 'Afficher dans un navigateur web'' et 'Instantané dans Excel'

Si ces deux actions ne vous sont pas utiles et gêne la compréhension des utilisateurs vous pouvez les désactiver avec la commande suivante :

 

stsadm.exe -o deactivatefeature -force -id E4E6A041-BC5B-45cb-BEAB-885A27079F74

Cette fonctionnalités est installée au niveau de votre SPFarm.

Le fichier feature.xml se trouve à l'adresse suivante de votre serveur frontal Sharepoint 2007 :

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\FEATURES\ExcelServer



SPWeb.Groups et SPWeb.SiteGroups


Il existe une différence entre ces deux collections de groupes Sharepoint qui est de taille.

En effet SPWeb.Groups ne retourne que les groupes ayant au moins un niveau d'autorisation associé tandis que SPWeb.SiteGroups renvoi tout les groupes de votre SPWeb.

Une différence de taille si vous utilisez un groupe uniquement à des fins hiérarchique.

Préférez donc utiliser SPWeb.SiteGroups plutôt que SPWeb.Groups.

Et voici une exemple de fonction permettant de récupérer les adresses email de tout les utilisateurs d'un groupe:


public string GetEmailForUserInGroupe(string groupName)
{
     string userMail = string.Empty;
     SPSecurity.RunWithElevatedPrivileges(delegate()
     {
            using (SPSite site = SPContext.Current.Site)
            {
                site.AllowUnsafeUpdates = true;
                using (SPWeb web = site.OpenWeb())
                {
                    web.AllowUnsafeUpdates = true;
                    SPGroupCollection groupColl = web.SiteGroups;
                    int count = groupColl.Count;
                    for (int i = 0; i < count && string.IsNullOrEmpty(userMail); i++)
                    {
                        if (groupColl[i].Name.Equals(groupName))
                        {
                            SPUserCollection userColl = groupColl[i].Users;
                            foreach (SPUser us in userColl)
                            {
                                if (!string.IsNullOrEmpty(us.Email))
                                {
                                    userMail = string.Concat(userMail, us.Email, ';');
                                }
                            }
                        }
                    }
                    web.AllowUnsafeUpdates = false;
                }
                site.AllowUnsafeUpdates = false;
            }
        });
        return userMail;
}