27 avril 2006

Comment ouvrir des document de SharePoint dans une nouvelle fenêtre

Objet
Documentation sur la modification effectuée sur le portail, pour permettre aux utilisateurs du portail d’ouvrir les documents dans une nouvelle fenêtre du navigateur.

1 Contexte
Actuellement tous les documents de SharePoint exceptés ceux issus de la gamme Microsoft Office, s’ouvrent dans la fenêtre courante. Cette fonctionnalité de SharePoint pose des désagréments aux utilisateurs. En effet, ces derniers en fermant le document, ferme le navigateur, et perde tous « l’historique » de navigation.
2 Solutions envisagées
Plusieurs solutions ont été envisagées :
2.1 Clef de registre
Supprimer la clef de registre correspondant à l’extension du document dans l’entrée suivante [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database\Content Type\] au niveau du poste client. Cette modification sera à déployer par script + GPO sur les postes clients.

Cette solution est la plus couramment utilisée.

Plus d’infos :
Handling MIME Types in Internet Explorer
MIME Type Detection in Internet Explorer
2.2 Contrôle ActiveX
SharePoint offre une solution pour que les documents soient éditables et ouvrables par des applications tierces. Cette solution est utilisée notamment pour les documents issus de la gamme Microsoft Office. En effet, le contrôle ActiveX gérant les extensions Office, est déployé dans la dll OWSSUPP.DLL à l’emplacement Local_Drive :\Program Files\Microsoft Office\OFFICE11 directory.

Cette solution est assez complexe à mettre en œuvre, et il existe aucun exemple (autre que celui de Microsoft) implémentant cette solution.

Plus d’infos :
Adding a Document Template, File Type, and Editing Application to a Site Definition
OpenDocuments Control

2.3 Modification d’un script SharePoint
Lorsqu’un utilisateur clique sur un lien hypertexte d’une bibliothèque de document, un évènement onclick est levé et attrapé par la fonction DispDocItemEx du fichier javascript ows.js.

Cette solution est la plus simple à mettre en place.
3 Solution retenue
La solution retenue consiste à la modification du fichier javascript ows.js.
3.1 Implémentation
L’implémentation est très simple. Il suffit de réaliser dans le corps de la fonction une condition qui vérifie l’extension du fichier, ensuite il suffit de spécifier la propriété target à l’objet qui a envoyé l’évènement.

Voici un exemple :

function DispDocItemEx(ele, fTransformServiceOn, fShouldTransformExtension, fTransformHandleUrl, strProgId)
{
if (!browseris.ie || !browseris.win32)
{
itemTable = FindSTSMenuTable(ele);
if (itemTable == null)
return true;
var createCtx = new Function("setupMenuContext(" +
itemTable.getAttribute("CTXName") + ");");
createCtx();
var RootFolder = GetRootFolder(currentCtx);
if (itemTable.getAttribute("FSObjType") != 1 &&
currentCtx.displayFormUrl != null)
{
ele.href = currentCtx.displayFormUrl+"?ID="+
itemTable.getAttribute("ItemId") +
"&Source=" + GetSource() + RootFolder;
}
return true;
}

var stsOpen;
var szHref;
var szExt;
var fRet;
var ele;
var tblFileDlg = document.getElementById("FileDialogViewTable");
if (tblFileDlg != null)
{
event.cancelBubble = false;
event.returnValue = false;
return;
}
szHref = ele.href;
szExt = SzExtension(szHref);
if (szExt == "pdf")
{
ele.target = "_blank";
}
if(strProgId != '')
stsOpen = StsOpenEnsureEx(strProgId);
if (stsOpen == null)
{
if (fTransformServiceOn == 'TRUE' &&
fShouldTransformExtension == 'TRUE' &&
fTransformHandleUrl == 'TRUE')
{
itemTable = FindSTSMenuTable(ele);
if (itemTable == null)
return;
event.cancelBubble = true;
event.returnValue = false;
var getHttpRoot = new Function("return " + itemTable.getAttribute("CTXName") + ".HttpRoot;");
GoToPage(getHttpRoot() + "/_layouts/" + L_Language_Text +
"/htmltrverify.aspx?doc=" + escapeProperly(szHref));
}
return;
}
fRet = stsOpen.ViewDocument2(window, szHref);
stsOpen = null;
if (fRet)
{
event.cancelBubble = true;
event.returnValue = false;
}
return;
}

