Monday, January 18, 2010

Installing SharePoint Server 2010 on Windows 7

I am back with another post.

This post is regarding the steps that you need to consider if you want to install SharePoint Server 2010 on Windows 7. Yes, SharePoint can now be installed on windows 7 and on windows vista as well. This provision is given for developers only who can test and build application or tools on top of SharePoint Server 2010. SharePoint Server 2010 running on any client OS is not supported in production.
The product team came up with this idea because with MOSS 2007 we got not install the product any client O.S and the developer who did not need a server OS for their developement, had to install Windows server 2003 or Windows Server 2008 and then work with MOSS 2007.

So now lets see how we can install Windows 7:
  • First decide the OS on which you would like to install SharePoint Server 2010. This blog is for installing SharePoint Server 2010 on windows 7 (64 bit).
  • Put the media and open the setup file location.
  • Open the location  "C:\SharePointFiles\files\Setup\config.xml".
  • Add the following xml code : "Setting Id="AllowWindowsClientInstall" Value="True"  (at a look at the snapshot)
  • After adding the xml will look like the following. The snapshot is related to SharePoint Server 2010 and not SharePoint Foundation 2010 (the new name for WSS 4.0). The above code is case sensitive and hence maintain the same case.

  •  Next step is the longest and the most important one. While you are installing SharePoint Server 2010 you will not be able to run the Pre-Requisite Installer as it will only run on Windows Server 2008 with SP2 and Windows Server 2008 R2. So you need to download and install all the prequiste manually. To make it easy to find all the pre-requiuste at a single place please follow this link .  You will find all the pre-requistes here.
  • Once the pre-requistes are done then you need to make your IIS ready on Windows 7. For that we have given a script that you can find in this location . Or the way I did was to enable the IIS first from command line and send enable the features manually. Below is the screen shot of the features that I enabled manually.








  • Once this is done click on the setup.exe which you find in "C:\SharePointFiles\Setup.exe".
  • You can choose Standalone or Advanced Option ( to choose complete) depending on how much resources you can give for SharePoint. I choosed Standalone for two reasons. 1. I did not have a full-blow SQL Server 2. My laptop on which I am installing has only 4GB RAM.
  • Its left to you on what you want to choose.
  • Once done with the first phase of installation, then you need to install the SQL Server 2008 KB 970315 x64 . Its the Cummalative Update 2 for SQL Server 2008 SP1.
  • Then complete the configuration wizard and yes you are done.
Enjoy Sharing on Windows 7.

Saturday, January 9, 2010

Visio Web Access

Visio Web Access is another new web part in SharePoint Server 2010. As the name is similar to Excel Web Access, it also has the same functionality as Excel Web Acess but with respect to Visio. If the pervious statement is confusing it will be clear by the end of the post.

Visio is used in most of the companies when it comes to network design or if they want to have a pictorial representation of the infrastructure. For Example: If the company manager wants to know who the servers in his company are connected to one-another and would also like to know the where the firewalls are placed, where do they have Ethernet switches etc. visio is the tool used to give him the answer. Most of the work in visio (as far as I know) is done connecting the items in the visio page. It also gives us real time information.Say we have created a visio diagram for tells us details or SharePoint environment and say our Database server is down then we can configure the visio diagram to show us a RED color on the Database server.

Now lets see where and how can we use Visio in SharePoint. If visio file can be put into a SharePoint Site as a web part and if that visio shows us the status of all the servers of the company then wouldnt ot be great. The Network Administartor would easily come to know which server has the problem or which server is misbehaving and get it fixed. So keeping this in mind we developed the visio web access web part which helps us to put the web part anywhere in the SharePoint site and then have the visio present in that web part.

Now lets discuss that steps to achieve the visio web access:
  • In Visio 2010 (Beta) create a network diagram ( a simple one)
  • Next it is very important to save it as vwi file.
  • Upload it into one of the document library.
  • Next go to a page, click on edit page, click new web part and choose visio web access.
  • Once the web part is added, then will click on modify edit web part. In the Diagram URL put the URL of the vwi (visio) file.
  • Click Apply and OK.
If you have done all the above steps you should be done with the visio in the web part. You will also see that there is a zoom-in and zoom-out option.

