Friday, November 13, 2009

Finding Edit mode in Sharepoint page

URL:

http://www.codeproject.com/KB/sharepoint/SwitchWPMode.aspx

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

Ex:

WebPartManager wp = WebPartManager.GetCurrentWebPartManager(Page);

if (wp.DisplayMode == WebPartManager.BrowseDisplayMode)

      Do action here

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

     Do action here

else

     Do action here

Thursday, November 12, 2009

How to make business travel manageable

URL

http://blog.penelopetrunk.com/2009/11/11/the-cynics-guide-to-business-travel/

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
<Canvas>
<Ellipse x:Name="ellipseTest" Height="20" Width="20" Canvas.Left="0" Canvas.Top="10" />
</Canvas>

-------------------------------------------------------------------------------------------------

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 :

Canvas.Resources>
<Storyboard x:Name="sbTest">

</Storyboard>
</Canvas.Resources>

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"/>
</Grid>

-------------------------------------------------------------------------------------------------------------

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

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

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" >
<Rectangle.RenderTransform>
<TranslateTransform
x:Name="saTranslateTransform"
X="0" Y="0" />
</Rectangle.RenderTransform>

</ 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 " />
</DoubleAnimationUsingKeyFrames>

-------------------------------------------------------------------------------------------------

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 asp.net 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=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 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 asp.net application). By default following events are created in the App.xaml.cs file.

Application_Startup

Application_Exit

Application_UnhandledException

ReportErrorToDOM

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 asp.net 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.

App.xaml:

<Application.Resource>

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

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

</style>


Page.xaml:
<Border Style="{StaticResource MyBorder}">
..

</Border>

-------------------------------------------------------------------------------------------------------------

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?

Yes.

-------------------------------------------------------------------------------------------------------------

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: slbug@microsoft.com.

-------------------------------------------------------------------------------------------------------------

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?

Yes.

-------------------------------------------------------------------------------------------------------------


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 streaming.live.com. 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:


AppManifest.xaml


MyPianoV2.dll


-------------------------------------------------------------------------------------------------------------





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.

Windows Sharepoint - Codes -> Pointing to Share the Knowledge

Hi Friends,
I have learned a some of sharepoint services programming techniques and i've written a combination of vb.net and c#.net both languages are similar to work. just c# have additional concept to learn than VB. So just work around and play around. I think it might be useful for u People. :-) If any Queries Mail me. i'll help u. :-)
Note :
For Beginers to run a console application in the context of Microsoft Windows SharePoint Services 2.0, they must be administrators on the computer where the script is executed. Make sure to add reference which wil be available once if u install sharepoint in your server, so u can insert in application.
How to do that ?

In Solution Explorer, right-click the References node, and then click Add Reference on the shortcut menu. On the .NET tab of the Add Reference dialog box, select Windows SharePoint Services in the list of components, click Select, and then click OK.
On the Visual Studio .NET, File Menu -> New ->Project.
In the New Project dialog box, select Visual Basic Projects or Visual C# Projects in the Project Types box, depending on which language you prefer. In the Templates box, select Console Application. In the Location box, type the path to where to create the application, and then click OK.
And add namespaces in your application when ever you create a new console or asp.net application for sharepoint

Name Spaces Required

using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebControls;

Ok Let us start :-)

---------------------------------------------------------------------

How do I Lists the Contents of Share point Site ?

[Visual Basic .NET]