26 avril 2006

Nouvelle version de Windows Desktop Search

Microsoft a publié la version 2.6.5 de Windows Desktop Search. Cette version est censé améliorer les performance de Windows Desktop Search.

 

Pour ma part, j’étais déjà sur le beta de la 2.6.5 et j’ai pu remarqué que cette version était beaucoup plus stable.

22 mars 2006

Retour d'epérience de l'utilisation de MSBee pour developper des Webparts

 

Il est possible de développer des Webpart pour Sharepoint 2003 avec Visual Studio 2005. Pour cela, il faut télécharger les deux éléments suivant :

 

Les points négatifs

  • Impossible de spécifier dans Visual Studio de préciser le répertoire de destination des dll compilés. Par défaut, les dll compilés pour Fx1.1 sont situées dans le repertoire bin\FX1_1\debug ou bin\FX1_1\Release de votre projet. Il faut ensuite les copier dans le répertoire bin de votre SPS.
    Il est peut être possible de changer le répertoire en creusant du coté de MSBuild.
  • Package d’installation des Webpart semble ne pas fonctionner
  • L’IntelliSense de Visual Studio 2005 propose des fonctionnalités du Fx2 (exemple : les génériques…)
  • Il faut référencer les DLL du Fx1.1 (exemple : system.web…), Visual Studio 2005 proposant par défaut celle du Fx2

Les points positifs

  • Utilisation des outils de Visual Studio : snippet, IntelliSense améliorée (faire attention à ne pas utiliser des classes du fx2), interface améliorée
  • Intégration de vos projets dans Team Fundation
  • Utilisation du debugger de Visual Studio 2005

 

 

15 mars 2006

08 mars 2006

Le monde est Live

Trop fort !!!
 
Après mon post précédent inidiquant une nouvelle mise à jour de www.live.com, Microsoft vient de sortir la Windows Live Toolbar. Cette toolbar offre les fonctionnalité classique de la MSN Toolbar avec quelques utilitaires suplémentaire (Portfolio, Windows Live Favorite), mais en plus on retrouve notre desktop search favoris dans Microsoft Outlook (comme dans les premières versions). On peut donc maitenant cibler directement nos recherches dans outlook, et en plus il est capable de sauvegarder nos recherches (un peu comme les search folder)
 
Moi j'adddooooooorrrreee

Nouvelle version de Windows Live

Ce matin, un nouvelle version de la beta de Windows Live vient d'être mis en ligne : http://www.live.com/
 
On peut remarquer une amélioration de l'interface, et aussi un élément de sécurité sur les Widget (vérification de la source)

27 février 2006

Technet Magazine Avril 2006


Et oui, il vient de sortir.



Au sommaire

A Guide to Pain-Free Desktop Deployment

BDD, OSD, USMT? Find out about the latest deployment tools from Microsoft and how they can help you avoid unforeseen problems and limit the time spent on your next rollout.

Steve Campbell and Michael NiehausGet a Move On: Migrate User Data with USMT

Failing to migrate user data and settings can lead to a host of problems, numerous complaints, and a lot of lost time. With USMT, you can automate the migration of this user information between systems.

Michael MurgoloZero Touch Windows Deployment with SMS

Deployments have gotten a whole lot easier. The SMS Operating System Deployment Ffeature Pack lets you perform large-scale image deployments without leaving your console.

Adam GordonDesign More Secure Desktop Deployments

These guidelines will help you plan your next deployment and create a more secure baseline configuration that can be easily distributed throughout your entire organization.

Shelly BirdSystems ManagementNo Desktop Left Behind: SMS Troubleshooting Basics

When a rollout doesn’t go as expected, it can be very frustrating and time consuming. Take a look at how SMS works and learn how to troubleshoot common problems.

John BakerMeasure Twice, Roll Out Once with the SMS Capacity Planner

Don’t overwhelm your infrastructure. The SMS Capacity Planner allows you to evaluate your network’s capabilities and test various what-if scenarios to design the best infrastructure plan for your needs.

Craig MorrisFive Solution Accelerators to Lend MOM a Helping Hand

Get more out of MOM. These solution accelerators offer samples, guided assistance, and add-on code that can help you extend MOM’s capabilities and simplify complex configurations.

Steve RachuiCut Through the Noise: Better Reporting with MOM and SMS

