Welcome there !
Emmanuel Desigaud's blog. Personnal, professional. Fun pictures, kewl web links, usefull software ....Sharepoint 2010 and Windows 2008 Web Edition
As soon as Sharepoint was available, I tried to install it on a virtual box running a fresh Windows 2008 Web Edition.
Got the following error : Application Server Role, Web Server (IIS) Role: configuration error
Based on log, it appears that the role "Application Server" is mandatory, and of course, this role is not available on Web Edition of windows 2008 Server so you must run at least Standard Edition, that's it !
Also, if you wonder changing your virtualization platform, before running to VMWare (which has poor performance for me), I advise you to look around VirtualBox (free, fast, x64 support, snapshot...)
Update :
Anyway, it seems that we can get around this limit by editing the installation files : http://msdn.microsoft.com/en-us/library/ee554869%28office.14%29.aspx
Work in progress : new webpart
A year after the 1st release of the document library treeview webpart, I decided to improve the webpart to provide a better interface/ergonomic experience.
Expected result is something that looks like Windows Explorer and that remove all those annoying postback/refresh of pages.
The video talks by itself !
Moved from bloglines to Google Reader
To be honest, I was not a big fan of Google reader, supporting bloglines.com for its simplicity, its speed and also its neutrality (who said that Google was evil? ;))
Unfortunately, during one whole weekend, bloglines.com was down... No communication, no apologize even after everything was fixed. I know that they offer stuff for free and we can’t expect same level of quality than a paid service but we are still users and we still need consideration :)
Also, if you take a look at their beta site, you notice that they tend toward cloning Google reader, moving away from their original frame of mind.
So me and my opml file went to google reader, sit down, took a beer and finally, that’s not so bad. Features are roughly the same (G-Reader is missing a keyboard shortcut to navigate through folders). I specially like the reports offered by G-Reader: with the feed activity report, I could trashing tons of rss that have not been updated for years!
Here's my activity for the last 30 days, proof that I really need holidays :)


String conditional operator & MSIL
As good geek discussion, with some colleagues we were wondering how was implemented the string conditional operator in C#.
Here's a quick comparaison between a "classical" if-then-else and a string ? condition. The analyze focus on the MSIL code generated.
Basic C# condition :
String foo = "myString"; String aa; if (foo.Length > 0) aa = foo; else aa = String.Empty;
and the MSIL code :
1: .method private hidebysig static void Main(string[] args) cil managed
2: {
3: .entrypoint
4: // Code size 34 (0x22)
5: .maxstack 2
6: .locals init ([0] string foo,
7: [1] string aa,
8: [2] bool CS$4$0000)
9: IL_0000: nop
10: IL_0001: ldstr "myString"
11: IL_0006: stloc.0
12: IL_0007: ldloc.0
13: IL_0008: callvirt instance int32 [mscorlib]System.String::get_Length()
14: IL_000d: ldc.i4.0
15: IL_000e: cgt
16: IL_0010: ldc.i4.0
17: IL_0011: ceq
18: IL_0013: stloc.2
19: IL_0014: ldloc.2
20: IL_0015: brtrue.s IL_001b
21: IL_0017: ldloc.0
22: IL_0018: stloc.1
23: IL_0019: br.s IL_0021
24: IL_001b: ldsfld string [mscorlib]System.String::Empty
25: IL_0020: stloc.1
26: IL_0021: ret
27: } // end of method Program::Main
String conditional operator :
String foo = "myString";
String aa = foo.Length > 0 ? foo : String.Empty;
MSIL code :
1: .method private hidebysig static void Main(string[] args) cil managed
2: {
3: .entrypoint
4: // Code size 26 (0x1a)
5: .maxstack 2
6: .locals init ([0] string foo,
7: [1] string aa)
8: IL_0000: nop
9: IL_0001: ldstr "myString"
10: IL_0006: stloc.0
11: IL_0007: ldloc.0
12: IL_0008: callvirt instance int32 [mscorlib]System.String::get_Length()
13: IL_000d: ldc.i4.0
14: IL_000e: bgt.s IL_0017
15: IL_0010: ldsfld string [mscorlib]System.String::Empty
16: IL_0015: br.s IL_0018
17: IL_0017: ldloc.0
18: IL_0018: stloc.1
19: IL_0019: ret
20: } // end of method Program::Main
What can we conclude ? The conditional operator is not that bad and may help you to optimize a little bit more your code. One argument in favor of the classical if-then-else is that it may be more readable (I don't necesssary agree) but on the other side, does slightly more operations and instantiate one more variable in the stack.
To finish, I think that no-one will notice a difference of performance between the two methods so use the one you feel the more confortable.
Book Review : Pro CSS and HTML Design Patterns
There are so many books about CSS and so few that are very useful that I want to highlight this one.
It covers common CSS aspects in a question/answer style.
As usual with all APress books, you can buy it as electronic book or as traditional book.
Good reading :)
Book address : http://www.apress.com/book/view/1590598040
Announcing the Document Library Treeview for MOSS 2007
Dear Sharepoint users, I'm pleased to announce you my first public webpart for MOSS 2007.
This webpart simply add a treeview navigation to the document library webpart. Nothing very tricky or exciting .. just a useful component.
Have a look at the project page here