Overloads Sub Main(args() As String)
Dim siteCollection As New SPSite("http://phoenix")
Dim sites As SPWebCollection = siteCollection.AllWebs
Dim site As SPWeb
For Each site In sites
Dim lists As SPListCollection = site.Lists
Console.WriteLine("Site: " + site.Name + " Lists: " + lists.Count.ToString())
Next site
Console.WriteLine("Press ENTER to continue")
Console.ReadLine()
End Sub 'Main
[C#]
static void Main(string[] args)
{
SPSite siteCollection = new SPSite("http://Server_Name");
SPWebCollection sites = siteCollection.AllWebs;
foreach (SPWeb site in sites)
{
SPListCollection lists = site.Lists;
Console.WriteLine("Site: " + site.Name + " Lists: " + lists.Count.ToString());
}
Console.WriteLine("Press ENTER to continue");
Console.ReadLine();
}
Click Start on the Debug menu or press F5 to run the code.
-------------------------------------------------------------------------------------

How to add users to Windows Share point Site Programmatically?

[C#]
using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebControls;
namespace ConsoleApplication1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
SPSite oSite = new SPSite("http://phoenix");
SPWeb oWeb = oSite.OpenWeb("/");
oWeb.AllowUnsafeUpdates = true;
string LoginName ="Jayavel";
string Email ="jayavelcs@gmail.com";
string Name ="Jayavel Chakravarthy Srinivasan";
string Notes =" ";
SPRole role = oWeb.Roles["Reader"];
role.AddUser(LoginName, Email, Name, Notes);
role.Update();
}
}
}
---------------------------------------------------------------------------------
How do i Programmatically create a Site ?
C#

