Monday, December 28, 2009

How to be a Good Project Manager

Referred URL:

Show appreciation - thanking people for their assistance is not only the right thing to do it is expected.

Listen effectively - think before speaking. Listen attentively. Make the person feel like they are the only thing you are focusing on.

Give credit to others - always give credit where credit is due.

Don't be negative - negative people can kill team creativity. Eliminate them from your team if possible.

Have a work/life balance - don't forget that all work and no play makes for a dull life.

Don't have hidden agendas - they are only hidden for a while, and most people realize what you are doing.

Be willing to publicly admit your failures - there is nothing more pathetic than the person that never admits a mistake.

Talk about the problem not the person - don't personalize problems and make them about a person or group. Be willing to focus on only on the problem.

If you lie down with dogs you will get fleas - be careful of your relationships in the workplace. Trust, but verify.

Don't gossip - gossip can hurt careers and projects. Don't participate in gossip and don't allow it on your team.

Use Empathy not Sympathy when dealing with delicate issues - Empathic listening is listening with intent to understand. Sympathetic listening is a form of agreement and judgement.

Diagnose before your prescribe - if people don't have confidence in your diagnosis, they won't have confidence in your prescription

Keep your commitments and promises - enough said.

Wednesday, December 9, 2009

Kahani Me Twist - Letter from Software Engineer to his Boss

A Boss looking through his Mail Box was astonished to see a mail from an Employee who was supposed to be busy working at Client sideon a critical project. It had the subject - "TaTa - Bye Bye".
With the worst premonition he opened the mail and read the content with trembling hands:-

Dear Sir,
It is with great regret and sorrow that I'm writing you, but I'm leaving the job. The offer was too lucrative and attractive for me to turn down.
I had to abscond because I wanted to avoid a scene with the HR and you.
I am sorry but I had no choice.
The project is working fine. There are only 108 issues pending, out of which only 38% issues are High Priority. Hence I am sure there is no
need to worry about. The next Phase of major enhancements I have been working upon,have been completed halfway. I am sure the new person who would replace
me would not understand what all I had done so far. Hence, for his and your convenience, I have taken care to remove all the work that I had been doing this far for nearly 3 months now. I am sure you will appreciate my insight and "big heart".
I am of course retaining the Originals that I had retrieved for the purpose of Passport verification with me, considering it as a parting gift from you. Of course, I will not pay the bond amount that I owe the company (since I Am breaking the bond). But I will consider this as a parting gift from our Dear company. I moving out of town since the new company is situated in another City.
Also, I have changed my contact number. So you will not be able to get in touch with me, to congratulate me. But I know your blessings are always with me.
Last but not the least. I also have the 7000 Rs entrusted to me by our company's cultural events group, for the upcoming movie event. I am sure you would have wanted me to keep it with myself as an added bonus from our company. I respect you very much, hence your wish is my command.
I thank you for that in advance, and assure you that I will surely invest them wisely (but not in your company's stocks of course).
Don't worry sir. I am 2 years experienced now, learning so much from your company. So I will surely use this knowledge to write better programs for the new company.
Someday I'm sure we will meet sometime in the future. If you wish, I will surely be glad to give my employee reference for you to apply for a job in the new company which I am joining.
Your faithful employee,
S. W. Engineer

At the bottom of the page were the letters "PS". Hands still trembling, the Boss read:
PS: Dearest Boss, none of the above is true. I'm am still busy working at client side. I just wanted to remind you that there are worse things in life than my "Request to reconsider my Salary Appraisal" attached with this mail. Please approve it and call when it is safe for me to come to our Office to discuss this.
My respect and Best Regards to you!


How To Know The Gender Of A Fly

A woman walked into the kitchen to find her
husband stalking around with a fly swatter
'What are you doing?' !
She asked.
'Hunting Flies'
He responded.
'Oh. ! Killing any?'
She asked.
'Yep, 3 males, 2 Females,' he replied.

Intrigued, she asked.
'How can you tell them apart?'
He responded,

3 were on a beer can,

2 were on the phone…. :)

Tuesday, December 1, 2009

Sharepoint Interview Questions – Part –2

Referred URL:

What is Microsoft Windows SharePoint Services? How is it related to Microsoft Office SharePoint Server 2007?

Windows SharePoint Services is the solution that enables you to create Web sites for information sharing and document collaboration. Windows SharePoint Services -- a key piece of the information worker infrastructure delivered in Microsoft Windows Server 2003 -- provides additional functionality to the Microsoft Office system and other desktop applications, and it serves as a platform for application development.

Office SharePoint Server 2007 builds on top of Windows SharePoint Services 3.0 to provide additional capabilities including collaboration, portal, search, enterprise content management, business process and forms, and business intelligence.

What is Microsoft SharePoint Portal Server?

SharePoint Portal Server is a portal server that connects people, teams, and knowledge across business processes. SharePoint Portal Server integrates information from various systems into one secure solution through single sign-on and enterprise application integration capabilities. It provides flexible deployment and management tools, and facilitates end-to-end collaboration through data aggregation, organization, and searching. SharePoint Portal Server also enables users to quickly find relevant information through customization and personalization of portal content and layout as well as through audience targeting.

What is Microsoft Windows Services?

Microsoft Windows Services is the engine that allows administrators to create Web sites for information sharing and document collaboration. Windows SharePoint Services provides additional functionality to the Microsoft Office System and other desktop applications, as well as serving as a plat form for application development. SharePoint sites provide communities for team collaboration, enabling users to work together on documents, tasks, and projects. The environment for easy and flexible deployment, administration, and application development.

What is the relationship between Microsoft SharePoint Portal Server and Microsoft Windows Services?

Microsoft SharePoint Products and Technologies (including SharePoint Portal Server and Windows SharePoint Services) deliver highly scalable collaboration solutions with flexible deployment and management tools. Windows SharePoint Services provides sites for team collaboration, while Share Point Portal Server connects these sites, people, and business processes—facilitating knowledge sharing and smart organizations. SharePoint Portal Server also extends the capabilities of Windows SharePoint Services by providing organizational and management tools for SharePoint sites, and by enabling teams to publish information to the entire organization.

Who is Office SharePoint Server 2007 designed for?

Office SharePoint Server 2007 can be used by information workers, IT administrators, and application developers. is designed

What are the main benefits of Office SharePoint Server 2007?

Office SharePoint Server 2007 provides a single integrated platform to manage intranet, extranet, and Internet applications across the enterprise.

· Business users gain greater control over the storage, security, distribution, and management of their electronic content, with tools that are easy to use and tightly integrated into familiar, everyday applications.

· Organizations can accelerate shared business processes with customers and partners across organizational boundaries using InfoPath Forms Services–driven solutions.

· Information workers can find information and people efficiently and easily through the facilitated information-sharing functionality and simplified content publishing. In addition, access to back-end data is achieved easily through a browser, and views into this data can be personalized.

· Administrators have powerful tools at their fingertips that ease deployment, management, and system administration, so they can spend more time on strategic tasks.

· Developers have a rich platform to build a new class of applications, called Office Business Applications, that combine powerful developer functionality with the flexibility and ease of deployment of Office SharePoint Server 2007. Through the use of out-of-the-box application services, developers can build richer applications with less code.

What is the difference between Microsoft Office SharePoint Server 2007 for Internet sites and Microsoft Office SharePoint Server 2007?

Microsoft Office SharePoint Server 2007 for Internet sites and Microsoft Office SharePoint Server 2007 have identical feature functionality. While the feature functionality is similar, the usage rights are different.

If you are creating an Internet, or Extranet, facing website, it is recommended that you use Microsoft Office SharePoint Server 2007 for Internet sites which does not require the purchase client access licenses. Websites hosted using an “Internet sites” edition can only be used for Internet facing websites and all content, information, and applications must be accessible to non-employees. Websites hosted using an “Internet sites” edition cannot be accessed by employees creating, sharing, or collaborating on content which is solely for internal use only, such as an Intranet Portal scenario. See the previous section on licensing for more information on the usage scenarios.

What suites of the 2007 Microsoft Office system work with Office SharePoint Server 2007?

Office Outlook 2007 provides bidirectional offline synchronization with SharePoint document libraries, discussion groups, contacts, calendars, and tasks.

Microsoft Office Groove 2007, included as part of Microsoft Office Enterprise 2007, will enable bidirectional offline synchronization with SharePoint document libraries.

Features such as the document panel and the ability to publish to Excel Services will only be enabled when using Microsoft Office Professional Plus 2007or Office Enterprise 2007.

Excel Services will only work with documents saved in the new Office Excel 2007 file format (XLSX).

How do I invite users to join a Windows SharePoint Services Site? Is the site secure?

SharePoint-based Web sites can be password-protected to restrict access to registered users, who are invited to join via e-mail. In addition, the site administrator can restrict certain members' roles by assigning different permission levels to view post and edit.

Can I post any kind of document?

You can post documents in many formats, including .pdf, .htm and .doc. In addition, if you are using Microsoft Office XP, you can save documents directly to your Windows SharePoint Services site.

Can I download information directly from a SharePoint site to a personal digital assistant (PDA)?

No you cannot. However, you can exchange contact information lists with Microsoft Outlook.

How long does it take to set up the initial team Web site?

It only takes a few minutes to create a complete Web site. Preformatted forms let you and your team members contribute to the site by filling out lists. Standard forms include announcements, events, contacts, tasks, surveys, discussions and links.

Can I create custom templates?

Yes you can. You can have templates for business plans, doctor's office, lawyer's office etc.

How can I make my site public? By default, all sites are created private.

If you want your site to be a public Web site, enable anonymous access for the entire site. Then you can give out your URL to anybody in your business card, e-mail or any other marketing material. The URL for your Web site will be: http://

Hence, please take special care to name your site. These Web sites are ideal for information and knowledge intensive sites and/or sites where you need to have shared Web workspace. Remember: Under each parent Web site, you can create up to 10 sub-sites each with unique permissions, settings and security rights.

How do the sub sites work?

You can create a sub site for various categories. For example:

· Departments - finance, marketing, IT

· Products - electrical, mechanical, hydraulics

· Projects - Trey Research, Department of Transportation, FDA

· Team - Retention team, BPR team

· Clients - new clients, old clients

· Suppliers - Supplier 1, Supplier 2, Supplier 3

· Customers - Customer A, Customer B, Customer C

· Real estate - property A, property B

The URLs for each will be, for example:



You can keep track of permissions for each team separately so that access is restricted while maintaining global access to the parent site.

How do I make my site non-restricted?

If you want your site to have anonymous access enabled (i.e., you want to treat it like any site on the Internet that does not ask you to provide a user name and password to see the content of the site), follow these simple steps:

1. Login as an administrator

2. Click on site settings

3. Click on Go to Site Administration

4. Click on Manage anonymous access

5. Choose one of the three conditions on what Anonymous users can access:

o Entire Web site

o Lists and libraries

o Nothing

Default condition is nothing; your site has restricted access. The default conditions allow you to create a secure site for your Web site.

Can I get domain name for my Web site?

Unfortunately, no. At this point, we don't offer domain names for SharePoint sites. But very soon we will be making this available for all our SharePoint site customers. Please keep checking this page for further update on this. Meanwhile, we suggest you go ahead and set up your site and create content for it.

What are picture libraries?

Picture libraries allow you to access a photo album and view it as a slide show or thumbnails or a film strip. You can have separate folder for each event, category, etc

What are the advantages of a hosted SharePoint vs. one that is on an in-house server?

· No hardware investment, i.e. lower costs

