Tafiti Search Visualization Deployment Guide

This deployment guide is very large (~ 3-4 MB). You can download an XPS of this Wiki Page from here (NOTE: this file may get out of sync with the Wiki).
  • Configuration
    • Windows Live Account Setup
    • Database setup – without Management Tools (SQLCMD)
    • Database setup – with Management Tools
  • Web Application Setup
    • Solution Overview (Projects)
    • Configuring Live ID Web Authentication
    • Configuring Database Connection String
    • Configuring Search API settings
    • Configuring AdCenter Analytics
    • Building the project
  • Executing & Smoke testing
    • Start the project
    • Testing Shelves
  • Deployment options
  • Demonstration Script
    • Demonstration machine configuration
      • Apple Mac
      • PC (Windows Vista/Windows XP)
    • Demonstration Walkthrough
    • FAQ / More information

Server / Development Environment Setup / Pre-requisites

Install the following on your computer (Windows Server 2003, Windows XP, and Windows Vista or later):


Windows Live Account Setup

You will need to gain access and/or credentials from each of the following, which will be stored in the Web.config of the Web project:
  • Windows Live Authentication (http://msm.live.com/app) (see the web.config for redirect URLs - http://localhost:50008/WLQuickApps.Tafiti.WebSite/Register.aspx if you are running in local debug mode)
  • Time Lapse in setting up account: Instant

Database setup – without Management Tools (SQLCMD)

You can configure the database via the Command Line if you do not have the SQL Server Management Studio installed. This can be done via the SQLCMD command line (tutorial).
  • Open a command prompt and change the directory to:
    • C:\Program Files\Microsoft SQL Server\90\Tools\Binn
  • To connect with the SQL instance type:
    • sqlcmd –S .\SQLExpress
  • Paste the following statement and press ENTER. NOTE: These databases will be created in C:\temp if you wish for them to be created elsewhere modify the script before you paste it into the command window.
PRIMARY ( NAME = N'Tafiti', FILENAME = N'c:\temp\Tafiti.mdf' , SIZE = 41984KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON ( NAME = N'Tafiti_log', FILENAME = N'c:\temp\Tafiti_log.ldf' , SIZE = 22144KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

  • Quit the existing SQLCMD session by typing Quit and press ENTER
  • Create the objects using the Create.sql by using the –i (InputFile) parameter
    • sqlcmd –s .\SQLExpress –i C:\Code\Codeplex\WLQuickApps\WLQuickApps.Tafiti\create.sql

Database setup – with Management Tools (SQL Server Management Studio)

If you have the SQL Server Management Studio installed you can create a new database and configure the tables.
  • Open the SQL Server Management Studio
  • Create a database called Tafiti
  • Run the create.sql script found in the project root to set up the tables NOTE: be sure to run this against the Tafiti database and not the master database.
  • Open the create.sql file in the SQL Management studio (File --> Open --> File) or CTRL+O
  • Click Execute to run the script
  • See the command has completed successfully

Web Application Setup

The web application has several settings in the web.config which must be configured to make this application successfully execute.
  • Open your development Environment (Visual Web Developer or Visual Studio 2008)
  • Open the solution file

Solution Overview (Projects)

The solution will open with 3 projects:
  • Website – the presentation layer
  • Business – the business layer which stores non presentation specific logic
  • Data – the data layer manages the persistence of objects back into the data provider (in this case SQL Server)

Configuring Live ID Web Authentication

Be sure to update Web.config with the credentials obtained from the Windows Live™ ID configuration steps above. You must copy and paste the Windows Live App ID and the Secret Key

Configuring Database Connection String

  • Verify the connection string is correct by default it uses .\SQLExpress with Integrated security.
  • You must also copy the connection string into <add name=”Default” as one connection string is used for development tools and another is use for a managed hosting environment.

Configuring Search API settings

  • Embed the search API key in the Web.Config

Configuring AdCenter Analytics

If you have an AdCenter analytics account or would like your usage of Tafiti to be reported set this field. If you don’t want to report usage of the Tafiti code set the field as blank. AdCenter Analytics accounts are not broadly available yet.

Building the project


Executing & Smoke testing

To test Tafiti Search Visualization you need to run the code and step over the key areas such as:
  • UX Rendering – does the website render
  • Search API Queries – is the search API accessible and has the API Key been successfully set
  • Authentication – has the Windows Live™ ID Web Authentication been configured correctly
  • Storage – has the SQL database connection string and objects been created/configured correctly.

Start the project

You can either F5 to start debugging or right click on the default.aspx to start the local web server.
NOTE: It may take a couple of minutes for the Search API key to become active, during this time you will see: An Error has occurred.

Testing Shelves

A shelf is a saved set of search results. You can test these by authenticating and dragging search results to the right hand site. This will test the following piece of technology: Live ID authentication, SQL connection & SQL schema.
NOTE: If you see this error after authentication means you are redirecting to a different port than the debugger is running on. Change this by selecting the Website project and then the property window and change the dynamic ports to FALSE and 50008
  • Sign in and drag a result onto the right hand side
  • Close the browser and reopen and sign in and the shelf should be fully populated.
  • The shelf will be created in the database.

Deployment options

  • Copy/publish the output of the Web project to the virtual directory set up earlier for Web hosting
  • Run the site in local debug mode (the Web Site has been set to non dynamic ports)

Last edited Feb 27, 2008 at 11:13 AM by Mallik, version 35


lkuhn65 Sep 11, 2008 at 4:16 PM 
With the 7.1 Jul 24, 2008 code, I get this:
Error 2 Could not load file or assembly 'nStuff.ScriptSharp, Version=, Culture=neutral, PublicKeyToken=8fc0e3af5abcb6c4' or one of its dependencies. The system cannot find the file specified. C:\Users\lkuhn\Documents\Visual Studio 2008\Projects\WLQuickApps-21556\WLQuickApps.Tafiti\WLQuickApps.Tafiti.WebSite\Web.Config 115

where does nStuff come from?

freezer27 Mar 13, 2008 at 8:42 PM 
me da error de compilación:

CS0234: The type or namespace name 'Business' does not exist in the namespace 'WLQuickApps.Tafiti' (are you missing an assembly reference?)

ya instalé todas las extensiones, pero no se porqué me da ese error.