Finding expertise with the Knowledge Network

May 16th, 2007 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

The Knowledge Network tool is a cool add on for MOSS 2007. The Microsoft Search vision is all about empowering people to find the information and expertise they need to get their job done. The Knowledge Network extends the search functionality of MOSS 2007 with expertise finder functionality.
It helps users collaborate more effectively by automating the discovery and sharing of undocumented knowledge and relationships.

The Knowledge Network is based on three core beliefs:
1. Most information is undocumented, studies reveal that only 20% of knowledge within an organization is documented. The rest of it is individual knowledge that is stored in people's minds.
2. It's difficult to connect to the right person. Finding the right person often involves a referral by an intermediary.
3. “Weak ties” deliver significant value. People in our inner circle know basically the same people and the same things that we know, but people in their extended circle, and people around that have different knowledge and ideas.

In order to determine someone's expertise a client side tool will extract keywords by scanning email messages and will determine contacts from outlook and instant messaging tools. A user can check what the tool found and decide what can be published to the server and what can not. If the user agrees the profile will be published to the server.

The data found by the Knowledge Network can be found on three extra tabs that will be added in the My Site. The tabs are My Colleagues, My External Contacts and My Keywords. Information found by the Knowledge Network will also be indexed by the SharePoint search and can be found by using the page behind an extra tab named External People in the search center.

Tonight Dirk Zekveld and I gave a presentation about the Knowledge Network for the DIWUG. Everyone present was very enthusiastic about the possibilities of the Knowledge Network and almost everyone would either want to install it in their own company or for one or more customers. 

One of the questions that was asked was about the privacy model, which is very well taken care of. No information will leave a user's computer without the user's explicit approval. 

Another question that keeps popping up, with our customers as well as the people present tonight is the one about official releases. Right now the RC 0 can be downloaded. This is a technical preview, so it can be installed free of charge, but Microsoft will give no technical support on it. There won't be an official release anytime soon, since the final release of the Knowledge Network will be part of, or an add on to the next Office release.

If you want to download the Knowledge Network and start using it you can do so here. We have done so at Macaw and we will also start a Knowledge Network pilot for one of our customers on a large scale world wide intranet. I'll keep you posted on the feedback we get on that one.

The last question that I get quite often is when support for other languages than English will be integrated in the Knowledge Network. The answer is that I don't know..there definitely will be support for other languages eventually.

For more information about the Knowledge Network take a look at the Knowledge Network team blog.

Microsoft InTrack Session about SharePoint Search

April 27th, 2007 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

Yesterday, Wednesday April 25th, I gave an InTrack presentation about SharePoint Search in the Microsoft Innovation Center in Barneveld in The Netherlands. There were about 50 people, that got to see a presentation about:

  • Enterprise Search Challenges
    Enterprise Search is not just about searching, it's mainly about empowering employees to find the data and expertise they need to do their jobs.
  • Microsoft Search Vision
    Microsoft's search solutions should make it possible for people to easily find, use and share information. To support this Microsoft has search solutions on the Internet, the desktop and the intranet.
  • SharePoint End-User Improvements
    Search functionality in MOSS 2007 has been improved in many ways compared to the one in SPS 2003. Search results have become more relevant, the user interface has been improved with query correction ("Did you mean?"), hit highlighting, security-trimmed search results and viewing your search results as an RSS feed. The Search Center has also got a lot of improved functionality.
  • Knowledge Network
    Knowledge Network in MOSS 2007 is a tool for social networking that helps users to collaborate more effectively by automating the discovery and sharing of undocumented knowledge and relationships. This knowledge can than be search for in MOSS.
  • Administration Improvements
    The MOSS Search Administration has been greatly improved compared to the one in SPS 2003. The maintenance of Content Sources and Scopes has been simplified and using the extensive query logging you can determine whether the relevance of the search results can be improved by making some configuration changes like for instance using Best Bets and Authorative Sites.
  • Performance and Capacity Planning
    When using a good infrastructure a MOSS Search index can contain up to 50 million items and still perform well.
  • Customizing the Search UI
    The user interface of the search center can be adjusted in several ways. You can add, delete or change web parts and new tabs can be added, for instance based on scopes. You can also adjust the way results are displayed by changing the XSLT.
  • Developing Search Solutions
    Like all MOSS functionality the search functionality can be accessed through the object model. By using the object model you  can build your own custom web parts that use for instance query or results properties. You can use a custom web part to search for a specific query and display the results in a highly customized manner.

