December 2004 - Posts

[Via Chris] I know at least one person who is looking for this kind of functionality in SharePoint!

Rating & Experts Module by Pilothouse Consulting

Many large information portals such as MSN and Yahoo!, as well as an increasing number of smaller sites, provide a rating system which allows users to voice their opinions about the content. However, until now, this functionality has not been offered in corporate portals. Despite the tremendous popular success of Microsoft SharePoint users have been hampered by the lack of a structured document feedback mechanism. Pilothouse Consulting has filled this gap.

Sometimes you want to store extra metadata in SharePoint for lets say a SharePoint web instance. Serge has a post about this topic; for a SharePoint web you can easily use the Properties property (so obvious, but I wasn't aware of this property!). But I have some doubts for the SharePoint List, Serge recommends to add an extra field. But this field would exist for each item in the list, a little bit overkill I think... :-)

Interesting article for the ICT people in Belgium (sorry only available in Dutch): MS: “Elektronische snelweg in België staat leeg”. Bruno Segers, CEO of Microsoft Belux, motivates his concerns about the lack of software investments in Belgium. It seems that other countries like Denmark, The Netherlands, Norway, … invest up to 30% more in software. So he demands that the Belgian government should simulate local research and development. Bruno also warns that intellectual property is essential in the knowledge society, but he thinks there is a place for open source. I support this view; companies, governments, developers should be able to protect their investments in software development. But I think open source software and communities are also quite important for a company such as Microsoft. For example the .NET community is important for Microsoft, just think about the newsgroups, the blogs, the people that write articles, … They all help Microsoft evangelizing the .NET platform. Open source projects are a vital part of this community, they share knowledge and help other people develop great applications fast.

The last hour I’ve been playing with the new MSN Toolbar Suite Beta and I’m very impressed! I’m using Scoble’s Desktop Search Reviewer’s Guide to write down my first impressions. I've learned a lot by watching the videos over at Channel 9: highly recommended!

  • Index time: I cheated a little bit on this one, I choose the “Index Now” option and after a couple of minutes more than 12.000 files were indexed. Now I’m noticing that 5.000 files are left to index, so the Toolbar Suite has found some more files to index after an hour or so.
  • What can it do, and what can’t it do? Maybe this one is a little bit early to judge, but so far it finds everything as expected.
  • Performance degradation: The full index raised my processor usage to around 20%, and the Toolbar Suite process took about 14 MB of memory. Once the initial full index was done, the memory usage has dropped to around 2 MB which is very acceptable. I can’t notice any performance degradation while working, when the computer is idle and there’s some stuff that needs to be indexed, the indexing process starts again. But when you continue working, the indexing stops immediately. It seems that when you’re on battery power indexing is disabled as well, nice!
  • User interface: People who know probably know that I’m a smart client type-a-guy, so I’m very happy that MSN Toolbar Suite comes with a very nice GUI. The UI resembles the web interface of search.msn.com, but you get all the rich client features like: drag-and-drop, right click, context menus, responsive UI, …  This is great!
  • Security/privacy: I haven’t looked into this one yet, but my guess is that the team did notmake the same mistakes as the Google Desktop Search team did in the beginning. IE history is not indexed, and the indexing is performed with a normal account (non-admin).
  • Does it play well with others? No idea, I didn’t like the Google approach (web interface) so I didn’t install it.
  • Does it work on other machines? I’ve tried it on my laptop and desktop, and on a couple of VPC’s, so far so good: no problems to report.
  • Advertising? Nope!
  • Integration: I think this one is (as always) one of the strong points of the Microsoft branded product. You get a nice integration with IE, Outlook and Windows. The only remark: when you search from within Outlook, a new window is opened. In my opinion showing the results inside Outlook would be more appropriate.
  • Price: the price is right, thank you Microsoft.
  • Download size: this one isn’t an issue for me, the download is around 5 MB.
  • File types: Of course all the office documents are indexed perfectly. I haven’t tried more exotic file types.
  • Search results: as I mentioned it finds everything as expected!
  • Customizable: the MSN Desktop Search comes with a fair amount of properties. I think “normal” users won’t get lost in them, and “power” users will be able to tweak the system.
  • Advanced features: so far I’m impressed but more on these one later on.
  • Space for the logo: you can’t seem to hide the MSN logo, but I don’t think that’s a problem. At least it doesn’t bother me.

So what are the cool things? The most important one for me is that the MSN Desktop Search has a rich user interface, drag-and-drop, right click everything works as it should do. A nice-to-have feature is the quick launch function: you can type for example “=calc” in the MSN Deskbar (which sits in the task bar) and the calculator will start. A more important feature is the shortcut functionality; to try it type “@” in your MSN Deskbar and read the quick help. Next type for example “@c,=calc”. The result is that you’ve created a shortcut “c” to the command “=calc”. So when you enter “c” in the Deskbar and hit enter, the calculator starts. This is already quite interesting, but it gets even better. You can also create shortcuts for URLs, even those who contain parameters! So if you type “@msdn, http://search.microsoft.com/search/results.aspx?qu=$w” in the Deskbar, you’ve created a shortcut to the MSDN search page which contains a parameter ($w). Now if you type “msdn smartpart” for example, MSDN will be searched for the term “smartpart”. Pretty cool isn’t it? Another nice one is when you type in the Deskbar for each keypress a new search will be fired, because the searching is so lightening fast you get a pretty smooth experience.

 

Are there any bad things about the MSN Desktop Search, is there room for improvements? So far I’m pretty pleased, but here are some personal remarks:

  • When you press the ctrl+alt+m keys, you will open the Deskbar, but the focus isn’t on the textbox, so you can’t start typing right away.
  • The space is my taskbar is very precious, the Deskbar isn’t big but it would be nice if for example the Deskbar was collapsed by default. When you’d click the Deskbar (or press that shortcut) the Deskbar should expand to its normal size. The next days/weeks will leave the Deskbar in my taskbar, but it has to deserve its spot over there! :-)
  • Another important player in the Microsoft search field is SharePoint Portal Server search. I'd love to see some integration here, for example adding a SharePoint Portal Server as a content source for MSN Desktop Search. This shouldn't be hard to accomplish, SPS has some web services which can be used to search through it's indexed content.