· No software to download - ready to start from the word go

· No IT resources - Anyone who has used a Web program like Hotmail can use it

· Faster deployment

Can I ask users outside of my organization to participate in my Windows SharePoint Services site?

Yes. You can manage this process using the Administration Site Settings. Simply add users via their e-mail alias and assign permissions such as Reader or Contributor.

Are there any IT requirements or downloads required to set up my SharePoint site?

No. You do not need to download any code or plan for any IT support. Simply complete the on-line signup process and provide us your current and correct email address. Once you have successfully signed up and your site has been provisioned, we will send a confirmation to the email address you provided.

I am located outside of the United States. Are there any restrictions or requirements for accessing the Windows SharePoint Services?

No. There are no system or bandwidth limitations for international trial users. Additionally language packs have been installed which allow users to set up sub-webs in languages other than English. These include: Arabic, Danish, Dutch, Finnish, French, German, Hebrew, Italian, Japanese, Polish, Portuguese (Brazilian), Spanish and Swedish.

Are there any browser recommendations?

Yes. Microsoft recommends using the following browsers for viewing and editing Windows SharePoint Services sites: Microsoft Internet Explorer 5.01 with Service Pack 2, Microsoft Internet Explorer 5.5 with Service Pack 2, Internet Explorer 6, Netscape Navigator 6.2 or later.

What security levels are assigned to users?

Security levels are assigned by the administrator who is adding the user. There are four levels by default and additional levels can be composed as necessary.

· Reader - Has read-only access to the Web site.

· Contributor - Can add content to existing document libraries and lists.

· Web Designer - Can create lists and document libraries and customize pages in the Web site.

· Administrator - Has full control of the Web site.

How secure are Windows SharePoint Services sites hosted by Microsoft?

Microsoft Windows SharePoint Services Technical security measures provide firewall protection, intrusion detection, and web-publishing rules. The Microsoft operation center team tests and deploys software updates in order to maintain the highest level of security and software reliability. Software hot-fixes and service packs are tested and deployed based on their priority and level of risk. Security related hot-fixes are rapidly deployed into the environment to address current threats. A comprehensive software validation activity ensures software stability through regression testing prior to deployment.

What is the difference between an Internet and an intranet site?

An internet site is a normal site that anyone on the internet can access (e.g.,,, etc.). You can set up a site for your company that can be accessed by anyone without any user name and password. The internet is used for public presence and a primary marketing tool managed typically by web programmers and a system administrator.

An intranet (or internal network), though hosted on a Web site, can only be accessed by people who are members of a specific network. They need to have a login and password that was assigned to them when they were added to the site by the site administrator. The intranet is commonly used as an internal tool for giving employees access to company information. Content is driven by business relevance, business rules and has increasingly become a common tool in larger organizations. An intranet is becoming more and more the preferred method for employees to interact with each other and the central departments in an organization, whether or not the organization has a Web presence.

What is a workspace?

A site or workspace is when you want a new place for collaborating on Web pages, lists and document libraries. For example, you might create a site to manage a new team or project, collaborate on a document or prepare for a meeting.

What are the various kinds of roles the users can have?

A user can be assigned one of the following roles

· Reader - Has read-only access to the Web site.

· Contributor - Can add content to existing document libraries and lists.

· Web Designer - Can create lists and document libraries and customize pages in the Web site.

· Administrator - Has full control of the Web site.

Can more than one person use the same login?

If the users sharing that login will have the same permissions and there is no fear of them sharing a password, then yes. Otherwise, this is discouraged.

How customizable is the user-to-user access?

User permissions apply to an entire Web, not to documents themselves. However, you can have additional sub webs that can optionally have their own permissions. Each user can be given any of four default roles. Additional roles can be defined by the administrator.

Can each user have access to their own calendar?

Yes there are two ways to do this,

· by creating a calendar for each user, or

· by creating a calendar with a view for each user

How many files can I upload?

There is no restriction in place except that any storage consumed beyond that provided by the base offering may have an additional monthly charge associated with them.

What types of files can I upload / post to the site?

The only files restricted are those ending with the following extensions: .asa, .asp, .ida, .idc, .idq. Microsoft reserves the right to add additional file types to this listing at any time. Also, no content that violates the terms of service may be uploaded or posted to the site.

Can SharePoint be linked to an external data source?

SharePoint data can be opened with Access and Excel as an external data source. Thus, SharePoint can be referenced as an external data source. SharePoint itself cannot reference an external data source.

But 3rd pary software can do this for you:

Can SharePoint be linked to a SQL database?

SharePoint 2007 Portal Server (MOSS2K7) allows connections to SQL based datasources via the Business Data Catalog (BDC). The BDC also allows connecting to data via Web Services.

Can I customize my Windows SharePoint Services site?

YES! Windows SharePoint Services makes updating sites and their content from the browser easier then ever.

SharePoint includes tools that let you create custom lists, calendars, page views, etc. You can apply a theme; add List, Survey and Document Library Web Parts to a page; create personal views; change logos; connect Web Parts and more.

To fully customize your site, you can use Microsoft FrontPage 2003. Specifically, you can use FrontPage themes and shared borders, and also use FrontPage to create photo galleries and top ten lists, utilize standard usage reports, and integrate automatic Web content.

Will Microsoft Office SharePoint Server 2007 run on a 64-bit version of Microsoft Windows?

Windows SharePoint Services 3.0, Office SharePoint Server 2007, Office Forms Server 2007, and Office SharePoint Server 2007 for Search will support 64-bit versions of Windows Server 2003.

How Office SharePoint Server 2007 can help you?

Office SharePoint Server 2007 can help us:

Manage content and streamline processes. Comprehensively manage and control unstructured content like Microsoft Office documents, Web pages, Portable Document Format file (PDF) files, and e-mail messages. Streamline business processes that are a drain on organizational productivity.

Improve business insight. Monitor your business, enable better-informed decisions, and respond proactively to business events.

Find and share information more simply. Find information and expertise wherever they are located. Share knowledge and simplify working with others within and across organizational boundaries.

Empower IT to make a strategic impact. Increase responsiveness of IT to business needs and reduce the number of platforms that have to be maintained by supporting all the intranet, extranet, and Web applications across the enterprise with one integrated platform.

Office SharePoint Server 2007 capabilities can help improve organizational effectiveness by connecting people, processes, and information.

Office SharePoint Server 2007 provides these capabilities in an integrated server offering, so your organization doesn't have to integrate fragmented technology solutions itself.

What are the features that the portal components of Office SharePoint Server 2007 include?

The portal components of Office SharePoint Server 2007 include features that are especially useful for designing, deploying, and managing enterprise intranet portals, corporate Internet Web sites, and divisional portal sites. The portal components make it easier to connect to people within the organization who have the right skills, knowledge, and project experience.

What are the advanced features of MOSS 2007?

· User Interface (UI) and navigation enhancements

· Document management enhancements

· The new Workflow engine

· Office 2007 Integration

· New Web Parts

· New Site-type templates

· Enhancements to List technology

· Web Content Management

· Business Data Catalog

· Search enhancements

· Report Center

· Records Management

· Business Intelligence and Excel Server

· Forms Server and InfoPath

· The “Features” feature

· Alternate authentication providers and Forms-based authentication

What are the features of the new Content management in Office SharePoint 2007?

The new and enhanced content management features in Office SharePoint Server 2007 fall within three areas:

· Document management

· Records management

· Web content management

Office SharePoint Server 2007 builds on the core document management functionality provided by Windows SharePoint Services 3.0, including check in and check out, versioning, metadata, and role-based granular access controls. Organizations can use this functionality to deliver enhanced authoring, business document processing, Web content management and publishing, records management, policy management, and support for multilingual publishing.

Does a SharePoint Web site include search functionality?

Yes. SharePoint Team Services provides a powerful text-based search feature that helps you find documents and information fast.

Write the features of the search component of Office SharePoint Server 2007?

The search component of Office SharePoint Server 2007 has been significantly enhanced by this release of SharePoint Products and Technologies. New features provide:

· A consistent and familiar search experience.

· Increased relevance of search results.

· New functions to search for people and expertise.

· Ability to index and search data in line-of-business applications and

· Improved manageability and extensibility.

What are the benefits of Microsoft Office SharePoint Server 2007?

· Provide a simple, familiar, and consistent user experience.

· Boost employee productivity by simplifying everyday business activities.

· Help meet regulatory requirements through comprehensive control over content.

· Effectively manage and repurpose content to gain increased business value.

· Simplify organization-wide access to both structured and unstructured information across disparate systems.

· Connect people with information and expertise.

· Accelerate shared business processes across organizational boundaries.

· Share business data without divulging sensitive information.

· Enable people to make better-informed decisions by presenting business-critical information in one central location.

· Provide a single, integrated platform to manage intranet, extranet, and Internet applications across the enterprise.

Will SharePoint Portal Server and Team Services ever merge?

The products will come together because they are both developed by the Office team.

What does partial trust mean the Web Part developer?

If an assembly is installed into the BIN directory, the code must be ensured that provides error handling in the event that required permissions are not available. Otherwise, unhandled security exceptions may cause the Web Part to fail and may affect page rendering on the page where the Web Part appears.

How can I raise the trust level for assemblies installed in the BIN directory?

Windows SharePoint Services can use any of the following three options from ASP.NET and the CLR to provide assemblies installed in the BIN directory with sufficient permissions. The following table outlines the implications and requirements for each option.

Option Pros Cons

Increase the trust level for the entire virtual server. For more information, see "Setting the trust level for a virtual server" Easy to implement.

In a development environment, increasing the trust level allows you to test an assembly with increased permissions while allowing you to recompile assemblies directly into the BIN directory without resetting IIS. This option is least secure.

This option affects all assemblies used by the virtual server. There is no guarantee the destination server has the required trust level. Therefore, Web Parts may not work once installed on the destination server.

Create a custom policy file for your assemblies. For more information, see "How do I create a custom policy file?" Recommended approach.

This option is most secure.

An assembly can operate with a unique policy that meets the minimum permission requirements for the assembly.

By creating a custom security policy, you can ensure the destination server can run your Web Parts.

Requires the most configuration of all three options. Install your assemblies in the GAC

Easy to implement. This grants Full trust to your assembly without affecting the trust level of assemblies installed in the BIN directory.

This option is less secure.

Assemblies installed in the GAC are available to all virtual servers and applications on a server running Windows SharePoint Services. This could represent a potential security risk as it potentially grants a higher level of permission to your assembly across a larger scope than necessary

In a development environment, you must reset IIS every time you recompile assemblies.

Licensing issues may arise due to the global availability of your assembly.

Does SharePoint work with NFS?

Yes and no. It can crawl documents on an NFS volume, but the sharepoint database or logs cannot be stored there.

How is SharePoint Portal Server different from the Site Server?

Site Server has search capabilities but these are more advanced using SharePoint. SPS uses digital dashboard technology which provides a nice interface for creating web parts and showing them on dashboards (pages). SS doesn't have anything as advanced as that. The biggest difference would be SPS document management features which also integrate with web folders and MS Office.

What would you like to see in the next version of SharePoint?

A few suggestions:

1. SPS and STS on same machine

2. Tree view of Categories and Folders

3. General Discussion Web Part

4. Personalization of Dashboards

5. Role Customization

6. Email to say WHY a document has been rejected for Approval

7. More ways to customize the interface

8. Backup and restore an individual Workspaces

9. Filter for Visio

10. Better way to track activity on SPS

11. Ability to Save as from Adobe to space on My Network Places