MOM and SMS collect a variety of valuable data. Valuable, that is, if you know how to use it. Here’s what you need to know to access better reports on everything from software patches to server performance.

Richard ThrelkeldVirtual Server 2005Do More with Less: Exploring Virtual Server 2005

Simplify systems management, streamline testing, and get more out of your hardware by using virtualization to run multiple operating systems concurrently on a single server.

Anil Desai

Liens utiles pour Visual Studio Team System

Voici un site regroupant des liens pour VSTS :

26 février 2006

Buzz sur Origami

Le tant secret (qui souhaitait créer un buzz) projet Origami vient d'être en partie par le site Blink : http://bink.nu/Article6288.bink
Il s'agirait d'un mini tablet-xbox-pocketPC.

22 février 2006

Nouvelle version de WinFx

La CTP de Fevrier de winFx est sortie : http://www.microsoft.com/downloads/details.aspx?FamilyId=F51C4D96-9AEA-474F-86D3-172BFA3B828B&displaylang=en

20 février 2006

Editer des Webpart Sharepoint avec Visual Studio 2005

Si vous voulez éditer des Webpart pour Sharepoint 2003 en utilisant uniquement VS2005 tout en compilant pour .NET 1.1, il vous faut ces deux utilitaires :

  • MSBee permet à Visual Studio 2005 de compiler en .NET 1.1
  • Template de Webpart pour VS 2005

 

Personnellement, je n’ai pas encore eu le temps de le tester, mais cela ne serait tarder.

16 février 2006

My (futur) precious !!!

Ca y’est je viens de craquer pour mon futur précieux : le Toshiba M400 nouvelle génération.

 

http://www.toshibadirect.com/td/b2c/cdetland.to?adoid=1292290&ccid=1291021&rcid=-26367&famoid=-26370&coid=-30603&seg=HHO&poid=322697

http://www.tabletpccorner.net/news_8547.html

 

J’attends plus que Vista sort en 2007 (ce qui correspond à la période d’amortissement de mon Acer TravelMate C310), et directe, je me fais une configuration avec 2Go de RAM, 100Go 7300tr/mn avec bien sur une station d’accueil, ainsi que la garantie 3 ans. Avec un peu de chance en 2007, j’aurais peut être un disque dur hybride intégrant de la mémoire flash

 

Ce dernier est (je crois) le seul Tablet PC possédant un écran ayant une résolution de 1400. Actuellement, Toshiba avec son M400, possède les meilleures ventes de Tablet PC.

En outre, les ventes de Tablet ont augmenté cette année. On peut remarquer au  niveau des entreprise, qui commence à fournir à leur commerciaux, ainsi qu’a leur cadre des Tablet (et non y a pas que Microsoft, dont les salariés possède des Tablet). Le SIGNE marquant de la démocratisation des Tablet PC sur le marché de PC Portable sera lorsque Dell commencera lui-même à en produire (Ce qui s’est produit avec les Pocket PC).

 

13 février 2006

.NET 1.1 pour Visual Studio 2005

MS vient de sortit un utilitaire sur gotdotnet, permettant de compiler sous Visual Studio 2005 des applications .NET 1.1 :
"Since the release of MSBuild in .NET Framework 2.0, a very frequent customer request has been to provide a means for MSBuild to build .NET 1.1 applications. This demand stems from users who want to use Visual Studio 2005 and .NET 2.0 but need to continue servicing customers who use .NET 1.1.
MSBuild Extras – Toolkit for .NET 1.1 “MSBee” is an addition to MSBuild that allows developers to build managed applications in Visual Studio 2005 that target .NET 1.1.
"


MSBuild Extras - Toolkit for .NET 1.1 "MSBee":

Visual Studio 2005 pour Framework 1.1

MS vient de sortit un utilitaire sur gotdotnet, permettant de compiler sous Visual Studio 2005 des applications .NET 1.1 :
"Since the release of MSBuild in .NET Framework 2.0, a very frequent customer request has been to provide a means for MSBuild to build .NET 1.1 applications. This demand stems from users who want to use Visual Studio 2005 and .NET 2.0 but need to continue servicing customers who use .NET 1.1.
MSBuild Extras – Toolkit for .NET 1.1 “MSBee” is an addition to MSBuild that allows developers to build managed applications in Visual Studio 2005 that target .NET 1.1.
"


MSBuild Extras - Toolkit for .NET 1.1 "MSBee":

09 février 2006