De l'utilisation de Using
Le mot clé "Using", tout le monde est familier avec. Il suffit de créer n''importe (ou presque) quel objet .Net pour que les premières lignes soient remplies par ces déclarations. Dans cet article, nous allons découvrir les différentes possibilités d''utilisation offertes par ce mot clé.
1/ La déclaration d''espace de nom
L''utilisation la plus commune du mot clé "Using" est la déclaration des espaces de nom. Ainsi, les types d''un espace de nom déclaré par un "Using" pourront être invoqués sans les préfixer du nom complet de l''espace. Par exemple, sans vous en rendre compte, lors d''un appel à String, vous référencez la classe System.String, cela étant dû à l''inclusion de l''espace System.
1using System; 2 3namespace Demo 4{ 5 public class Demo 6 { 7 public String test; //appel à System.String 8 } 9}
2/ La définition de synonymes
Toujours à l''aide la directive "Using", nous allons pouvoir définir des synonymes dans le but de simplifier / clarifier l''inclusion de certains espaces de nom. Il suffit alors de déclarer l''import comme suit :
|
using variable = Espace de Nom; |
Un exemple concret qui a fait le tour des différents blogs :
1using System;
2using settings = System.Configuration.ConfigurationSettings;
3
4public class Demo
5{
6
7 public Demo()
8 {
9 String conString = settings.AppSettings["ConnexionString"];
10 //....
Le but est de simplifier l''appel à la propriété statique AppSettings de la classe System.Configuration.ConfigurationSettings qui est un peu longue à écrire (qui se soucie aujourd''hui d''écrire son code en 80 colonnes ?)
3/ La déclaration de variable locale.
On peut également utiliser le mot clé "using" pour déclarer certaines variables locales. L''intérêt d''une telle utilisation est qu''à la fin de la section qui déclare le using, la variable est automatiquement nettoyée par l''appel à sa méthode Dispose. La seule contrainte (majeur) est que l''objet doit définir l''interface IDisposable.
Pour résumer :
using (Type variable = initialisation) { //Traitement }Un exemple concret d''utilisation :
est équivalent à :
{ Type variable = initialisation; try { //Traitement } finally { if (variable != null) { ((IDisposable)variable).Dispose(); } } } // fin de la section
1using System;
2
3public class Demo : IDisposable
4{
5
6 public Demo()
7 {
8 Console.WriteLine("Hello");
9 }
10
11 public void Dispose()
12 {
13 Console.WriteLine("Disposing the object");
14 }
15
16 [STAThread]
17 static void Main(string[] args)
18 {
19 using (Demo d = new Demo())
20 {
21 }
22
23 Console.ReadLine();
24 }
25}
26
retourne dans la console :
| Hello Disposing the object |
MOSS 2007 Search Web Service Tips
The "Did you mean" (spelling suggestion) feature of MOSS 2007 is very useful. This information is also available through the Search Web Service.
On the dataset returned by the QueryEx function, have a look at the extended property called SpellingSuggestion. It will give you the precious information !!
if (ds.ExtendedProperties.ContainsKey("SpellingSuggestion")
&&
ds.ExtendedProperties["SpellingSuggestion"].ToString().Length > 0)
{
this.Response.Write("-->" + ds.ExtendedProperties["SpellingSuggestion"]);
}
Compil-des-Ventes.com
Salut,
Une petite publicité pour ma dernière création : compil-des-ventes.com.
Le but de ce site est de référencer toutes les ventes privées. Si vous trouvez le concept intéressant, n'hésitez pas à faire de la pub à votre tour :)
Ce site est la mise en pratique de mon dernier framework n-tier et j'en suis assez content. Le site est hebergé chez Ikoula qui propose un hébergement à un prix plutôt canon : 42 euros/an avec le nom de domaine.
Web based MSN
If you cannot install MSN on your computer or if MSN is blocked, here a list of web based client that you can use !!
Links open in the same window.
- Official Web Messenger : http://webmessenger.msn.com/
- Meebo : http://www.meebo.com/
- Ebuddy : http://www.ebuddy.com/
- MessengerFX : http://www8.messengerfx.com/
- I love IM : http://www.iloveim.com/
- KoolIM : http://www.koolim.com/
- Imahah : http://www.imhaha.com
- Wablet : http://www.Wablet.com
- Communication Tube : http://www.communicationtube.net/
- Trillian : http://www.trillianastra.com/ (beta)
- Instant-T messenger : http://www.instan-t.com/
- Mabber : http://mabber.com/
- Centova : http://www.centova.net/
- RadiusIM : http://www.radiusim.com/
- IMO : http://imo.im/
- Flick IM : http://flick.im/ (beta access)
- F1 Messenger : http://www.f1messenger.com/
- MSN2GO : http://www.msn2go.com/ (Seems dead)
- IMunitive : http://www.imunitive.com/ (Seems dead)
- Snimmer : http://www.snimmer.com/ (Seems dead)
Never let your mail/password on sites you don't trust !
:: Next >>