Why Sharepoint is not a viable solution for enterprise wide deployments?

Planning an enterprise deployment using SharePoint features is a very difficult task unless you can establish a Service Oriented Architecture, using AD for managing security with well defined roles based information access(EISA). Sounds reasonable, although it seems difficult to deploy with the tools limitations in document storage.

Document management does not scale beyond a single server, but scales great within a single server. For example, a quad Xeon machine with 4GB of RAM works great for a document management server that has about 900,000 - 1,000,000 document, but if you need to store 50,000,000 document and want to have them all in one single workspace then it does not scale at all. If you need a scenario like this, you need to plan your deployment right and it should scale for you, it just does not right out of the box. If you are using your server as a portal and search server most for the most part it scales great. You can have many different servers crawl content sources and have separate servers searching and serving the content.

If you have < 750,000 documents per server and fewer than 4 content sources and fewer than 50,000 users, SPS should scale just fine for your needs with the proper planning.

What are the actual advantages of SharePoint Portal Services (SPS) over SharePoint Team Services (STS)?

SharePoint Portal Services (SPS) has MUCH better document management. It has check-in, check-out, versioning, approval, publishing, subscriptions, categories, etc. STS does not have these features, or they are very scaled back. SharePoint Portal Services (SPS) has a better search engine, and can crawl multiple content sources. STS cannot. STS is easier to manage and much better for a team environment where there is not much Document Management going on. SPS is better for an organization, or where Document Management is crucial.

How Does SharePoint work?

The browser sends a DAV packet to IIS asking to perform a document check in. PKMDASL.DLL, an ISAPI DLL, parses the packet and sees that it has the proprietary INVOKE command. Because of the existence of this command, the packet is passed off to msdmserv.exe, who in turn processes the packet and uses EXOLEDB to access the WSS, perform the operation and send the results back to the user in the form of XML.

How do I open an older version of a document?

Normally, all previous versions are located in the shadow, so if you right click a published document from within the web folders, go to properties and then the third tab, versions you can view older versions.

If you want to do this in code:

strURL = "url of the last published version" 

Set oVersion = New PKMCDO.KnowledgeVersion 

Set prmRs = oVersion.VersionHistory(strURL) 

Set oVersion = Nothing 

prmRS will contain a recordset, which contains the url to the old versions in the shadow.

Why do the workspace virtual directories show the error “stop sign” symbol in the IIS snap-in?

If World Wide Web Publishing Service (W3SVC) starts before Microsoft Exchange Information Store (MSExchangeIS), “stop sign” symbols appear under the Default Web Site folder of the Internet Information Services console in Microsoft Management Console (MMC).

There is a dependency between the local paths of the SharePoint Portal Server virtual directories and the MSExchangeIS. You must start MSExchangeIS first, followed by W3SVC.

Complete the following steps to prevent the stop signs from appearing each time you restart:

1. Change the Startup type for W3SVC to Manual.

2. Restart the server. The MSExchangeIS service starts automatically.

3. Start W3SVC.

What newsgroups are available?

There are two,

· microsoft.public.sharepoint.portalserver and

· microsoft.public.sharepoint.portalserver.development.

What is SharePoint from a Technical Perspective?

Technically SharePoint illustrates neatly what Microsoft's .net strategy is all about: integrating Windows with the Web. Microsoft has previously made accessing stuff on a PC easier, (Windows) then on a network (NT) and now on the web (.NET). SharePoint is an application written to let a user access a web accessible directory tree called the Web Storage System.

SharePoint was written with a set of technologies that allow the programmer to pass data, functions, parameters over HTTP, the web's medium. These are XML, XSL and SOAP, to name a few I understand the basics of!

To the user it looks easy, like Hotmail, but every time they click a button or a link, a lot has to happen behind the scenes to do what they want to do quickly and powerfully. Not as easy as you might think, but SharePoint does it for you. Accessing this Web storage system and the server itself is also done using technologies like ADO, CDO, PKMCDO, LDAP, DDSC, ADSC. More on these later. SharePoint is a great example of how the Internet Platform can be extended and integrated into an existing well adopted technology, Windows.

What is SharePoint from an Administration Perspective?

Administering SharePoint mainly consists of setting it up, which is much easier than you expect, adding the content, which can be just dragging and dropping in whole directory structures and files, and then organizing the files better by giving them categories or other metadata. This is done either through the Web interface or through the SharePoint Client: a program what means you can access SharePoint as a Web folder and then right-click files to select options like "edit profile". Or add files by dragging them in individually or in bulk.

Setting the security is also important, using NT accounts, either NT4 or Active Directory (or both in mixed mode) you can give users access to files/folders the same way as you do in standard Windows. Users can be grouped and the groups given access privileges to help manage this better. Also SharePoint has 3 Roles that a User or Group can be given on a particular item. Readers can see the item (i.e. document/file or folder) but not change it, Authors can see and edit items and coordinators can set security privileges for the part of the system they have control over. Thus, you could set 12 different coordinators for 12 different folder trees, and they could manage who can do what within that area only.

What is SharePoint from a Users Perspective?

From a Users perspective SharePoint is a way of making documents and folders on the Windows platform accessible over the web. The user visits the SharePoint Portal web page, and from there they can add documents, change documents & delete documents. Through this Portal, these documents are now available for discussion, collaboration, versioning and being managed through a workflow. Hence the name "Share-Point". Details about the document can be saved too, such as: who wrote it, when, for whom, its size, and version, category or target audience. These can then be used to find the document through SharePoint's Search facility. Even documents not "in" SharePoint can be included in the search engine's index so they become part of the portal. All in all, it's a great way to get stuff up on the web for users with average technical skills, and for administrators to manage the content.

What are the various Sharepoint 2003 and Exchange integration points?

Link to Outlook

This is a button on contacts or events lists that lets Outlook 2003 add a pst file named Sharepoint Folders and it links to the data on the site. It’s read-only, but you could make the home page for that PST be the Sharepoint site for easier viewing. The link to outlook feature seems more to be where some can public a calendar, but not want too much collaboration. For example, a holiday schedule, company meeting schedule, etc, can be made available for people to be able to view from Outlook without having to go to a web browser. Another nice thing about OL2K3 is that you can compare these calendars with others side by side.

Searching Public Folders

With SPS you can index Exchange’s public folders with the search engine so that all that precious public folder content is searchable. You’ll want to look at content sources and indexing in Sharepoint administration.

Displaying Public Folders in a web part

Since exchange web-enables public folders, you can create a web part that displays that content. IE, http://exchangeserver/Public/IT/Helpdesk will display the IT/Helpdesk public folder via OWA. So you add the Page Viewer web part to a page and point it at that URL. The key here is to add ?cmd=contents to the end of the url if you don’t want the navigator pane on the left.

Smart web parts

Some of the web parts that come with SPS allow you to add a web part to a page that actually takes the users outlook info (calendar, inbox, contacts, tasks) and put them into the page.

The SmartPart Web Part project template for Visual Studio allows developers to create quickly a project which contains the base infrastructure to:

   * write a web user control (ASCX)

   * wrap the user control in a SmartPart instance

   * generate a SharePoint Solution file (WSP) for easy deployment

   * generate a setup package for a wizard driven installation

Can SharePoint compare two document versions?

"In Word 2003, you can compare documents side by side. Open two documents. Then, from the Window menu of one of them, select the Compare Side By Side command. If you have only two documents open, the command will automatically choose to compare them. If you have three or more documents open, you'll have to select which document to compare with the current file.

A floating toolbar with two buttons will open. If the button on the left is selected, Word will scroll both documents at the same time. Press the button on the right side of the toolbar to return to where the cursor was located when you started comparing."

What are the integration differences between SPS 2003 and the various Office versions?

SPS webpage can detect you have installed the Office 2003 and run local dll to implement some SPS function, e.g. multi-file upload only works when you have office 2003 installed.

Integration with Office XP is gone.

You will get guys telling you that you can integrate with SPSv2 if you install a backwards compatible document library - but that’s really just putting a bit of SPS 2001 on the server.

Believe me, check-in, check-out, which are themselves very basic, are not available from inside Office XP, or even from the context menu in Windows Explorer.

The ONLY option you have is to use the web interface to check-in or check-out.

1) What are the two base classes a WebPart you are going to use within SharePoint 2007 can inherit from?

There are two base classes that a WebPart which is going to be consumed by SharePoint can inherit from, either the SharePoint WebPart Base class or the ASP.NET 2.0 WebPart base class. When inheriting from the SharePoint WebPart Base class your derived WebPart class will inherit from Microsoft.SharePoint.WebPartPages.WebPart. When inheriting from the ASP.NET 2.0 WebPart base class your derived WebPart class will inherit from System.Web.UI.WebControls.WebParts.WebPart. It is considered good practice to use the ASP.NET WebPart base class since the old base class is meant for backwards compatibility with previous version of SharePoint, however there are four exception when it is better to leverage functionality from the SharePoint WebPart base class:

Cross page connections

Connections between Web Parts that are outside of a Web Part zone

Client-side connections (Web Part Page Services Component)

Data caching infrastructure

2) What are the differences between the two base classes and what are the inherit benefits of using one over another?

The difference is the Microsoft.SharePoint.WebPartPages.WebPart base class is meant for backward compatibility with previous versions of SharePoint. The benefit of using the SharePoint WebPart base class is it supported:

Cross page connections

Connections between Web Parts that are outside of a Web Part zone

Client-side connections (Web Part Page Services Component)

Data caching infrastructure

ASP.NET 2.0 WebParts are generally considered better to use because SharePoint is built upon the ASP.NET 2.0 web architecture. Inheriting from the ASP.NET 2.0 base class offers you features that inherit to ASP.NET 2.0, such as embedding resources as opposed to use ClassResources for deployment of said types.

3) What is the GAC?

The GAC stands for the global assembly cache. It is the machine wide code cache which will give custom binaries place into the full trust code group for SharePoint. Certain SharePoint assets, such as Feature Receivers need full trust to run correctly, and therefore are put into the GAC. You should always try to avoid deployment to the GAC as much as possible since it will possibly allow development code to do more than it was intended to do.

4) What is strong naming (signing) a WebPart assembly file mean?

Signing an assembly with a strong name (a.k.a strong naming) uses a cryptographic key pair that gives a unique identity to a component that is being built. This identity can then be referred throughout the rest of the environment. In order to install assemblies into the GAC, they must be strongly named. After signing, the binary will have a public key token identifier which can be use to register the component in various other places on the server.

5) What are safe controls, and what type of information, is placed in that element in a SharePoint web.config file?

When you deploy a WebPart to SharePoint, you must first make it as a safe control to use within SharePoint in the web.config file. Entries made in the safe controls element of SharePoint are encountered by the SharePointHandler object and will be loaded in the SharePoint environment properly, those not will not be loaded and will throw an error.

In the generic safe control entry (this is general, there could be more), there is generally the Assembly name, the namespace, the public key token numeric, the typename, and the safe declaration (whether it is safe or not). There are other optional elements.

6) What is the CreateChildControls() method? How can you use it to do something simple like displaying a Label control?

The CreateChildControls method in WebParts is used to notify the WebPart that there are children controls that should be output for rendering. Basically, it will add any child ASP.NET controls that are called instantiating each control with its relevant properties set, wire any relevant event handlers to the control, etc. Then the add method of the control class will add the control to the controls collection. In the relevant WebPart render method, the EnsureChildControls method can be called (or set to false if no child controls should be called) to ensure that the CreateChildControls method is run. When using CreateChildControls it implies that your WebPart contains a composition of child controls.