Scoble, can you make sure these features will be available in the next release?? Just kidding :-) although passing them to the search team would be cool! And if you do so, please also pass my congratulations to them: nice job and keep up the good work!

I'm currently downloading the long awaited MSN Toolbar Suite Beta! This package contains the Microsoft desktop search software ("Find anything on your computer"); whoehoe!!!

Ever gotten frustrated trying to find something on your computer? MSN Deskbar includes the Desktop Search feature, which lets you search your computer as easily as you search the Web. A single keyword search will find anything on your computer—even within e-mail messages and their attachments. And Desktop Search is so fast that it makes organizing your documents, messages, and other items into folders practically unnecessary. For more information, see Find files and e-mail messages on your computer.

Check here for a full list of features. Keep tuned for a first review later on...

Tomorrow will be a very exciting day! First of all, MOOL (Microsoft Office Outlook Live) will be launched, which will synchronize data between MSN Hotmail and Outlook. It happens to be that today somebody asked me if this was possible, well tomorrow it is! Check out the posts of Patrick and Mark, and view the demo here. Scoble said that tomorrow a beta will be shipped of another product. According to his post, it will be totally "wicked". My guess is that it’s the desktop search application of Microsoft, can’t wait to see it!

Now this is cool! Scott Colestock describes how you can use NAnt to move your BizTalk projets from for example your dev. machine to your staging machine. Visit the GotDotNet Workspace here.

Additionally Scott has updated the naming conventions for BizTalk stuff, get the documentation here (Word format) or here (HTML).

It's fun to see that the SmartPart is gaining some traction in the SharePoint blogosphere (for example Patrick's post, triggering comments from Erik Schoonover and Daniel). Yesterday I showed you how you can debug your SmartPart webparts without deploying to SharePoint, Bryant Likes has extended this idea and describes in his post how you can do Test Driven Development! Nice work Bryant!

A couple of weeks ago Jan Tielens released the SmartPart version 1.0.0.0. The SmartPart is a very cool WebPart that will host ASP.Net user controls in a SharePoint environment. This means you can use Visual Studio to edit the user controls and use the WYSIWYG editor instead of building the HTML via code. Additionally, Maxim Karpov helped out with the CAS aspect of the SmartPart which can be a confusing topic if you're not Maxim. Maxim does a great job of explaining the CAS issues and even though I've worked with CAS for things like custom code in reporting services, I still feel it is something foriegn (I think CAS knowledge seeps out of the brain).

