jeudi 20 septembre 2012

Welcome to the cloud

L'offre de Microsoft tient toujours concernant les 3 mois gratuits d'accès au Cloud (avec bien sûre quelques fonctionnalités bridés)

Mais cela suffit à vous faire une première idée de la puissance offerte par ce nouveau service.

Après vous être inscrit sur le site suivant https://www.windowsazure.com/fr-fr/pricing/free-trial/

Vous aurez accès à la magnifique page de gestion de votre Cloud :




Et la possibilité de pouvoir créer des sites par milliers (une dizaine pour la version d'essai en fait !) tel que celui-ci :

http://larry-angama.azurewebsites.net/



Ou des bases de données pour vos applications ainsi que des services mobiles pour les développement Windows Phone 7/8 et Windows 8 bien entendu !!

Prochainement un tuto accès développement sur les premières applications Windows 8 hébergé sur le Cloud  !



Pour plus d'info sur la souscription à l'essai gratuit :
http://blogs.msdn.com/b/windowsazurefrance/archive/2012/08/29/tuto-comment-souscrire-gratuitement-224-windows-azure.aspx

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);
}




jeudi 13 septembre 2012

Le cloud monte et montera encore.

Selon les analystes le chiffre d'affaire généré par les solutions Cloud telles que les applications ou le stockage atteindra 100 milliards de dollars d'ici à 2016 (IDC).

Les dépenses Cloud de cette année sont estimées à 40 milliards de dollars, ce marché devrait donc selon les analystes progresser de 150% d'ici à 4 ans.

mercredi 12 septembre 2012

Le windows 8 store va bon train

Plus proche de ses développeurs et partenaires qu'aucun autre Microsoft dévoile quelques chiffres sur l'état du Windows Store.

En efffet ce ne sont pas moins de 1000 applications qui sont déjà ' Windows 8 Ready' pour le lancement prévu le 26 Octobre.

Le marketplace windows est maintenant ouvert aux développeurs de 120 pays, toujours dans le but d'inciter et de promouvoir cette nouvelle plateforme de ventes et de partages.

L’éditeur annonce ainsi que les membres de son programme MSDN disposeront gratuitement pendant un an d’un compte développeur pour Windows Store. Même chose pour les membres des programmes DreamSpark et BizSpark.

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;
}