In order to create something like a label control in Create, you would create a new label control using the new keyword, set the various properties of the control like Visible=True and ForeColor = Color.Red, and then use Controls.Add(myLabelControl) to add the control to the controls collection. Then you can declare EnsureChildControls in the Render method of the WebPart.

7) What does the RenderContents method do in an ASP.NET 2.0 WebPart?

The render contents method will render the WebPart content to the writer, usually an HtmlTextWriter since WebParts will output to an HTML stream. RenderContents is used to tell how the controls that are going to be displayed in the WebPart should be rendered on the page.

*** Side Question: I got asked what the difference between CreateChildControls and the RenderContents method. The CreateChildControls method is used to add controls to the WebPart, and the RenderContents method is used to tell the page framework how to render the control into HTML to display on a page.

clip_image001What is the WebPartManager sealed class? What is its purpose?

The WebPartManager sealed class is responsible for managing everything occurring on a WebPart page, such as the WebParts (controls), events, and misc. functionality that will occur in WebPartZones. For example, the WebPartManager is responsible for the functionality that is provided when you are working with moving a WebPart from WebPartZone to WebPartZone. It is known as the “the central class of the Web Part Control Set.”

*** Side Question: I got asked how many WebPartManager controls should be on a page. In order to have WebParts on a page there has to be just one WebPartManager control to manage all the WebParts on the page.

9) What is a SPSite and SPWeb object, and what is the difference between each of the objects?

The SPSite object represents a collection of sites (site collection [a top level sites and all its subsites]). The SPWeb object represents an instance SharePoint Web, and SPWeb object contains things like the actual content. A SPSite object contains the various subsites and the information regarding them.

10) How would you go about getting a reference to a site?



  1. oSPSite = new SPSite("http:/server");

  2. oSPWeb = oSPSite.OpenWeb();

11) What does a SPWebApplication object represent?

The SPWebApplication objects represents a SharePoint Web Application, which essentially is an IIS virtual server. Using the class you can instigate high level operations, such as getting all the features of an entire Web Application instance, or doing high level creation operations like creating new Web Applications through code.

12) Would you use SPWebApplication to get information like the SMTP address of the SharePoint site?

Yes, since this is a Web Application level setting. You would iterate through each SPWebApplication in the SPWebApplication collection, and then use the appropriate property calls (OutboundMailServiceInstance) in order to return settings regarding the mail service such as the SMTP address.

Side Question: I got asked if there are other ways to send emails from SharePoint. The answer is yes, there is. You can use the SendMail method from the SPutility class to send simple emails, however it is not as robust as using the System.Net.Mail functionality since it doesn’t allow things like setting priorities on the email.

13) How do you connect (reference) to a SharePoint list, and how do you insert a new List Item?



  1. using(SPSite mySite = new SPSite("yourserver"))

  2. {

  3. using(SPWeb myWeb = mySite.OpenWeb())

  4. {

  5. SPList interviewList = myWeb.Lists["listtoinsert"];

  6. SPListItem newItem = interviewList.Items.Add();

  7. newItem["interview"] = "interview";

  8. newItem.Update();

  9. }

  10. }

14) How would you loop using SPList through all SharePont List items, assuming you know the name (in a string value) of the list you want to iterate through, and already have all the site code written?



  1. SPList interviewList = myWeb.Lists["listtoiterate"];

  2. foreach (SPListItem interview in interviewList)

  3. {

  4. // Do Something

  5. }

15) How do you return SharePoint List items using SharePoint web services?

In order to retrieve list items from a SharePoint list through Web Services, you should use the lists.asmx web service by establishing a web reference in Visual Studio. The lists.asmx exposes the GetListItems method, which will allow the return of the full content of the list in an XML node. It will take parameters like the GUID of the name of the list you are querying against, the GUID of the view you are going to query, etc.

Side Question: I got asked how I built queries with the lists.asmx web service. In order to build queries with this service, one of the parameters that the GetListItems method exposes is the option to build a CAML query. There are other ways to do this as well, but that was how I answered it.

16) When retrieving List items using SharePoint Web Services, how do you specify explicit credentials to be passed to access the list items?

In order to specify explicit credentials with a Web Service, you generally instantiate the web service, and then using the credentials properties of the Web Service object you use the System.Net.NetworkCredential class to specify the username, password, and domain that you wish to pass when making the web service call and operations.

*** Side Question: I got asked when you should state the credentials in code. You must state the credentials you are going to pass to the web service before you call any of the methods of the web service, otherwise the call will fail.

17) What is CAML, and why would you use it?

CAML stands for Collaborative Application Markup Language. CAML is an XML based language which provides data constructs that build up the SharePoint fields, view, and is used for table definition during site provisioning. CAML is responsible for rending data and the resulting HTML that is output to the user in SharePoint. CAML can be used for a variety of circumstances, overall is used to query, build and customize SharePoint based sites. A general use would be building a CAML query in a SharePoint WebPart in order to retrieve values from a SharePoint list.

18) What is impersonation, and when would you use impersonation?

Impersonation can basically provide the functionality of executing something in the context of a different identity, for example assigning an account to users with anonymous access. You would use impersonation in order to access resources on behalf of the user with a different account, that normally, that wouldn’t be able to access or execute something.

19) What is the IDesignTimeHtmlProvider interface, and when can you use it in WebParts?

The IDesignTimeHtmlProvider interface uses the function GetDesignTimeHtml() which can contain your relevant render methods. It was helpful to use in 2003 since it allowed your WebPart to have a preview while a page was edited in FrontPage with the Webpart on it, because the GetDesignTimeHtml() method contains the HTML for the designer to render.

20) What are WebPart properties, and what are some of the attributes you see when declaring WebPart properties in code?

WebPart properties are just like ASP.NET control properties, they are used to interact with and specify attributes that should be applied to a WebPart by a user. Some of the attributes you see with ASP.NET 2.0 properties are WebDescription, WebDisplayName, Category, Personalizable, and WebBrowsable. Although most of these properties come from the System.Web.UI.WebControls.WebParts class, ones like Category come out of System.ComponentModel namespace.

21) Why are properties important in WebPart development, and how have you exploited them in past development projects? What must each custom property have?

Properties are important because WebParts allow levels of personalization for each user. WebPart properties make it possible for a user to interact, adjust, and increase overall experience value with the programmatic assets that you develop without having the need to use an external editor or right any code. A very simple example of exploiting a property would be something like allowing the user to change the text on the WebPart design interface so that they can display whatever string of text they desire.

Each custom property that you have must have the appropriate get and set accessor methods.

22) What are ClassResources? How do you reference and deploy resources with an ASP.NET 2.0 WebPart?

ClassResources are used when inheriting from the SharePoint.WebPart.WebPartPages.WebPart base class, and are defined in the SharePoint solution file as things that should be stored in the wpresources directory on the server. It is a helpful directory to use in order to deploy custom images. In ASP.NET 2.0, typically things such as images are referenced by embedding them as resources within an assembly. The good part about ClassResources is they can help to eliminate recompiles to change small interface adjustments or alterations to external JavaScript files.

23) What is a SharePoint Solution File? How does it differ from WebPart .cab files in legacy development? What does it contain?

A SharePoint solution file is essentially a .cabinet file with all a developers ustom componets suffixed with a .wsp extension that aids in deployment. The big difference with SharePoint solution files is is that a solution:

allows deployment to all WFE’s in a farm

is highly manageable from the interface allowing deployment, retraction, and versioning

Can package all types of assets like site definitions, feature definitions (and associated components), Webparts, etc.

Can provide Code Access Security provisioning to avoid GAC deployments

Just to name a few things…

24) What is a .ddf file and what does it have to do with SharePoint Solution creation?

A .ddf file is a data directive file and is used when building the SharePoint solution bundle specifying the source files and their destination locations. The important thing for someone to understand is that the .ddf file will be passed as a parameter to the MAKECAB utility to orchestrate construction of the SharePoint solution fiel.

25) What file does a SharePoint solution package use to orchestrate (describe) its packaged contents?

The solution Manifest.XML file.

26) What deployment mechanism can you use to instigate Code Access Security attributes for your WebParts?

SharePoint solution files can add in order to handle code access security deployment issues. This is done in the element in the SharePoint solution manifest.XML, which makes it easier to get assemblies the appropriate permissions in order to operate in the bin directory of the web application.

27) What is a SharePoint Feature? What files are used to define a feature?

A SharePoint Feature is a functional component that can be activated and deactivate at various scopes throughout a SharePoint instances, such as at the farm, site collection, web, etc. Features have their own receiver architecture, which allow you to trap events such as when a feature is installing, uninstalling, activated, or deactivated. They are helpful because they allow ease of upgrades and versioning.

The two files that are used to define a feature are the feature.xml and manifest file. The feature XML file defines the actual feature and will make SharePoint aware of the installed feature. The manifest file contains details about the feature such as functionality.

Side Question: I got asked how the introduction of features has changed the concept of site definitions. SharePoint features are important when understanding the architecture of site definitions, since the ONET.XML file has been vastly truncated since it has several feature stapled on it.

28) What types of SharePoint assets can be deployed with a SharePoint feature?

Features can do a lot. For example, you could deploy

Simple site customizations

Custom site navigation



list types

list instances

event handlers


custom actions

just to name a few….

29) What are event receivers?

Event receivers are classes that inherit from the SpItemEventReciever or SPListEventReciever base class (both of which derive out of the abstract base class SPEventRecieverBase), and provide the option of responding to events as they occur within SharePoint, such as adding an item or deleting an item.

30) When would you use an event receiver?

Since event receivers respond to events, you could use a receiver for something as simple as canceling an action, such as deleting a document library by using the Cancel property. This would essentially prevent users from deleting any documents if you wanted to maintain retention of stored data.

31) What base class do event receivers inherit from?

Event receivers either inherit from the SPListEventReciever base class or the SPItemEventReciever base class, both which derive from the abstract base class SPEventReceiverBase.

32) If I wanted to not allow people to delete documents from a document library, how would I go about it?

You would on the ItemDeleting event set: properties.Cancel= true.

33) What is the difference between an asynchronous and synchronous event receivers?

An asynchronous event occurs after an action has taken place, and a synchronous event occurs before an action has take place. For example, an asynchronous event is ItemAdded, and its sister synchronous event is ItemAdding.

34) How could you append a string to the title of a site when it is provisioned?

In the OnActivated event:



  1. SPWeb site = siteCollection.RootWeb;

  2. site.Title += "interview";

  3. site.Update();

35) Can an event receiver be deployed through a SharePoint feature?


36) What is a content type?

A content type is an information blueprint basically that can be re-used throughout a SharePoint environment for defining things like metadata and associated behaviors. It is basically an extension of a SharePoint list, however makes it portable for use throughout an instance regardless of where the instantiation occurs, ergo has location independence. Multiple content types can exist in one document library assuming that the appropriate document library settings are enabled. The content type will contain things like the metadata, listform pages, workflows, templates (if a document content type), and associated custom written functionality.

37) Can a content type have receivers associated with it?

Yes, a content type can have an event receiver associated with it, either inheriting from the SPListEventReciever base class for list level events, or inheriting from the SPItemEventReciever base class. Whenever the content type is instantiated, it will be subject to the event receivers that are associated with it.

38) What two files are typically (this is kept generally) included when developing a content type, and what is the purpose of each?

There is generally the main content type file that holds things like the content type ID, name, group, description, and version. There is also the ContentType.Fields file which contains the fields to include in the content type that has the ID, Type, Name, DisplayName, StaticName, Hidden, Required, and Sealed elements. They are related by the FieldRefs element in the main content type file.