So the SmartPart allows you do quickly create SharePoint WebParts and you can even debug those WebParts in a normal ASP.Net application, but what about using Test Driven Development (TDD)? (full article)

A quick intro for those of you who haven’t heard of the SmartPart for SharePoint: the SmartPart is a SharePoint Webpart that can host any ASP.NET user control. Create your webparts by using the VS.NET designer instead of coding everything by hand!

 

One of the advantages is that when you use ASP.NET user controls to create Webparts, you can easily test your user control inside an ASP.NET web application instead of deploying it each time to SharePoint. When you create the user control, just drag-and-drop it onto a blank ASP.NET form for example and hit F5. Of course you miss the SharePoint layout, but to solve that you could quite easily include the CSS in you ASP.NET project.

Those of you who already used the SmartPart probably know that you can notify your user control of the SharePoint context in which it’s displayed. You need to implement the SmartPart.IUserControl interface which is used to pass around an instance of the current SPWeb. A very basic user control that displays a dropdown navigation for all your subsites could look like this (don’t forget to add references to the Microsoft.SharePoint dll and the SmartPart dll):

 

using System;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using Microsoft.SharePoint.WebControls;

using Microsoft.SharePoint;

 

public class DropDownNavigation : System.Web.UI.UserControl, SmartPart.IUserControl

{

            protected System.Web.UI.WebControls.DropDownList DropDownList1;

           

            private SPWeb _web;

 

            private void Page_Load(object sender, System.EventArgs e)

            {

                        DropDownList1.Items.Clear();

                        DropDownList1.Items.Add("Select a subweb ...");

 

                        foreach(SPWeb subWeb in this.SPWeb.GetSubwebsForCurrentUser())

                        {

                                   DropDownList1.Items.Add(new ListItem(subWeb.Title, subWeb.Url));

                        }

            }

 

            #region Web Form Designer generated code

            // left out …

            #endregion

 

            private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)

            {

                        this.Response.Redirect(DropDownList1.SelectedValue);

            }

 

            public SPWeb SPWeb

            {

                        get

                        {

                                   return _web;

                        }

                        set

                        {

                                   _web = value;

                        }

            }

}

 

But if you drop this user control on an ASP.NET web form, you’ll get an null reference exception because the SPWeb property isn’t set. So would you have to deploy this user control to SharePoint in order to be able to test it? Luckily the answer is no! You can drag-and-drop the user control on an empty web form, and set the SPWeb property. You can get a hold of an SPWeb instance by using the SPGlobalAdmin class like this:

 

public class WebForm1 : System.Web.UI.Page

{

            protected DropDownNavigation DropDownNavigation1;

 

            private void Page_Load(object sender, System.EventArgs e)

            {

                        SPGlobalAdmin adm = new SPGlobalAdmin();

                        SPVirtualServer vs = adm.OpenVirtualServer(new Uri("http://w2003base:8000"));

                        SPWeb web = vs.Sites["sites/webpartday"].RootWeb;

                        DropDownNavigation1.SPWeb = web;

            }

 

            #region Web Form Designer generated code

            // left out

            #endregion

}

 

Additionally, to make this work:

  • Enable impersonation in the web.config of your web application by adding the Identity tag:
    <configuration>   
      <system.web>
        <identity impersonate="true"/>
        ...
  • Make sure the identity of the application pool that is running your web application has read access to the following registry key:
    SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\Secure\ConfigDb
    If you select Local System for example, as identity of the application pool, you should be fine.
    J

My colleague Peter has written a nice article about correlation in BizTalk, it’s published on the local MSDN Belux site. Read it here.

I really like the metaphor he uses to explain correlation: Imagine it is your birthday and you send an invitation letter to a friend. You kindly ask him to respond to your letter so you know if he will be there. When you receive this letter you know it came from your friend and you can start planning the party. Now imagine you getting married and instead of one friend you invite everyone you know plus everyone from your future spouse’s family and friends. When you receive hundreds of letters you will have to match up these responses to the letters you sent. This is known as correlation.

More Posts « Previous page - Next page »