AreaTemplate ou WebTemplate

D'après le SDK de Microsoft Sharepoint 2003, la propriété AreaTemplate de la classe Area indique le modèle de zone de l'instance en cours : "The AreaTemplate property of the Area class gets or sets the area template.".

Or au cours d'un développement, je me suis apercu que cette propriété était vide, alors qu'un modèle de zone spécifique était bien appliqué. Par contre, cette propriété possède par contre une valeur, uniquement si on casse l'héritage de modèle de zone de Sharepoint.

Après quelques recherche, avec mon Technical Leader de SPS, le modèle de zone est indiqué à travers la propriété SPWeb.WebTemplate de l'instance de la classe Area.

23 janvier 2006

Article sur Google dans Challenge n19

Il existe un article fort intéréssant sur Google dans le numéro du 19 au 25 janvier de Challenges : http://challengestempsreel.nouvelobs.com/business/

On y apprend que l'algorithme du PageRank n'appartient pas à Google, mais à l'université des deux fondateurs de Google. Cependant, Google en a l'usage exclusif jusqu'en 2011.

Pour rappel, le PageRank est un algorithme qui permet de rendre les résultat de recherche plus adéquat à vos attentes. C'est ce qui fait actuellement la différence entre Google et MSN Search.

11 janvier 2006

Nouvelle version de VSS pour Visual Studio 2003

Avec la sortie de Visual Studio 2005, une nouvelle version de Visual SourceSafe est apparue.

Finis la version 6d, et vive la version 2005 de VSS !!!

Pour ceux qui ont (encore) des projets pour le Framework 1.1 et 2, il est possible d'utiliser VSS2005 comme controleur de code source, avec VS2003.

09 janvier 2006

VSTO 2005 Bouton dans Outlook

J'ai posté à l'adresse suivante : http://community.labo-dotnet.com/forums/ShowPost.aspx?PostID=19682, un addin pour Outook 2003. Cet addin est développé avec VSTO 2005 Outook Addin. Il permet de mettre en majuscule les noms des contacts, et de modifier des propriétés communes des contacts selectionnés.

Voici le code qui permet de créér les boutons pour Outlook 2003 :

private Office.CommandBar _groupBar;
private Office.CommandBarButton _putUpperCaseContacts;
private Office.CommandBarButton _changePropertiesContacts;
public void InitializeMenu()
_groupBar = this.ActiveExplorer().CommandBars.Add(Type.Missing, Type.Missing, Type.Missing, true);
_groupBar.Name = "Modification des contacts";
_groupBar.Visible = true;
_putUpperCaseContacts = (Office.CommandBarButton)_groupBar.Controls.Add(Office.MsoControlType.msoControlButton,
Type.Missing,
Type.Missing,
Type.Missing,
true);
_putUpperCaseContacts.Caption = "UpName";
_putUpperCaseContacts.TooltipText = "Mettez en majuscule de tous vos contacts";
_putUpperCaseContacts.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(_putUpperCaseContacts_Click);
_changePropertiesContacts = (Office.CommandBarButton)_groupBar.Controls.Add(Office.MsoControlType.msoControlButton,
Type.Missing,
Type.Missing,
Type.Missing,
true);
_changePropertiesContacts.Caption = "Prop";
_changePropertiesContacts.TooltipText = "Changez les propriétés communes d'une selections de Contact";
_changePropertiesContacts.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(_changePropertiesContacts_Click);

La classe CommandBarButton permet de créer des boutons, et la classe CommandBarButton permet de créer un groupe de bouton.
Dans ce code, CommandBarButton est positionné par défault. L'utilisateur peut le déplacer dans Outlook, mais cette position ne sera pas sauvegardé à la fermeture d'Outlook.
Sue Mosher (MVP Outlook) a développé un exemple de programme permettant de sauvegarder la position des boutons : http://www.outlookcode.com/vsto/toolbarpos.htm

08 janvier 2006

Hello World !

Ceci est mon nouveau blog. Mon ancien blog se trouve sur http://blogs.labo-dotnet.com/fmd/ ou http://community.labo-dotnet.com/blogs/memnoch/

Je suis ingénieur d'étude dans une SSII nommée Exakis. Aujourd'hui je travaille principalement sur dotnet, et à terme j'espère travailler plus largement sur la partie Office System. C'est à dire, sur Microsoft Exchange, LCS, SPS et autres...