Enjoy it!! :)

Tuesday, January 5, 2010

Conceptual Understanding of SharePoint Server 2010 Search Architecture - Part 1

Enterprise search is one of the key selling points of MOSS 2007 but at the same time this feature had its own problems.Before we go into the New Search Architecture of SharePoint Server 2010 lets just talk little bit of MOSS 2007 Search so that understanding of the SharePoint 2010 search becomes easy.

The MOSS 2007 Search architecture mainly consists of two main components: Query Server and the Index Server. The index server was the one which would take the content source(s) as its input and would generate content index. This content index would be stored in the index and also will be propogated to the query servers. This propogation is real-time which means that as soon as the index is created for an item, a copy of the index would be sent to the query server also.The role of the query server would be to get the request from the end user, hit a query to the local content index that it has and give back the user with the right set of results.In SQL Server there would one important database related to the search known as SSP_Search_DB which had all the information except index itself because the index would get stored in the file system and not the database.Also I would like to highlight that the keyword and bestbets that you configure from the site collection administration section (in site actions -> site settings, within a site collection) is stored in SSP_database and not the content database.Talking about the problem that this architecture had was the single point of failure of the Index server. We just could not find a easy solution (or rather no solution ) to provide redundancy to the index server. No easy failure over mechanism for the index server.

Now lets jump into the Search in SharePoint Server 2010. So when we started designing the search for Sharepoint 2010 we realized that index was one role/engine that did most of the job of the search and also searching infomation in a large index is also difficult ( it would not give split second search results to the end user). So the answer for both the questions were break the index into smaller and distribute them.This would give us redundancy,if we want to, and also searching in smaller chunks of data is much faster than searhing in a large file.So before proceding further I would like to make some terms clear which may be new and also confusing :).

  •  In SharePoint Server 2010 we call the index server as the CRAWL server or crawler .Crawl Server primary role is same as index servers' role i.e., to index the data and create/prepare the index. So going forward I would be addressing the index role/engine/server as crawl(ing) server.
  • The huge index file that was generated in index server in MOSS 2007 is broken down into smaller chunks and are known as INDEX PARTITION.
  • Query Component and Crawl component are two more new terms.I will be explaining about these terms later in the post but from the term names you can guess that query component has to do something with quering the index partition and the crawl component is used to crawl (used to index).

In SharePoint Server 2010 when you create/configure the search service application, in SQL Server 3 databases get created. They are:
  • Administration database.
  • Crawl database.
  • Property database. 
Administration database is more like the SSP_Admin database. The crawl and property database are again something new in SharePoint Server 2010.

  • Crawl database : It would have all the information except the index itself in the database like crawl log, crawl properties etc..
  • Property database: Property database would hold the properties associated with the data that is being crawled. Such as the rating information,tags,notes etc.. Basically the metadata associated with the content.
So lets start from basic and simple example.
Once you have created the search service application, click on the search service and you will be see the below screen


Crawl component and the query component can be put on two different servers/machines.

The crawl component is the one that would crawl the content source(s). and create the index partition.Once the index partition is created,the crawl component will send the created index partition to the query component or the query server.When the request comes from the end user the query component would look into its index partition and send back the result. Its important to note that the crawl component will NOT store index with it. As soon as the crawl component prepares the index partition it sends to the query component or the query server.Only the query server hold the index parition with them. At the same time we can multiple crawl components to crawl multiple content sources. Also every crawl component should be associated with one crawl database because the crawl component would write into that database the details about the crawl.We can also have multiple query components.

So before proceeding further, let me show what are the components that you can create in Search:


 As you see that we can create multiple crawl component, multiple crawl database, multiple Index partition and query component and also multiple property database.

Now lets discuss when and how can be make use of multiple query components.Lets take an example: Say we have a large content source and we have a crawl component crawling the content source.At the same time we also have 2 query components.So here when the crawl component crwals the content, it creates the index partition and also it sends the index partition to both the query component. Its a real time propogation.When the Web Front End gets the user request, it sends the request to both the query component and the results are displayed. (for better understanding on how web front end interacts with query, refer my previous blog here )

More on Search every soon....