On Wednesday May 2nd I will give the same presentation again at Microsoft at Schiphol-Rijk. If you would like to register for this you can do here (note that the presentation will be in Dutch).

The presentation can be downloaded here. The slides are in English.

 

Comparing SPS 2003 and MOSS 2007

April 27th, 2007 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

MOSS 2007 has a lot of features that weren't there in SPS 2003 or that didn't work that well in SPS 2003. Having a list of these features can really help to make the decision to migrate to MOSS 2007.

Here on Office Online you can find a great comparison between SPS 2003 and MOSS 2007 features.

Some things of the great new features in MOSS 207 are:

  • Social Networking web part (especially when combined with Knowledge Network)
  • Wikis
  • Blogs
  • Mobile device support
  • Easy customizeable navigation
  • Aggregation web parts like the Content Query web part to roll up data and documents
  • Integration with Outlook 2007 and the ability to take documents offline
  • Showing business data in SharePoint with the Business Data Catalog
  • And lots and lots more… ;-)

 

More presentations

February 23rd, 2007 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

After presenting at the SharePoint Conference 2007 in Berlin more presentations are coming up. They will all be relatively close to home in the Netherlands.

On March 23th I'm presenting at the SDE together with Dirk Zekveld. Our presentation will be on behalf of the Dutch Information Worker User Group (DIWUG).
The session will be about: "Using the Windows SharePoint Services Feature Model to create and deploy custom solutions".
Other people from DIWUG that are presenting are Marianne van Wanrooij and Rolf Eleveld on "Extending your Microsoft Office System: Word 2007" and Mart Muller on "ECM in MOSS 2007: Site Columns en Content Types".
For more information please check the site:
http://www.sdn.nl/Default.aspx?tabid=260

On May 16th Dirk and I will present for the DIWUG about the Knowledge Network. The location for this presentation is still unknown.

Last but not least I will give two presentations for TechNet on Search. One will be in Schiphol-Rijk, the other one will be in Barneveld. I'm not sure about the dates for these yet, but I will update this post as soon as more information becomes available.

The use of SPContext

February 23rd, 2007 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

When building custom web parts for Windows SharePoint Services V3. You can use the SPContext object to get for instance the site or web from the current context.  But that's not all you can get from SPContext. You can also get the listitem and the webfeatures.

In WSS V2 you would use SPControl.GetContextSite() or SPControl.GetContextWeb() but that's a lot less flexible and it's slower as well.

A couple of different uses of SPContext are shown below:

*************************************************************************

SPList currentList = SPContext.Current.List;

SPWeb currentSite = SPContext.Current.Web;

SPSite currentSiteCollection = SPContext.Current.Site;

SPWebApplication currentWebApplication = SPContext.Current.Site.WebApplication;

*************************************************************************

SPListItem item = (SPListItem)SPContext.Current.Item;

*************************************************************************

SPWeb site = SPContext.Current.Site.OpenWeb(guid);

SPUser user = SPContext.Current.Web.CurrentUser;

*************************************************************************

SPSiteDataQuery siteQuery = new SPSiteDataQuery();

siteQuery.Query = "<Where><Gt><FieldRef Name="ID" />" +

    "<Value Type = "Number">100</Value></Gt></Where>";

siteQuery.ViewFields = "<FieldRef Name="Title"/>";

DataTable queryResults = SPContext.Current.Web.GetSiteData(siteQuery);

queryResults.TableName = "queryTable";

queryResults.WriteXml("C:\queryTable.xml");

The last example makes use of the SPSiteDataQuery object.  In WSS V3 there are two different query objects. Besides SPSiteDataQuery object there is also the SPQuery object.
The difference between the two is that SPQuery can only be used for queries within a single folder in a single list. SPSiteDataQuery can be used for cross lists and even cross site queries.

Presenting at the SharePoint Conference in Berlin

February 23rd, 2007 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

Last week (11-14th February) I was in Berlin for the SharePoint Conference 2007.

I attended quite a lot of interesting sessions, particularly from Patrick Tisseghem and Mike Fitzmaurice.

But the most exciting part of the conference for me was the fact that I was asked by Bart Wessels from Microsoft to co-present his session on "SharePoint Designer 2007: Building No-Code SharePoint Solutions".  Bart did most of the story telling while I did the demo's.