39) What is an ancestral type and what does it have to do with content types?

An ancestral type is the base type that the content type is deriving from, such as Document (0x0101). The ancestral type will define the metadata fields that are included with the custom content type.

40) Can a list definition be derived from a custom content type?

Yes, a list definition can derive from a content type which can be seen in the schema.XML of the list definition in the element.

41) When creating a list definition, how can you create an instance of the list?

You can create a new instance of a list by creating an instance.XML file.

42) What is a Field Control?

Field controls are simple ASP.NET 2.0 server controls that provide the basic field functionality of SharePoint. They provide basic general functionality such as displaying or editing list data as it appears on SharePoint list pages.

43) What base class do custom Field Controls inherit from?

This varies. Generally, custom field controls inherit from the Microsoft.SharePoint.WebControls.BaseFieldControl namespace, but you can inherit from the default field controls.

44) What is a SharePoint site definition? What is ghosted (uncustomized) and unghosted (customized)?

SharePoint site definitions are the core set of functionality from which SharePoint site are built from, building from the SiteTemplates directory in the SharePoint 12 hive. Site definitions allow several sites to inherit from a core set of files on the file system, although appear to have unique pages, thereby increasing performance and allowing changes that happen to a site propagate to all sites that inherit from a site definition. Ghosted means that when SharePoint creates a new site it will reference the files in the related site definition upon site provisioning. Unghosted means that the site has been edited with an external editor, and therefore the customizations are instead stored in the database, breaking the inheritance of those files from the file system.

45) How does one deploy new SharePoint site definitions so that they are made aware to the SharePoint system?

The best way to deploy site definitions in the SharePoint 2007 framework is to use a SharePoint solution file, so that the new site definition is automatically populated to all WFE’s in the SharePoint farm.

Friday, November 13, 2009

Finding Edit mode in Sharepoint page


BrowseDisplayMode : Represents the default display mode.

CatalogDisplayMode : Used for adding controls from a catalog of controls to a Web page

ConnectDisplayMode : Displays a special UI for users to manage connections between Web Part controls.

DesignDisplayMode : Used for changing the layout of Web pages containing Web Part controls.

EditDisplayMode : Displays a UI from which end users can edit and modify server controls


WebPartManager wp = WebPartManager.GetCurrentWebPartManager(Page);

if (wp.DisplayMode == WebPartManager.BrowseDisplayMode)

      Do action here

else if (wp.DisplayMode == WebPartManager.DesignDisplayMode)

     Do action here


     Do action here

Thursday, November 12, 2009

How to make business travel manageable


If you are excited about business travel, thinking it’s a free ticket to see the world, you should stop reading now. But if you are having trouble maintaining your personal life in the face of tons of travel, these tips from a cynical traveler will make life easier for you.

1. Stick with your priorities. When people travel to another city, why do they throw out their to do list for sightseeing in random museums? If you have on your top three things you want in life: go to the gym, stay in touch with friends, read a book a week, then sightseeing is not on the list. You don’t need to do it when you travel. You need to stick to your priorities. If sightseeing is on your priority list, then get a new job, because you have no control over where you sightsee if you have a job with a lot of travel.

2. Eat really well. First of all, you’re not paying for your own food, so you should eat really good, healthy food, which is always more expensive than junk food. Second, if you have a rule for yourself that you always eat well when you travel, then you will actually be healthier from traveling. Most people eat crap when they travel because they are tired and they feel like the calories don’t count because they are across state lines. That attitude will make you burn out faster. I can’t find a link but I’m sure there’s a study to support the hypothesis that you deal with the stress of travel more effectively without McDonald’s.

3. Think of balance in terms of weeks, not days. I know I want to spend time with the Farmer, spend time with the kids, be around for dinner invitations, and tooth-fairy moments. I used to worry about this every day. If I didn’t have breakfast with the kids, then I had to have dinner. Now I think in terms of weeks. If I was gone all week, I take off a day from work to have extra time for my personal life. If you are good at your job, and you travel a lot, no one counts how many days you take off.

4. Get elite status. Somewhere. Anywhere. When everyone is staying overnight at O’Hare, the people who are platinum are getting rebooked first. When you are waiting on the tarmac for an hour at LaGuardia because air traffic control cannot remember how many planes are in the air (which, really, is like, every day) if you get upgraded to first class, you’re drinking free wine and eating firm grapes while you are a prisoner of the airport. To get elite status, it means that every time your company wants to save $50 to put you on another airline, you have to say no. If my company will save more than $300, I’ll travel on an airline that I am not platinum on. Make sure your company knows you’re doing them a favor.

5. Do not agree to stupid meetings for geographical reasons. Just because someone you never want to hang out with lives in Saskatchewan and you’re gonna be there doesn’t mean that all of a sudden you should hang out with him. You have a life. And you surely have stuff you can do that evening besides hang out with a loser. Or maybe he’s only a half-loser. The thing is, you don’t have time for half-losers at home. They are the same everywhere: Still just a distraction from the real work of living the life you want.

The bottom line is that you need to  respect your life. Your life cannot be on hold while you travel. The travel, if it’s really frequent, sort of is your life. So the values you have—be spiritual, be frugal, be healthy—have to prevail during your travel. This is not vacation travel. This is not a vacation from your life. Business travel IS your life.

Friday, November 6, 2009

Sharepoint Interview Questions

What is SharePoint?

SharePoint: A collection of products and software elements which includes InternetExplorer based collaboration functions, modules of process management, search modules and a platform for document management. Share Point can be used for web hosting web sites which access the shared workspaces, information stores and documents, and host defined applications such as blogs.

What is Microsoft SharePoint Portal Server?

MS SharePoint Portal Server is an integrated suite from server side, to help improve organizational effectiveness with the help of providing

- comprehensive content management
- enterprise search
- accelerating shared business processes
- facilitating information sharing across boundaries
- Provides platform which includes server administration, application extensibility and interoperability for IT professionals.

How is SharePoint Portal Server different from the Site Server?

SharePoint Portal Server:

- Web site creation for information sharing and document collaboration is treated as services by SharePoint Portal Server.
- SharePoint server services are key information worker infrastructure that provides additional functionality to the MS Office system applications. Site Server:
- Manages websites with multiple technologies
- Content management, product management, order processing , advertisement serving are some of the functionalities

How is security managed in SharePoint?

Share point uses digital dashboard technology that provides an interface for the purpose of creating web parts and making them appear them on dash boards. The security is applicable throughout the organization.

What is Windows SharePoint Services?

Creation of websites for information sharing and document collaboration will be enabled by Windows SharePoint Services. It provides additional functionality for MS Office system and other desktop applications. It also supports like a platform for the development of applications.

What is a SharePoint site definition?

A SharePoint site definition is a combination of files which reside on the Web server and defines a unique SharePoint site. Every template on the web site tab of New dialog box is utilized a site definition. For example, one site definition defines the Team site, Bank site and another site definition defines the Meeting workspaces like Basic Meeting Workspace, Decision Meeting Workspace, and Social Meeting Workspace etc.

What is CAML?

CAML is an acronym for Categorical Abstract Machine Language. CAML is statically typed, strictly evaluated, and uses memory management automatically. LISP is the first CAML implementation. CAML Light was implemented in C. CAML Special Light is added a powerful module system to the core language, in addition to complete rewriting, Objective CAML is the current implementation of CAML, which adds an object layer.

Also read

How to display information from data source in SharePoint site?

Here, we will learn to apply nice formatting to data that is displayed on our page. We will learn to do this by making use of Cascading Style Sheets. We will also learn how to format our data automatically, depending on the data values (a technique known as conditional formatting). Then we will learn to filter and sort our data, use formulae to perform calculations, and how to split our data up into multiple pages.

Silverlight Interview Questions

Silverlight Interview Questions

What is XAML ?
Extensible Application Markup Language (XAML, pronounced zammel) is a declarative XML-based language created by Microsoft which is used to initialize structured values and objects.

What is the difference between WPF and Silverlight?
Silverlight uses a particular implementation of a XAML parser, with that parser being part of the Silverlight core install. In some cases, the parsing behavior differs from the parsing behavior in Windows Presentation Foundation (WPF), which also has a particular implementation.


Can you name built-in layout panels you have been using with Silverlight?
You are looking for Canvas, StackPanel and Grid


What is Storyboard?
Storyboard is a Silverlight class with controls animations with a timeline, and provides object and property targeting information for its child animations

Given XAML below
<Ellipse x:Name="ellipseTest" Height="20" Width="20" Canvas.Left="0" Canvas.Top="10" />


How can you implement following functionality: clicking left mouse on the ellipse should start ellipse movement to the right, ellipse should stop after moving 200px ?

In the answer you are looking for following steps:

1. Ellipse should have on mouse click event handler: either MouseLeftButtonUp or MouseLeftButtonDown, as following MouseLeftButtonUp=”AnimationStart”

2. Canvas should include Storyboard in the resource section :

<Storyboard x:Name="sbTest">


3. Storyboard should contain double animation object:
<DoubleAnimation Storyboard.TargetProperty="(Canvas.Left)" From="0" To="200" Storyboard.TargetName=”ellipseTest” Duration="0:0:1" />

4. Storyboard.TargetProperty should be set to (Canvas.Left) and Storyboard.TargetName should be set to name of ellipse object i.e. ellipseTest

Given XAML below

<Grid x:Name="LayoutRoot" Background="White">
<Image HorizontalAlignment="Right" x:Name=”img” Width="100"/>


How can you set image Source dynamically from C# application to” test.png” file?

Surprisingly it is not as straight forward as it might sound, but anyone who seriously worked with Silverlight should be easily answer it.

One of the ways is: img.Source = new BitmapImage(new Uri("test.png", UriKind.Relative));

Given XAML below

< Rectangle x:Name="test" Height="20" Width="20" Canvas.Left="0" Canvas.Top="10" />

How can you implement following functionality: clicking left mouse on the box should start box movement to the right, but instead of having linear speed object should move rapidly when it begins, slows down, and then speeds up again before it ends.

In this question you are looking for Key-frame animations, particulary SplineDoubleKeyFrame and Bezier interpolation.

To animate with a key-frame animation:

• Add Translate Transform Property to Rectangle object
< Rectangle x:Name="test" Height="20" Width="20" Canvas.Left="0" Canvas.Top="10" >
X="0" Y="0" />

</ Ellipse>

• Declare the animation and specify its Duration, as you would for a From/To/By animation.
• For each target value, create a key frame of the appropriate type, set its value and KeyTime, and add it to the animation's KeyFrames collection.
• Associate the animation with a property, as you would with a From/To/By animation
• Set KeySpline property to represent accelerate – slow down behaviour

<DoubleAnimationUsingKeyFrames Storyboard.TargetName="saTranslateTransform " Storyboard.TargetProperty="X" Duration="0:0:2"">
<SplineDoubleKeyFrame Value="200" KeyTime="0:0:2" KeySpline=" 0.0,1.0 1.0,0.0 " />


1) How to perform Event handling in silver light?.