//Get reference to the portal
SPSite myPortal = new SPSite("http://localhost);
SPWeb myWeb=portal_site.AllWebs["SiteDirectory"];
SPListCollection myWeblists=myWeb.Lists;
//Get reference to the site directory
SPList siteDir= myWeblists["Sites"];
//Add an new entry
SPListItemCollection listItems = siteDir.Items;
SPListItem item = listItems.Add();
//Assign values to the list columns
item["Title"] = objCommunity.Name;
item["Description"] = objCommunity.Purpose;
//update the new list item
item.Update();
-------------------------------------------------------------------------------------
How do I Create Site ?.

SPWeb web = SPControl.GetContextWeb(Context);
SPSite site = SPControl.GetContextSite(Context);
string url = site.Url + "/sites/" + "site1";
string title = "Site Title";
string description = "Site Description";
string siteTemplate= "STS";
string owner1UserName = web.CurrentUser.LoginName;
string owner1DisplayName = web.CurrentUser.Name;
string owner1Email = web.CurrentUser.Email;
string owner2UserName = "";
string owner2DisplayName = "";
string owner2Email = "";
newSite = site.SelfServiceCreateSite(url, title, description, 1033, siteTemplate, owner1UserName,
owner1DisplayName, owner1Email, owner2UserName, owner2DisplayName, owner2Email);
-------------------------------------------------------------------------------------
How do I Add site to sites list in wss?

SPList list = site.AllWebs["SiteDirectory"].Lists["Sites"];
SPListItem item = list.Items.Add();
item["ows_SiteTitle"] = title;
item["ows_SiteURL"] = url;
item["ows_Description"] = description;
item["ows_Owner"] = owner1DisplayName;
item.Update();
-------------------------------------------------------------------------------------

SharePoint : User Management - WSS

Method 1:

Add user to the site groups

SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPRole reader = mySite.Roles["Reader"];
//reader.AddUser(userName,email,displayName,notes);
reader.AddUser("fareast\\jayavel", "jayavelcs@gmail.com", "Jayavel", "Reader");
MessageBox.Show("User addedd");
Method 2:
How do I add role in wss ?

SPWeb newweb = newSite.RootWeb;
newweb.AllowUnsafeUpdates = true;
newweb.Roles.Add("RoleName","Role Description",
newweb.Roles["Administrator"].PermissionMask);
* custom rights example
* newweb.Roles.Add("RoleName","Role Description",
* SPRights.ViewListItems SPRights.ViewPages SPRights.OpenWeb SPRights.BrowseUserInfo);
Method 3:
How do I Add user to role in wss ?

string LoginName ="Login";
string Email ="Email";
string Name ="Name";
string Notes ="Description";
SPRole role = newweb.Roles["Administrator"];
role.AddUser(LoginName, Email, Name, Notes);
role.Update();
-------------------------------------------------------------------------------------
How do I Remove user from the site groups ?

SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPUser user = mySite.AllUsers["fareast\\pavank"];
SPRole reader = mySite.Roles["Reader"];
reader.RemoveUser(user);
MessageBox.Show("User removed");
-------------------------------------------------------------------------------------
SharePoint : User Management - Sharepoint Portal Server

How do I Add user to the cross - site groups?

SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPGroup group = mySite.SiteGroups["MyGroup"];
//AddUser(userName,email,displayName,notes);
group.AddUser("fareast\\sumitba", "sumitba@microsoft.com", "sumitba", "Reader");
MessageBox.Show("User addedd");
-------------------------------------------------------------------------------------
How do I Remove user from the cross - site groups ?
SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPGroup group = mySite.SiteGroups["MyGroup"];
SPUser user = mySite.SiteUsers["fareast\\sumitba"];
group.RemoveUser(user);
MessageBox.Show("User Removed");
-------------------------------------------------------------------------------------
How do I Add cross site group ?

SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPGroupCollection groups = mySite.SiteGroups;
SPUser user = mySite.Users["fareast\\karthisu"];
SPMember member = mySite.Users["fareast\\karthisu"];
groups.Add("NewGroup", member, user, "Test");
MessageBox.Show("Group Added");
-------------------------------------------------------------------------------------
How do I Remove cross site group ?

SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPGroupCollection groups = mySite.SiteGroups;
groups.Remove("NewGroup");
MessageBox.Show("Group Removed");
-------------------------------------------------------------------------------------
How do I Add site group ?

SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPRoleCollection siteGroups = mySite.Roles;
siteGroups.Add("MyGroup", "Description", SPRights.ManageWeb SPRights.ManageSubwebs);
MessageBox.Show("Role Added");
-------------------------------------------------------------------------------------
How do I Remove site group ?

SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPRoleCollection siteGroups = mySite.Roles;
siteGroups.Remove("MyGroup");
MessageBox.Show("Role Removed");
-------------------------------------------------------------------------------------
How do I Set permission to the site group ?

SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPRole reader = mySite.Roles["Reader"];
reader.PermissionMask = SPRights.ManageLists SPRights.ManageListPermissions;
reader.Update();
MessageBox.Show("Permissions updated");
-------------------------------------------------------------------------------------
How do I Add group of users ?
SPWeb mySite = new SPSite("http://phoenix/default.aspx").OpenWeb();
SPUserInfo[] userInfo = new SPUserInfo[2];
userInfo[0].Email = "pavank@microsoft.com";
userInfo[0].LoginName = @"fareast\pavank";
userInfo[0].Name = "Pavank";
userInfo[0].Notes = "Test";
userInfo[1].Email = "sumitbak@microsoft.com";
userInfo[1].LoginName = @"fareast\Sumitba";
userInfo[1].Name = "Sumitba";
userInfo[1].Notes = "Test";
mySite.Roles["Reader"].Users.AddCollection(userInfo);
MessageBox.Show("Users Added");
-------------------------------------------------------------------------------------
How do I Add users to the portal area or portal site level ?

TopologyManager tm = new TopologyManager();
PortalSite ps = tm.PortalSites[ new Uri("http://phoenix") ];
Microsoft.SharePoint.Portal.PortalContext ctx = Microsoft.SharePoint.Portal.PortalApplication.GetContext(ps);
Guid NewsGuid = AreaManager.GetSystemAreaGuid(ctx,SystemArea.News);
PermissionCollection pc = SecurityManager.ManageAreaSecurity(ctx,NewsGuid);
pc.AddUser("fareast\\ramkathi","ramkarthi@microsoft.com","Ram","",PortalRight.AddListItems);
MessageBox.Show("User Added");
-------------------------------------------------------------------------------------
How do I Remove user from portal Area ?

TopologyManager tm = new TopologyManager();
PortalSite ps = tm.PortalSites[ new Uri("http://phoenix") ];
Microsoft.SharePoint.Portal.PortalContext ctx = Microsoft.SharePoint.Portal.PortalApplication.GetContext(ps);
Guid NewsGuid = AreaManager.GetSystemAreaGuid(ctx,SystemArea.News);
PermissionCollection pc = SecurityManager.ManageAreaSecurity(ctx,NewsGuid);
Area news = AreaManager.GetArea(ctx, AreaManager.GetSystemAreaGuid(ctx, SystemArea.News));
SPUser user = news.Web.SiteUsers["fareast\\ramkathi"];
pc.Remove(user);
MessageBox.Show("User Removed");
-------------------------------------------------------------------------------------
How do I Add a user to the portal area level at site group ?

TopologyManager tm = new TopologyManager();
PortalSite ps = tm.PortalSites[ new Uri("http://phoenix") ];
Microsoft.SharePoint.Portal.PortalContext ctx = Microsoft.SharePoint.Portal.PortalApplication.GetContext(ps);
Guid homeGuid = AreaManager.GetSystemAreaGuid(ctx,SystemArea.Home);
Area home = AreaManager.GetArea(ctx, homeGuid);
PermissionCollection spc = SecurityManager.ManageSiteSecurity(ctx);
SPRole reader = home.Web.Roles["Reader"];
//reader.AddUser("domain_name\\alias","email_address","user_name","display_name");
reader.AddUser("fareast\\pavank", "pavank@microsoft.com", "Pavan", "Reader");
MessageBox.Show("User Added");
-------------------------------------------------------------------------------------
How do I Remove a user from the portal area level at site group ?

TopologyManager tm = new TopologyManager();
PortalSite ps = tm.PortalSites[ new Uri("http://phoenix") ];
Microsoft.SharePoint.Portal.PortalContext ctx = Microsoft.SharePoint.Portal.PortalApplication.GetContext(ps);
Guid homeGuid = AreaManager.GetSystemAreaGuid(ctx,SystemArea.Home);
Area home = AreaManager.GetArea(ctx, homeGuid);
PermissionCollection spc = SecurityManager.ManageSiteSecurity(ctx);
SPRole reader = home.Web.Roles["Reader"];
//reader.AddUser("domain_name\\alias","email_address","user_name","display_name");
reader.RemoveUser(home.Web.Users["fareast\\pavank"]);
MessageBox.Show("User removed");
-------------------------------------------------------------------------------------
How do I Add role to the portal area ?

TopologyManager tm = new TopologyManager();
PortalSite ps = tm.PortalSites[ new Uri("http://phoenix") ];
Microsoft.SharePoint.Portal.PortalContext ctx = Microsoft.SharePoint.Portal.PortalApplication.GetContext(ps);
SecurityManager.AddRole(ctx,"Writer","",PortalRight.AddListItems);
MessageBox.Show("Role Added");
-------------------------------------------------------------------------------------
How do I Remove role from the portal area?

TopologyManager tm = new TopologyManager();
PortalSite ps = tm.PortalSites[ new Uri("http://phoenix") ];
Microsoft.SharePoint.Portal.PortalContext ctx = Microsoft.SharePoint.Portal.PortalApplication.GetContext(ps);
Guid homeGuid = AreaManager.GetSystemAreaGuid(ctx,SystemArea.Home);
Area home = AreaManager.GetArea(ctx, homeGuid);
home.Web.Roles.Remove("Writer");
MessageBox.Show("Role removed");
-------------------------------------------------------------------------------------
How do i Create Document Library programmatically?
C#


Code under Main

SPSite oSite = new SPSite("http://phoenix");
SPWeb oWeb = oSite.OpenWeb("/");
oWeb.AllowUnsafeUpdates = true;
SPListTemplate template = null;
template = oWeb.ListTemplates["Document Library"];
System.Guid guid;
guid = oWeb.Lists.Add("Check","Check Document",template);
-------------------------------------------------------------------------------------
How do i Create column for Document Library programmatically?

Code under Main
SPSite oSite = new SPSite("http://phoenix");
SPWeb oWeb = oSite.OpenWeb("/");
oWeb.AllowUnsafeUpdates = true;
dim list as SPList = oWeb.Lists(DOC_LIB_NAME)
'creates a columns project name
list.Fields.Add("Project Name", SPFieldType.Text, True)
-------------------------------------------------------------------------------------
How do I Change permissions of document library or List in wss?

// get list
SPList list = web.Lists["Document Library"];
SPPermissionCollection permissions = list.Permissions;
for( int h = 0 ; h <>{
SPPermission permission = permissions[h];
if( permission.Member.ToString()= ="RoleName")
{
permission.PermissionMask = SPRights.AddListItems SPRights.EditListItems;
h = permissions.Count;
}
}
-------------------------------------------------------------------------------------
How do I add Permissions for a Custom based List ?
namespace ConsoleApplication1
{
class Class1
{
[STAThread] static void Main(string[] args) {
SPSite oSite = new SPSite(http://phoenix/);
SPWeb oWeb = oSite.OpenWeb("/");
oWeb.AllowUnsafeUpdates = true;
SPList DC = oWeb.Lists["Q1"];
SPUser user=oWeb.Users["Jayavel"];
DC.Permissions.Add(user, SPRights.AddListItems);
}
}
}
-------------------------------------------------------------------------------------
How do I Create Folders Programmatically in document library ?

Dim mysite As SPSite
Dim s As SPWeb
mysite = New SPSite(http://phoenix/)
s = mysite.OpenWeb()
s.AllowUnsafeUpdates = True
Dim subFolders As SPFolderCollection = s.Folders(“Dec2006”).SubFolders
Dim subFolder As SPFolder = subFolders.Add(“Dec2006/Test”)
Test is the folder in dec2006 doc library
-------------------------------------------------------------------------------------
How do I Upload files from local folder to document library through console application in wss ?

SPSite oSite = new SPSite(http://phoenix/);
//declaring instance for Opening Target Site
SPWeb oWeb = oSite.OpenWeb(a);
oWeb.AllowUnsafeUpdates = true;
SPListTemplate template = null;
template = oWeb.ListTemplates["Document Library"];
string DOCUMENT_PATH = file.Name;
string DOCUMENT_FULL = path of file in local folder;
string DOCUMENT_DESTINATION = "http://phoenix/Q_ID/" ;
string DESTINATION = DOCUMENT_DESTINATION + DOCUMENT_PATH;
//opening the files from directory as read mode
System.IO.FileStream objStream = new System.IO.FileStream(DOCUMENT_FULL, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.BinaryReader objReader = new System.IO.BinaryReader(objStream);
byte [] arrFileBytes = objReader.ReadBytes((int)objStream.Length);
objReader.Close();
objStream.Close();
System.Net.WebClient objWebClient = new System.Net.WebClient();
objWebClient.Credentials = System.Net.CredentialCache.DefaultCredentials;
//Uploading files from local folder to specified document library
objWebClient.UploadData(DESTINATION, "PUT", arrFileBytes);
//prints a messages if a specified file uploaded successfully
-------------------------------------------------------------------------------------
How do I Upload files in document library by Web application (rename and saves the file in server temp location and upload) ?
Dim UPLOAD_LOCATION As String
Dim strFileName As String = Upload1.PostedFile.FileName
Dim c As String = System.IO.Path.GetFileName(strFileName)
UPLOAD_LOCATION = "C:\WINDOWS\Temp\"
Dim FILE_NAME As String FILE_NAME = DDL_Project_Name.SelectedItem.Text & extension
Try
'saves the file in temporary loaction inside server
Upload1.PostedFile.SaveAs(UPLOAD_LOCATION & FILE_NAME)
Dim destUrl As String = ConfigurationSettings.AppSettings("codcphoenix")
Dim site As SPWeb = New SPSite(destUrl).OpenWeb()
'Uploades file from temprary location to document library
Dim fStream As Stream = File.OpenRead(UPLOAD_LOCATION & FILE_NAME)
Dim contents(fStream.Length) As Byte
fStream.Read(contents, 0, CInt(fStream.Length))
fStream.Close()
'declaring instance the initate class
Dim a As Initate
'calls the function getdate a.getdate()
If site.GetFolder("Dec2006").Exists Then
site.AllowUnsafeUpdates = True
Dim destFolder As SPFolder = site.GetFolder("Dec2006")
‘ If it is sub folder add as site.getfolder(“Dec2006/Test”)
destFolder.Files.Add(FILE_NAME, contents, True)
End If
-------------------------------------------------------------------------------------
How to delete a sub folder in a document library programmatically ?
SPWeb web = new SPSite("site url").OpenWeb();
web.Folders[“Document library name”].SubFolders.Delete(“Folder Name”);
-------------------------------------------------------------------------------------

How do I Delete files from doc library in wss ?

Dim mysite As SPSite
Dim s As SPWeb mysite = New SPSite(“http://phoenix”)
Dim destFolder As SPFolder = s.GetFolder("Dec2006")
FILE_NAME = “Test.Doc” destFolder.Files.Delete(FILE_NAME)
-------------------------------------------------------------------------------------
How do I Check whether Specified list or doc lib available in wss site ?

Dim mysite As SPSite
Dim s As SPWeb mysite = New SPSite(“http://phoenix”)
s = mysite.OpenWeb()
Dim lists As SPListCollection = s.Lists
For j = 0 To lists.Count - 1 'Response.Write(SPEncode.HtmlEncode(lists(j).Title) & "
")
If (SPEncode.HtmlEncode(lists(j).Title) = DOC_LIB_NAME) Then
flag = 1
End If
Next j
-------------------------------------------------------------------------------------
How to restore a specific version back to the document library thro’ programmatically?

There are two ways we can restore the document.
1. SPFileVersionCollection.Restore() method
//restore specific version
versions.Restore(3);
2. SPFile.SaveBinary() method
file.SaveBinary(versions[3].OpenBinary());
But however the Restore method is more efficient as per msdn
-------------------------------------------------------------------------------------
How do Insert Values inside a List ?

Dim mysite As SPSite
Dim s As SPWeb
mysite = New SPSite(“http://phoenix”)
s = mysite.OpenWeb("Op")
Dim listItems As SPListItemCollection = s.Lists("OpSchedule").Items
s.AllowUnsafeUpdates = True
Dim item As SPListItem = listItems.Add()
‘adding value to normal column
item("Opsreview Month-Year") = "Test1"
‘adding value to hyperlink column
item("Summary URL") = http://phoenix/default.aspx,%20OpReports
‘adding value to date column
item("Summary Date") = convert.todatetime("13/1/2007 12:00:00 AM")
item.Update()
-------------------------------------------------------------------------------------
How do Backup wss using stsadm.exe ?
To perform a simple backup of a site, use the following syntax:
stsadm.exe -o backup -url http://server_name/site -filename file_name.dat
To back up a site and overwrite an existing backup file, use the following syntax:
stsadm.exe -o backup -url http://server_name/site -filename local_drive:\path_name\file_name.dat -overwrite

-------------------------------------------------------------------------------------

How do i Restore wss Using stsadm.exe ?

To restore a site from a backup file, either to a new site or a separate server, use the following syntax:
stsadm.exe -o restore -url http://server_name/site -filename file_name.dat

To restore a site from a backup file on a server share, and to overwrite any existing site at the new location, use the following syntax:
stsadm.exe -o restore -url http://server_name/site -filename \\share\folder\file_name.dat -overwrite