The contents of the session consisted of the following:

  • The Fantastic 40 templates
  • Solutions with Data View web parts
  • Demo of the Data View web part
  • Workflows in MOSS 2007
  • Demo about building workflows in SharePoint Designer
  • SharePoint Customization
  • Demo and best practices with Master Pages and Page Layouts

All in all I really loved doing it and it generated a great adrenaline rush :-)

The ClassResourcePath for custom webparts in MOSS 2007

January 17th, 2007 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

At Macaw we've been using standard project templates for most of our development projects for years. In the project template for custom webparts for SharePoint 2003 we've had a basewebpart. All custom webparts for SharePoint 2003 inherit from the basewebpart. On of the things the basewebpart takes care of is determining the ClassResourcePath.

Custom web parts can be deployed to the wwwroot/bin directory or to the global assembly cache (GAC). The deployment location also affects the location where resources (for instance usercontrols and images) that are required by the web part are stored. For GAC deployments, the directory is mapped to /_wpresources/[assembly_name]. For bin directory deployments, the directory is mapped to /wpresources/[assembly_name].

In order to determine the resource path at runtime you use the ClassResourcePath of Microsoft.SharePoint.WebPartPages.WebPart.

For SharePoint 2007 Microsoft recommends inheriting custom webparts from System.Web.UI.WebControls.WebParts.WebPart. Unfortunately this class doesn't contain an equivelant of the ClassResourcePath. However if you're building a basewebpart that will be used by a lot of custom web parts you do want to be able to determine the path where the resources are stored at runtime, since you don't beforehand know whether a web part will be deployed in the bin or in the GAC.

In order to be able to do this I've used SPWebPartManager.GetClassResourcePath. You can use this class, that is inherited from Microsoft.SharePoint.WebPartPages and at the same time inherit the web part itself from System.Web.UI.WebControls.WebParts.WebPart in order to comply with Microsoft recommendations.

The code getting the resource path will look like this:

SPWeb currentWeb = SPControl.GetContextWeb(Context);
Type currentType = BaseWebPart.GetType();
string classResourcePath = SPWebPartManager.GetClassResourcePath(currentWeb, currentType);

MOSS 2007 Performance guidelines

January 3rd, 2007 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

In order to keep your MOSS 2007 solution fast and scalable you should take the following guidelines at heart:
http://technet2.microsoft.com/Office/en-us/library/6a13cd9f-4b44-40d6-85aa-c70a8e5c34fe1033.mspx?mfr=true

If you look at the "Guidelines for acceptable performance" the first thing you should be aware of is that Microsoft makes a distinction between "web sites" and "sub sites". Where web sites are actually the first sub sites under a site collection, and sub sites are the sites under the web sites.

The total number of web sites and sub sites together in one site collection should be 250.000. So if you've got less web sites, you can have more sub sites. Keep in mind never to use more than 2000 sub sites per web site.

Another number that stands out and causes some confusion is the number of 2000 security principales per web site. Security principales are users and SharePoint groups. I asume that the maximum number of 2000 is per site collection since all groups are cross site groups in MOSS.

The last thing you need to be aware of is that a content database can store several site sollections, but that one site collection will always be stored within one content database. In order to be able to do a database backup and restore in a reasonable amount of time you should keep the size of your database limited. I always aim for about 50Gb maximum. This means you have to think about how much storage your site collections will use in order to determine the maximum number of site collections per content database.

You can set the maximum number of site collections per content database in the Central Administration. Go to Application Management and click Content Databases here you can set the "Maximum number of sites that can be created in this database".

Impersonation in SharePoint 2007

November 2nd, 2006 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

In SharePoint 2003 there was no easy way to use impersonation. In SharePoint 2007 there is a nice and easy build in way to use impersonation:

SPSite site = new SPSite("SiteCollection_Url");
SPWeb web = site.OpenWeb();
SPUser user = web.AllUsers["User_Name"];

SPUserToken token = user.UserToken;
SPSite impersonatedSiteCollection = new SPSite("SiteCollection_Url", token);

You can also check whether an SPSite object is using impersonation:

SPSite siteCollection = SPControl.GetContextSite(HttpContext.Current);
bool impersonating = siteCollection.Impersonating;

Hi!

November 2nd, 2006 by Mirjam
This blog has moved.  Click here to open this post on my new blog.

Hi All,

Welcome to my SharePoint blog. I'm a SharePoint developer at Macaw (http://www.macaw.nl) in the Netherlands.

I will mainly be posting SharePoint 2007 stuff here.