Silverlight 1.0 uses JavaScript, while Silverlight 2.0 uses C# (managed code) for event handling. We will be describing the event model for Silverlight 2.0.
The event handlers are defined in the code-behind file that backs the XAML definition of your User Interface (UI), namely mypage.xaml.cs.
The Silverlight Event Mode
In Silverlight, there are two event cases:
Input events
Non-input events.
Input Events: The browser that hosts the Silverlight plug-in handles initial input stimulus for the input events. This is because Silverlight works within the plug-in architecture of the hosting browser. From the browser, the event is sent to the Silverlight plug-in.
Then, it is raised as an event in the Silverlight Object Model.
Non-input Events: They report a state change to a particular object, for example, the state change events that report asynchronous download state or progress of actions initiated by Web Client. Some non-input events provide lifetime information of objects at a framework level.
For example the FrameworkElement.Loaded event
Some events, such as OnError, can only be handled by the Silverlight plug-in instance and exist within the HTML Document Object Model (DOM). These events need to be continually exposed and possibly handled by any script working with the plug-in instance in the DOM. Therefore; these events are not passed to the managed programming model.


Can we add the reference of a Class library project in Silverlight application project?

No, You can't add the reference of a Class library inside the Silverlight application project. You can only add the reference of another Silverlight application project inside a Silverlight application project.
However, you can add the reference of a Web Service or WCF services.


What is Silverlight.js file?

Silverlight.js is a helper file which enables Web sites to create advanced Silverlight installation and instantiation experiences.

What is the .xap file inside ClientBin folder of consuming Silverlight application?

Following is a very good FAQ about the .xap posted on page.
What does XAP mean?
XAP (pronounced ZAP) is the file extension for a Silverlight-based application package (.xap). This file contains the compressed assemblies and resources of a Silverlight 2 application.
What is a .xap file?
A .xap file is a Silverlight-based application package (.xap) that is generated when the Silverlight project is built.
Why is XAP important?
Tools, such as Visual Studio 2008 with the Microsoft Silverlight Tools Beta 2 for Visual Studio 2008, allow you to create Silverlight applications that are heavily client based using managed code. You can use managed code, such as C# or Visual Basic, and benefit by using the tools that you are used to working with.
How does XAP work?
Once you have created the .xap file (explained below), the Silverlight 2 plug-in downloads the file and runs it in a separate work space.
How do I use a .xap file?
A .xap file is used to contain and transfer the assemblies and resources of a managed code application. This managed code application must be run within the Silverlight 2 browser plug-in.

What is the use of ClientBin folder?

ClientBin folder is used to place the .xap file of Silverlight application. You can keep this anywhere in your web application but this is the default that is used by the Silverlight.


What is the parent xaml tag of Silverlight page?

UserControl is the parent xaml tag of the Silverlight page. All other tags are placed under UserControl tag.

<UserControl x:Class="SilverlightApplication2.MainPage"
xmlns:x="" Width="400" Height="300"><Grid x:Name="LayoutRoot" Background="White"></Grid></UserControl>
How to change the default page of the Silverlight application?

To change the default page of Silverlight application, you need to set the RootVisual property inside the Application_Startup even of App.xaml file.

private void Application_Startup(object sender, StartupEventArgs e)
{this.RootVisual = new YourPage();}
When you create a new project in Silverlight through Visual Studio, how many xaml files are created and what are the uses of those files?

When we create a Silverlight application from Visual Studio, two (2) xaml files are created into the Silverlight project.

They are:

1. App.xaml - App.xaml is a file used to declare shared resources like brushes, various style objects etc. and to handle the global application level event (this is almost similar to global.asax file in application). By default following events are created in the App.xaml.cs file.





2. MainPage.xaml or Page.xaml - This page is the default page of the Silverlight application and when the silverlight application runs this becomes the default page to appear (this page is like the default.aspx page of application)


Which programming language can be used to write the backend of the Silverlight application?

We can either use Visual C# or Visual Basic to code the backend of the silverlight application. Here backend means the code behind files for the Sivlerlight pages.


Which language is used to design the layout in Silverlight?

To design the layout of the Silverlight application, XAML language is used.

Extensible Application Markup Language (XAML, pronounced zammel [ˈzæmɫ̩]) is a declarative XML-based language created by Microsoft which is used as a user interface markup language to define UI elements, data binding, eventing, and other features.


How to set Silverlight contents width as 100%?

Generally you can't set the UserControl width in % like 100% so that the Silverlight contents can spread in the full screen.

To get the 100% width of the screen you can set width="auto" and height="auto".


Can you provide a list of Layout Management Panels and when you will use them?Canvas Panel:
use a canvas for simple layouts and when there is no need to resize panel. Controls can overlapped each other when resizing the panel.

Stack Panel:
use this for grouping controls in a stack (horizontal/vertical). Controls do not overlapped.

Grid Panel:
most flexible, multi row/columns layouts. Similar to a HTML table


How can style elements be applied? (similar to a CSS file/skins)

Styles elements are supported in the form of application resources. An app.xaml file can be created containing an application resource Xml construct. The target type for each style is set to the control on which the style needs to be applied.



<Style x:Key="MyBorder" TargetType="Border">

<setter property="width" value="5">


<Border Style="{StaticResource MyBorder}">



What is Silverlight?

Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of Microsoft .NET–based media experiences and rich interactive applications for the Web.


Does silverlight web application work with all browsers ?

Yes, A web application developed by silverlight technology can work with any browser


Is Silverlight plug-in free?

Yes, Microsoft will make the Silverlight browser plug-in freely available for all supported platforms.


Is Silverlight the official name for "WPF/E"?

Yes. Silverlight was formerly code-named "WPF/E."


What is the long-term goal or vision for Silverlight?

Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of .NET-based media experiences and rich interactive applications (RIAs) for the Web. Silverlight offers a flexible programming model that supports AJAX, Visual Basic .NET, C#, Python, and Ruby and integrates with existing Web applications. Silverlight media capabilities include fast, cost-effective delivery of high-quality audio and video to all major browsers including Mozilla Firefox, Apple Safari, and Windows Internet Explorer running on Mac OS or Microsoft Windows. By using Microsoft Expression Studio and Microsoft Visual Studio, designers and developers can collaborate more effectively using the skills they have today to light up the Web of tomorrow. -------------------------------------------------------------------------------------------------------------

What are the main features and benefits of Silverlight?

Key benefits of Silverlight include:

1. Compelling cross-platform user experiences

Deliver media experiences and rich interactive applications (RIA) for the Web that incorporate video, animation, interactivity, and stunning user interfaces (UIs).

  • Seamless, fast installation for users, thanks to a small, on-demand, easy-to-install plug-in that is under 2 megabyte (MB) in size and works with all leading browsers.

  • Consistent experiences on Windows and on Mac OS without any additional installation requirements.

  • Create richer, more compelling Web experiences that take greater advantage of the client for increased performance.

  • Stunning vector-based graphics, media, text, animation, and overlays enable seamless integration of graphics and effects into any existing Web application.

  • Enhance existing standards/AJAX-based applications with richer graphics and media and improve their performance and capabilities by using Silverlight.

2. Flexible Programming Model with Collaboration Tools

Based on the Microsoft .NET Framework, Silverlight enables developers and designers to easily use existing skills and tools to deliver media experiences and RIAs for the Web.

  • Choice of programming languages such as AJAX, Visual Basic .NET, C#, Python, and Ruby offers developers and designers the flexibility to use their existing skills without the need to learn a new language.

  • Simple integration with existing Web technologies and assets means Silverlight works with any back-end Web platform or technology. No "rip and replace" required. Silverlight integrates with your existing infrastructure and applications, including Apache and PHP, as well as with JavaScript and XHTML on the client.

  • Role-specific tools for both designers and developers that take advantage of Web standards and the breadth of the Microsoft .NET-connected software features.
  • Designers will like that Expression Studio creates interactive UIs and media rich experiences, prepares media for encoding and distribution, and creates World Wide Web Consortium (W3C) standards-compliant sites by using modern XHTML, XML, XSLT, CSS, and Microsoft ASP.NET.

  • Developers will use Visual Studio for development of client and server code with full Microsoft IntelliSense, powerful debugging, rich language support, and more.

  • Consistent presentation model using XAML, the declarative presentation language used in Windows Vista applications. Controls, visual designs, media, and other elements can be presented with full design fidelity in both Silverlight and Windows-based applications.

  • Dramatically improved performance for AJAX-enabled Web sites with the power, performance, and flexibility of Silverlight and .NET-connected software
3. High-quality media, low-cost delivery
  • Unified media format scales from high definition (HD) to mobile with Windows Media Video (WMV), the Microsoft implementation of the Society of Motion Picture and Television Engineers (SMPTE) VC-1 video standard, as well as support for Windows Media Audio (WMA) and MP3 audio.

  • Add vector-based graphics and overlays to media with support for integration of graphics that scale to any size and broadcast-style overlays for tickers and closed captioning.

  • Flexible ad-insertion solutions with video and animation including the ability to deliver fluid, broadcast-style video or animated advertisements without any loss of visual fidelity or motion quality.

  • Lower-cost media streaming with Emmy Award–winning Windows Media technologies that can significantly lower the cost of streaming delivery with the flexibility to work with existing Windows Media streaming deployments. Even further cost reductions are possible with the upcoming Microsoft Internet Information Services (IIS) Media Pack for Windows Server Code Name “Longhorn.”

  • Broad ecosystem of media tools, servers, and solutions compatible with the Windows Media operating system.

  • Powerful encoding tools for live and on-demand publishing of media experiences with Expression Media Encoder, including hardware-accelerated encoding of WMV and VC-1 at up to 15 times the performance of software alone when paired with a Tarari Encoder Accelerator board (based on Tarari internal tests).
4. Connected to data, servers, and services
  • Create mash-ups by incorporating data and services from anywhere on the Web by using Silverlight support for LINQ and LINQ-to-XML. Access data with common protocols like JSON, RSS, POX, and REST.

  • Increase discoverability of RIA content that can be indexed and searched, thanks to the Silverlight text-based XAML format.

  • Rapidly scale Silverlight applications by using SilverlightTM Streaming by Windows Live


Is the re-released Silverlight Beta different from "WPF/E" February 2007 Customer Technology Preview (CTP)?
Yes, the Beta is a new release. Read more about what is new in the Beta in the What's New in the Silverlight February 2007 CTP whitepaper.


How do Silverlight 1.0 Beta and Silverlight 1.1 Alpha differ?

Silverlight 1.1 Alpha builds on the Silverlight 1.0 Beta to add managed code programmability and a managed object model.


Can I deploy Silverlight-based applications with the CTP?

Yes. Although Silverlight Beta releases are for evaluation and testing purposes, it has a go-live license enabling commercial deployment. Note that although commercial deployments are enabled, the software is still in Beta and the support is thus limited.


Is there an expiration date for the Beta?

Yes, the Beta expires on August 1, 2007. An update will be available prior to the expiration. Upon expiration, the client will prompt you with an expiration notice and ask you to upgrade. Web developers will be able to offer the update programmatically, making the experience easy for their users.


Is Microsoft on schedule to ship Silverlight in the first half of this year?



What features are available in the Silverlight 1.0 Beta?

Silverlight 1.0 Beta includes:

  • Enhanced Web audio and video streaming and playback with industry-leading Windows Media technologies tapping into the existing ecosystem of tools, servers, and solutions, as well as new features for interactive video, overlays, ad presentation, and more.

  • A cross-platform, cross-browser plug-in with fast and easy install (Beta plug-in is approximately 2 MB) for Mac OS and Windows operating systems.

  • Easy integration with client-based and server-based AJAX solutions including ASP.NET AJAX. This empowers developers to use standards-based Web techniques to enhance AJAX applications with Silverlight.

  • Lower-cost deployment and distribution of streamed audio and video when compared to other comparable solutions (up to 50% less cost reported by content delivery networks (CDNs).

  • Broad support of tools for designers, developers, and video professionals, that tap into Web standards plus a breadth of Microsoft application platform features:

For designers, Expression Design and Expression Blend 2 May Preview for creating XAML-based rich interfaces. Expression Web for Web-standards-based design using XHTML, XML, XSLT, and ASP.NET for building compelling modern Web sites.

  • For video professionals, Expression Media, a full-featured digital asset management and video encoding solution for the enhancement, compression, and publishing of video for Silverlight.

  • For developers, Visual Studio–based support for Web standards development including ASP.NET AJAX with full IntelliSense editing for client script and server code.


What features are available in the Silverlight 1.1 Alpha?

The Silverlight 1.1 Alpha includes all the features available in Silverlight 1.0 Beta plus a number of new features focused primarily on improving the developer productivity and power, including:

  • Managed code support

  • Support for dynamic languages including managed Microsoft JScript and Python

  • Rich UI control model based on WPF

  • Improved networking stack with support for REST, RSS, JSON, and POX

  • Enhanced, two-way HTML/AJAX bridge

  • Comprehensive and consistent base class library

  • Support for LINQ (LINQ to Objects, LINQ to XML)


Which platforms and browsers will Silverlight support?

Silverlight will support all major browsers on both Mac OS X and on Windows. Particular care is being taken to account for differences in platform and browser capabilities to ensure a consistent experience including experiences on FireFox, Safari, and Internet Explorer.


What Macintosh OS versions and hardware will be supported?

Macintosh OS X 10.4.8 or later will be supported for both Power PC–based and Intel-based hardware via a Universal Binary.


How will Silverlight be distributed by Microsoft?

Microsoft designed Silverlight to fit a broad range of uses that require reach and a compelling user experience. Many Microsoft projects will be using Silverlight for delivering richer user experiences and applications for the Web.


Is the installation experience of the Beta representative of what customers will see when released?

The installation experience for the Beta is close to the final installation experience. The final release will be even more refined.


Will I need more memory, a faster processor, or a better Graphics Processing Unit (GPU)?

Microsoft designed Silverlight with the ability to deliver high-fidelity experiences on the broadest set of system configurations. Some features, such as HD video, may benefit from newer personal computers. Final system requirements will be available at release.


Is Microsoft considering support for additional operating systems?

Microsoft is gathering feedback from customers like you on Silverlight and to help determine which platforms should be supported in the future.


Which devices will be supported?

Device platforms are being considered based on customer feedback.


Where can I go to install Silverlight?

Go to the Silverlight installationpage to start.


How do I ensure that the installation of Silverlight will be successful?

For most customers, these steps help:


I have still have problems with installation, where do I go for help?

Silverlight is still in beta. However, many people get answers to their questions about installation through the Silverlight Installation and Setup forum.


I installed Silverlight successfully and I still have problems viewing web sites with Silverlight, where do I go for help?

The installation and setup forum can address those questions quite efficiently. For specific issues with this site you can also send an e-mail message to:


How do I uninstall Silverlight?

Follow the instructions on the Uninstalling previous versions of Silverlight.


Questions related to silverlight Development

Can I redistribute the Silverlight 1.0 Beta release?

Yes, the Silverlight 1.0 Beta release offers a Go-Live license. Hence, you can begin building applications that target Silverlight immediately. Silverlight 1.1 Alpha does not offer a Go-Live license at this time.


Can I redistribute the Silverlight 1.1 Alpha release?

No, Silverlight 1.1 Alpha does not offer a Go-Live license at this time.


Where can I find Silverlight and associated Software Development Kits (SDKs) for download?

Silverlight betas and released versions can be found on the Microsoft Silverlight site. Developer and designer resources such as the SDK and CTP releases can be found at the MSDN Silverlight site. Another great resource for getting started with Silverlight is the newly launched Silverlight community site.


How can I build experiences and applications with Silverlight?

Silverlight development tools include role-specific productivity tools for both designers and developers:

  • Expression Studio empowers designers to create interactive UI and media-rich experiences, prepare media for encoding and distribution, and create W3C standards-compliant sites using modern XHTML, XML, XSLT, CSS, and ASP.NET. Expression Design includes support for exporting XAML for Silverlight. At MIX 07, Microsoft released Expression Blend 2 May Preview and Expression Media Encoder Preview to enable designers to build media experiences and RIAs.

  • Visual Studio empowers developers to develop client and server code using full IntelliSense, powerful debugging, rich language support, and more.

By using Expression Studio and Visual Studio, designers and developers can collaborate more effectively using the skills they have today. Additionally, Silverlight supports a consistent subset of XAML (eXtensible Application Markup Language) for declarative programming, the same format found in .NET 3.0. Because XAML is toolable, there is always the potential for third-parties to provide additional XAML-based Silverlight tools in the future.


Are the features of the Macintosh and Windows releases of Silverlight fully compatible?



When would a customer use Silverlight instead of ASP.NET AJAX?

Silverlight integrates with existing Web applications, including ASP.NET AJAX applications. Thus, ASP.NET AJAX and Silverlight are designed to be complementary technologies. In the broader sense, Silverlight can talk to any AJAX application, both client-side and server-side. In addition, ASP.NET AJAX can be used to control Silverlight-based visualization of data or delivery of rich experiences. Examples might include mapping applications or video playback with rich presentation.

ASP.NET AJAX and Silverlight at final release will also benefit from being a fully supported technology from Microsoft with the benefits of technical support around the clock and the breadth support of the Microsoft development community. AJAX is a fundamental technology supported in Silverlight and now, in ASP.NET.

Customers can enhance existing ASP.NET or ASP.NET AJAX applications by using Silverlight’s media experiences and RIAs.


What is the ASP.NET Futures (May 2007) release?

The Microsoft ASP.NET Futures May 2007 (“Futures”) release contains an early developer preview of features providing a wide range of new functionality for both ASP.NET and Silverlight. The Futures release includes early experimental versions of features currently under consideration for future versions of ASP.NET and the .NET Framework. The Futures releases assume prior knowledge of the core features of ASP.NET, including the previous ASP.NET AJAX Futures January CTP.


How does Silverlight make the Microsoft development system better?

Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of media experiences and rich interactive applications (RIAs) for the Web. Examples include:

  • For ASP.NET-based Web applications, Silverlight provides a rich UI front-end that, with a consistent programming model, adds support for richer interactivity, media, and audio.

  • For Microsoft SharePoint–based content, Silverlight offers the ability to create rich Web parts.

  • For Windows Live services, Silverlight offers the ability to consume services and APIs more effectively.


When would a customer use Silverlight instead of Windows Presentation Foundation (WPF)? Is Silverlight more appropriate for certain types of applications?

WPF and Silverlight are complementary platforms, based on XAML for presentation:

  • WPF provides a unified programming model for building the best Windows Vista era of smart-client user experiences that incorporate UI, 3D, media, and documents.

  • Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of media experiences and RIAs for the Web by using a consistent subset of WPF features and the flexibility of AJAX for programmability.

Thus, both WPF and Silverlight enable developers and designers to develop visually stunning user experiences, but they are designed for different scenarios.


What are the key features of the ASP.NET Futures May 2007 release?

ASP.NET Futures includes a number of new, innovative solutions that help developers become more productive and enables them to create better user experiences for their customers. Silverlight-related features include:

  • Silverlight Controls for ASP.NET. Enables the ability to include media (video, audio) vector graphics and animations by using familiar and powerful ASP.NET server controls

  • ASP.NET Application Services. Offers new application services to make AJAX and Silverlight Web applications more discoverable from search engines and easily searchable from within the site. Additional services help you gather and analyze data about client errors.


Where can I go to connect with other Silverlight developers to ask questions?

For Silverlight-related forums, blogs, and community resources for the CTP, visit the Silverlight Support and Community page.


Questions related to Media (audio and video)

What is the relationship between Silverlight and Windows Media technologies?

Silverlight builds on top of Windows Media in a fashion similar to the Xbox XDK (Xbox Development Kit), enabling developers and designers to collaborate in building media experiences and RIAs. Silverlight is released by the Server and Tools Division at Microsoft as a part of the .NET Framework.


Is Silverlight a new media player?

No. Silverlight is a cross-browser, cross-platform plug-in for delivering media experiences and RIAs. It is not a desktop application or stand-alone media player.


What is the relationship between Silverlight and Windows Media Player?

The Silverlight browser plug-in is a separate component, independent of Windows Media Player. Silverlight is designed for delivery of cross-platform, cross-browser media experiences and rich interactive applications (RIAs) inside a Web browser combining audio, video, animation, overlays, and more. Windows Media Player delivers a breadth of local playback and user focused experiences, while also offering support for application and Web page embedding.


Do I need to have the latest version of Windows Media Player installed?

No. Silverlight is completely independent and when installed is less than 2 MB in size.


What audio or video formats are supported in Silverlight?

Silverlight supports Windows Media Audio and Video (WMA, WMV7–9) and VC-1, as well as MP3 audio. Additional formats may be available by the final release based on customer feedback.


Will Silverlight support all the codecs Windows Media Player supports?

Since Silverlight is a lightweight cross-platform technology, it only carries the most common codecs that are needed for Web playback. However, we are gathering information from customers about the needed codecs and can update Silverlight when necessary.


What is SMPTE VC-1?

VC-1 is an industry-standard video format, recognized by the Society of Motion Picture and Television Engineers (SMPTE), and most notably ships in all HD-DVD and Blu-ray Disc–certified electronics, hardware, and tools. Windows Media Video 9 (WMV-9) is the Microsoft implementation of the SMPTE VC-1 standard video codec. Microsoft initiated development of the standard with the release of WMV-9 to SMPTE.


Will Silverlight support HD quality?

Yes, Silverlight supports 720p, HD quality with considerable performance benefits over other solutions. Performance is dependent upon the central processing unit (CPU) capabilities of your computer and configurations. Generally, in testing, a 3-gigahertz (GHz) CPU and/or dual-core support greatly benefit the HD playback experience.


Will Silverlight work with my new or existing Windows Media services platform for streaming?

Yes, in the final release. The CTP supports progressive download and playback from any server. In its final release, Silverlight will take advantage of Windows Server features for streaming.


Will Silverlight support live streaming events as well as downloading media?

Yes, in the final release. The February CTP is optimized for progressive "download and play" scenarios to test the platform.


Does Silverlight support MPEG4 and H.264 video, or Advanced Audio Coding (AAC) audio, or Flash video?

No. However, content from many of these formats can be transcoded into formats that are supported by Silverlight, such as by an automated server function (many available third-party solutions support this workflow), and then incorporated into a Silverlight-based application.

Will Silverlight support the full range of APIs offered by the Windows Media Player ActiveX control today?

We are actively speaking to customers and partners about their needs.


Will Silverlight support digital rights management?

For content providers, Silverlight will support digital rights management (DRM) built on the recently announced Microsoft PlayReady content access technology on Windows-based computers and Macintosh computers.


Will Silverlight-based applications run in Media Center? What about Media Center Extender?

Silverlight-based applications can run in Media Center but may have rendering issues on Media Center Extenders. Applications that are implemented using the Media Center SDK will provide a better experience. The engineering team is actively evaluating customer requirements for a variety of scenarios moving forward.


Are there any new tools for creating and publishing media content with Silverlight?

Yes. The recently announced Expression Media Encoder, a feature of Expression Media, will support live and on-demand encoding and template-based publishing of Silverlight-based experiences and applications. In addition, Silverlight works with the broad range of Windows Media encoding tools and utilities available today. Additional details will be made available shortly.


Questions related to Server and services

Will Silverlight-based applications and content run on any Web Server? What are the benefits to running it on servers running Windows?

Silverlight works with any web server just like HTML. Video and audio content can also be progressively downloaded and played back from any Web server platform. Benefits of Windows server-based distribution of Silverlight applications include Windows Media Services with Fast Stream (instant playback) and Fast reconnect technologies, lower distribution costs (streaming users only download what they watch), and tap into the full Windows server ecosystem of platform components and partner solutions. Those benefits will be enhanced in the future version of Windows Server (code name “Longhorn”) and with Internet Information Server 7 (IIS).


What features are missing from Silverlight presentation markup that will be supported in WPF (Windows Presentation Foundation)?
Some high-end Windows specific features of WPF, such as real 3D, hardware-based video acceleration, and full document support, will not be supported in Silverlight. This is by design in order to serve Silverlight’s cross-browser, cross-platform reach scenario that demands a light weight plug-in. That being said, Silverlight will offer a uniform runtime that can render identical experiences across browsers on both Mac OS and Windows.


When would a customer use Silverlight versus ASP.NET AJAX?

Silverlight integrates with existing Web applications, including ASP.NET AJAX applications. Consequently, ASP.NET AJAX and Silverlight are designed to be complementary technologies. In the broader sense, Silverlight can communicate with any AJAX application, both client and server-side. ASP.NET AJAX can additionally be used to control Silverlight-based visualization of data or delivery of rich experiences. Examples might include mapping applications or video playback with rich presentation.

ASP.NET AJAX and Silverlight at final release will also benefit from being a fully supported technology from Microsoft, with the benefits of 24-hour technical support and the breadth of support of the Microsoft development community. AJAX is a fundamental technology supported in Silverlight and now by ASP.NET.

You can enhance existing ASP.NET or ASP.NET AJAX applications by using the Silverlight media experiences and rich interactive applications.


Is Microsoft making new server investments for creation and delivery of digital media?

Windows Server “Longhorn” raises the bar significantly on security, reliability, and robustness, and it is already considered to have excellent live and streaming delivery. New investments are being made in two key areas: IIS 7.0 and Windows Media Services.

  • Windows Media Services (WMS): Under development for Windows Server “Longhorn” to provide advanced streaming media support, enabling significantly more scalable live and on-demand broadcasts that build on the industry-leading availability, cost-efficiency, and uptime offered by Microsoft Windows Server 2003 today. Silverlight joins the list of client platforms that can connect to and present WMS streamed audio and video as an integrated part of media-enabled applications for the Web, whether you are building a simple cross-platform, browser-based media experience or a rich interactive application (RIA) for the Web.

  • IIS 7.0: For customers who prefer to use IIS for progressive download of media-enabled applications and experiences, Microsoft is announcing the IIS 7.0 Media Pack. The IIS 7.0 Media Pack reduces the cost of delivering downloaded content, such as media, thanks to bit-rate throttling. The IIS 7.0 Media Pack will be a free download for customers of Windows Server “Longhorn” later this year.


Questions related to Silverlight Globalization and localization

Is Silverlight supported on various locales?

Silverlight installs on localized versions of Macintosh computers and Windows. At this time, the installation is available in an international English format. Final releases will render international text (using double-byte characters) and support the full 64K Unicode character set. Silverlight uses simple input mechanism that treats all the languages in the same way.


What are the different ways to display text with Silverlight?

Silverlight supports displaying static preformatted text that is comprised out of glyph elements and also dynamic text that uses TextBlock. With glyphs, one needs to position the characters individually while TextBlock supports simple layout.


What kinds of fonts are supported with Silverlight?

Beyond standard and western fonts, Silverlight also supports East Asian characters, double-byte characters, and can work with any East Asian font or Middle Eastern font by using the glyphs element and a supporting TrueType font file that supports the requested glyph.


Questions related to Silverlight Streaming

What is Microsoft® SilverlightTM Streaming by Windows LiveTM?

Microsoft® SilverlightTM Streaming by Windows LiveTM offers a free cloud-based hosting and streaming solution for quickly delivering high-quality, high-scale, cross-platform, cross-browser, media-enabled RIAs.


How much does SilverlightTM Streaming cost?

While the product is in Beta, hosting is free of charge. Up to 4 GB of data and streaming is free of charge up to 700 kilobit/s. At the conclusion of the Beta program, the developer can chose to enable Microsoft-sponsored advertising in the application for continued free use of the service to or subscribe to a pay-for-use service that is free of advertisements.


How much is the pay-for-use service if I chose not to use Microsoft-sponsored advertising?

We’re not prepared to discuss the final pricing of the nonadvertising-based product at this time except to say that it will be extremely cost competitive. The advertising-based product will continue to be free in perpetuity.


How much storage do I get and what is the bit-rate?

A user receives 4 GB of free storage for SilverlightTM Streaming applications. Each media element in a SilverlightTM Streaming application cannot exceed a 10-minute uninterrupted video stream at 300 kilobit/s. The peak outbound bit rate for SilverlightTM Streaming is 700 kilobit/s. As the limit is set based on byte size instead of duration, by using the full bandwidth of 700 kilobit/s, the video will be truncated to approximately 4 minutes. Customers requiring additional capabilities are encouraged to contact aWindows Media Streaming Hosting Provider.


What video encoding formats are supported?

The designer or developer is free to use any encoding format for their video supported by the Windows Media Video codec. This includes Variable Bit Rate (VBR) encoding for DVD-quality video and the use of the VC-1 codec for high-definition content. However, for HD content, be aware that the maximum output rate from the service is 700 kilobit/s, which means the client will not receive real-time delivery of HD video.


What is the difference between SilverlightTM Streaming and other video sharing services?

SilverlightTM Streaming is focused on developers who want to build their own media-rich applications or Web sites. Unlike other video sharing services, there are no third-party branding requirements for the use of SilverlightTM Streaming, and the developer is in full control over their rich media experience within the context of their Web site. This includes items that are not presently supported on other sites such as 16:9 aspect ratio video, DVD-quality video, stereo audio, and customized UI (XAML).


Does SilverlightTM Streaming replace other video and file sharing services?

This service does not replace other video or file sharing services. SilverlightTM Streaming is intended to allow developers the power and flexibility to build such services themselves, and more. Customers requiring additional capabilities are encouraged to contact a Windows Media Streaming Hosting Provider.


What steps are being taken to ensure copyrighted content or illegal material is not uploaded?

The media owners as well as the Silverlight developers rendering content in their third-party Web sites are responsible for respecting the copyright of the content they expose. Microsoft reserves the right to remove from our servers any copyrighted content brought to our attention. The front page of our service has a Report Abuse button and the free-of-charge XAML templates that we provide include a similar button.


Can I string together longer clips made of 10-minute files in a playlist?

Yes, so long as the total size of your Silverlight application content does not exceed the 4-GB storage limits of this free service.


What scalability does this system deliver? What if I have a large number of visitors to my Web site at the same time?

This service uses the Microsoft content delivery network specifically optimized for long-form video content. It has a provisioned global aggregate data rate in excess of 1 terabit/second.


Does this solution compete with content delivery networks (CDNs)?

No, this service uses the Microsoft CDN for the low latency delivery of media, and it does not compete with CDNs because it is specifically optimized for use with Silverlight RIAs. Customers requiring additional capabilities including guaranteed service levels are encouraged to contact a Windows Media Streaming Hosting Provider.


Why is this service branded with Windows LiveTM?

This service is part of the Windows LiveTM Platform.


It’s free—what’s the catch?

There is no catch. This is a new offering designed to accelerate the development of the next generation of media rich applications.


Can I tap into other Windows LiveTM services?

Yes, customers are able to use Windows Live IDTM and other Windows Live APIs today and in the future. Silverlight provides a great platform to consume these services.


Do you support digital rights management to protect my videos?

In the future, SilverlightTM Streaming will provide support for DRM-encoded video as an optional paid turnkey offering.


What applications will Microsoft provide to make hosting easy?

Microsoft is building a simple uploading tool and working to add publishing support directly to SilverlightTM Streaming via ExpressionTM Media Encoder, a feature of ExpressionTM Media. In addition, third-party companies are adding support to their own applications for SilverlightTM Streaming.


How is my content secured from unauthorized access?

You will have to be signed into the SilverlightTM Streaming service to manage your account and your Silverlight applications. Your SilverlightTM Streaming ID and secret key, associated to your Windows Live ID, will authenticate you as the unique and legitimate owner of the applications and content you upload to the service. You will also need this information to manage your Silverlight applications using the API. The SilverlightTM Streaming ID is public. However, the secret key should be kept confidential.


How do I get started?

To sign up for your free account, visit Anyone with a Windows Live ID can participate.


Can Microsoft® SilverlightTM Streaming service be used for non-video files such as music files?

Yes. All valid content encoded for Silverlight applications and presented with Silverlight can be used. This includes music files such as WMA and MP3. Business logic written in JavaScript can also be stored and streamed to the client, and in the future, any SilverlightTM Dynamic Language Runtime assemblies can also be used.


How does the service stream content?

Content is streamed progressively using a progressive download mechanism today. Active streaming support using Windows Media Services is being considered based on customer feedback in the future.


Can I stream live content/events?

No, the service only supports on-demand content today. Customers requiring additional capabilities are encouraged to contact a Windows Media Streaming Hosting Provider.


How does XAP work in silverlight?

Once you have created the .xap file (explained below), the Silverlight 2 or 3 plug-in downloads the file and runs it in a separate work space.


How do I use a .xap file in silverlight?

A .xap file is used to contain and transfer the assemblies and resources of a managed code application. This managed code application must be run within the Silverlight 2 browser plug-in.


What are the files contained in the .xap file in Silverlight?

A basic xap file in silverlight will have an assembly related to specific code for the application, an application manifest file and any additional assemblies need to run the application. At a minimum, two files are needed, the application manifest file and the application assembly.

For example:




What is contained in the AppManifest.xaml file in silverlight?

The AppManifest.xaml file contains the deployment details needed to run the silverlight application.


What is the XAP mime type in silverlight?

The .xap mime type is: application/x-silverlight


Which platforms and browsers will Silverlight 2 supports?

Silverlight will support all major browsers on both Mac OS X and on Windows. Particular care is being taken to account for differences in platform and browser capabilities to ensure a consistent experience including experiences on Firefox, Safari, and Internet Explorer. Microsoft will extend the support for Silverlight on Linux through a partnership with Novell.


What is the difference between Silverlight 1 and Silverlight 2

Nothing, Silverlight 2 is a full superset of Silverlight 1.0 - it is 100% compatible with Silverlight 1.0 applications and provides significantly more powerful features and functionality. Silverlight 1.0 applications even benefit from improvements in media playback and performance characteristics of Silverlight 2 with no additional work.


What is Storyboard in Silverlight?

Storyboard is a Silverlight class with controls animations with a timeline, and provides object and property targeting information for its child animations


What is the difference between WPF and Silverlight?

Silverlight uses a particular implementation of a XAML parser, with that parser being part of the Silverlight core install. In some cases, the parsing behavior differs from the parsing behavior in Windows Presentation Foundation (WPF), which also has a particular implementation


What is Silverlight Tool Kit?

To create an application or game you need to design, code and give some extra feature to your output.

To do the above, you need some controls, IDE etc.

Silverlight Tool kit is nothing but is a collection of Silverlight Tools, Components etc. It includes source code describing the all you need to develop an application.