Thursday, March 11, 2010

Configure SharePoint Server 2010 for Mobile Device Access

Microsoft SharePoint 2010 includes support for using feature phones to access documents, lists, calendars on SharePoint 2010, performing people and document searches and receiving SMS alerts on SharePoint content.
Microsoft SharePoint Workspace Mobile 2010 allows Windows phone users to access offline documents on SharePoint 2010.
Microsoft SharePoint Server 2010 supports accessing information from a web browser enabled mobile phone or other devices. It delivers:
  • Lightweight interface and navigation for accessing document libraries, lists, wikis, blogs, web part pages and LOB data
  • Web companions for viewing Word, Excel and PowerPoint documents
  • Mobile MySite for staying in touch with colleagues
  • Mobile search experience for finding people, contact information, SharePoint content and finding data in custom databases
  • SMS Alerts for changes to SharePoint content
  • Features are customizable and, all the information is in SDK.

SharePoint Home Page with Mobile View:

When you access Microsoft SharePoint 2010 site from mobile phone, this view will be automatically redirected to mobile view as a picture below.
image

View all Site Contentclip_image007

User can click or choose the “View All Site Content” link on top of the home page. It will switch to the following kind of library:
  • Parent site
  • Lists of List
  • Document Libraries
  • Pictures Libraries
  • Sub sites
The following sections will tell you things you need to know for deployment.

Previewing the mobile experience on the desktop

You can preview the mobile experience on a desktop web browser. To do this, add “?mobile=1” to the end of a SharePoint URL for a document, home page, web part page, wiki page, list view page, list item details/edit/new form page, or Search center page. This does not work for all pages/lists/documents but can show you an idea of the mobile experience.

SharePoint Deployment for Mobile Access

This section walkthroughs configuration that needs to be setup to deploy SharePoint 2010 for mobile access also provides a list of mobile browsers that support mobile view.
  • Firewall setting
  • Enabling mobile access
  • Developing custom mobile solutions
  • Browser standards and requirements
  • Accessing the mobile experience
  • Security and Privacy

 

Firewall Considerations

As mobile phones connect to the public Internet, the SharePoint server needs to be accessible outside of the corporate firewall. IT administrators can publish SharePoint via an SSL VPN gateway, use a mobile proxy or expose SharePoint server to internet directly.

SSL VPN Access

One option is to use an SSL VPN gateway server, like Microsoft’s forthcoming Forefront Unified Access Gateway (UAG) Server, to publish SharePoint sites across the firewall as illustrated in the diagram below. The SSL VPN server needs to support the mobile devices that you are planning to enable access too. Microsoft UAG server, currently in Beta, supports mobile browsing access. to understand more UAG in detail. Forefront UAG RC0 is available at here.
Once the SharePoint server is published outside the firewall, the Alternative Access Mapping settings in the Central Administration page need to be configured. In addition, the sites to be published need to belong to a zone which allows cross firewall access. These settings are found under Central Administration. Go to System Settings and under System Settings choose Configure cross Firewall access zone.
To configure the SharePoint Workspace mobile client to access and offline documents on a SharePoint server, users need to enter the UAG server address in the settings page.

image

Mobile Proxy Servers

Mobile Proxy Servers such as Microsoft’s Mobile Device Manager or Blackberry Enterprise Server can also handle behind-the-firewall access to SharePoint. The server needs to pass the mobile browser’s HTTP headers directly through to SharePoint to operate properly.
SharePoint Workspace mobile client works with Microsoft’s Mobile Device Manager.

Direct Internet Access

SharePoint can be placed on an extranet to enable device access. Only basic authentication is supported, however, and with any Internet-facing servers we recommend a combination of technology and policy safeguards such as SSL.
There are no configuration requirements for mobile phones which are within the corporate firewall.

 

Enable Contents for Mobile Access

While most mobile-enabled content is readily accessible out of the box, there are some data types that are either not supported or require additional configuration steps.
Web part pages, document libraries/picture libraries, lists (e.g., calendars, contacts, tasks, etc.) blogs, wikis, Office documents, Search and MySite are available out of the box. The “list view” and “image” web parts are mobile enabled out of the box. Want to mention that MySite and Search functions are only available on MOSS server.
Other web parts need to have a “mobile web part adapter” written which enables mobile functionality. More details on mobile adapters can be found in the Developing Custom Mobile Solutions section below. Pages under the “_Layouts” folder are not available as mobile pages.

 

Developing Custom Mobile Solutions

SharePoint provides a mobile web part framework for developing custom solutions. By adding mobile web part adapter render classes to the web parts, existing web parts can be interacted with as part of the mobile experience. Some base adapter classes are available for common functions. The SharePoint 2007 mobile SDK can be a good starting point to learn about this development option. For SharePoint 2010, SharePoint mobile pages can be customized by modifying the underlying layouts page. In addition, a mobile page can be configured to redirect to an alternative mobile page.

 

Browser Standards and Requirements

SharePoint 2010 supports a wide range of mobile browsers as list below. You don’t need to do any additional setting on mobile device.
  • IE Mobile on Windows Mobile 5/6/6.1/6.5
  • Safari4 on iPhone 3G/S
  • BlackBerry 4.x and newer versions
  • Nokia S60
  • NetFront 3.4, 3.5 and newer versions
  • Opera Mobile 8.65 and newer versions
  • Openwave 6.2, 7.0 and newer versions
SharePoint Workspace mobile client is available exclusively on Windows phones.

 

Accessing the mobile experience

To access mobile pages, the URL is the same as that of the desktop browser page. However, it can vary depending on the configuration and presence of web proxies. If the proxy-enabled URL is not known, the user can choose the “E-mail a link” button on the Page tab of the SharePoint ribbon in web part page, wiki page, list view page to receive the address in email body. SharePoint 2010 will automatically redirect to the mobile page if a user accesses the URL via a mobile browser.
clip_image009 Recognition was made by USERAGENT to recognize for accessing mobile browser to redirect to mobile view is managed by the file “compat.browser” within the server’s IIS directory that manages device profiles (If the web application port is 80, the file path will be "\inetpub\wwwroot\wss\VirtualDirectories\80\App_Browsers\compat.browser"). With a text editor, the file can be modified to change redirect behavior. The IsMobileDevice attribute of that mobile browser when set to FALSE will cause SharePoint to bypass the mobile view for that browser.
Please refer below MSDN document for browser profile definition.
http://msdn.microsoft.com/en-us/library/ms228122.aspx

Security and Privacy

Within the firewall SharePoint Workspace mobile client uses NTLM or Kerberos authentication schemes. Outside the firewall Basic authentication scheme over SSL is used to communicate with the SharePoint server published on UAG.
Recommend enabling SSL communication for mobile browsing access to maintain secure communications between the mobile device and SharePoint server.
When 2-factor authentication is required, it needs to be handled by the SSL VPN or proxy server and the mobile device.
Finally, administrators should be aware that mobile browsers might cache information on the device. Recommend setting policies around device locking and types of information accessible on mobile phones to minimize the risk of privacy or other issues if a device is lost.
Hopefully this information is helpful to you

Monday, March 8, 2010

ASP.NET 4.0 and Visual Studio 2010 Web Development Beta 2 Overview

This whitepaper provides an overview of the new exciting features available with ASP.Net 4.0.
Below is a list of the topics covered in the document:

Core Services
Web.config File Minification
Extensible Output Caching
Auto-Start Web Applications
Permanently Redirecting a Page
The Incredible Shrinking Session State
Expanding the Range of Allowable URLs
Extensible Request Validation
Object Caching and Object Caching Extensibility
Extensible HTML, URL, and HTTP Header Encoding
Performance Monitoring for Individual Applications in a Single Worker Process
Multi-Targeting

New Features in ASP.NET AJAX 4
Client Template Rendering
Instantiating Behaviors and Controls Declaratively
Live Data Binding
Using the Observer Pattern with JavaScript Objects and Arrays
The DataView Control
The AdoNetServiceProxy Class
The DataContext and AdoNetDataContext Classes
Refactoring the Microsoft AJAX Framework Libraries
The DOM Ready Event
Using JSONP to Retrieve Cross-Domain Data.

Web Forms
Setting Meta Tags with the Page.MetaKeywords and Page.MetaDescription Properties
Enabling View State for Individual Controls
Changes to Browser Capabilities
Routing in ASP.NET 4
Setting Client IDs
Persisting Row Selection in Data Controls
ASP.NET Chart Control
Filtering Data with the QueryExtender Control
Html Encoded Code Expressions
Project Template Changes
CSS Improvements
Hiding div Elements Around Hidden Fields.
Rendering an Outer Table for Templated Controls
ListView Control Enhancements
CheckBoxList and RadioButtonList Control Enhancements
Menu Control Improvements
Wizard and CreateUserWizard Controls

ASP.NET MVC
Dynamic Data
Enabling Dynamic Data for Existing Projects
Declarative DynamicDataManager Control Syntax
Entity Templates
New Field Templates for URLs and E-mail Addresses
Creating Links with the DynamicHyperLink Control
Support for Inheritance in the Data Model
Support for Many-to-Many Relationships (Entity Framework Only)
New Attributes to Control Display and Support Enumerations
Enhanced Support for Filters

Visual Studio 2010 Web Designer Improvements
Improved CSS Compatibility
HTML and JScript Snippets
JScript IntelliSense Enhancements.

Web Application Deployment with Visual Studio 2010
Web Packaging
Web.config Transformation
Database Deployment
One-Click Publish for Web Applications

 ASP.NET 4.0 Programmer's ReferenceASP.NET 4.0 Programming

Tuesday, February 23, 2010

Silverlight Data access

Pro Silverlight 4 in C#Pro Business Applications with Silverlight 4Pro Silverlight 3 in C# (Expert's Voice in Silverlight)Silverlight 4 Lab: Intensive Skills Training

One of the bigger beginner misconceptions about accessing data in Silverlight is people looking for some ADO.NET class library in Silverlight. Stop looking, it isn’t there. Remember, Silverlight is a client technology that is deployed over the Internet. You wouldn’t want a browser plug-in to have direct access to your database…as you’d have to expose your database directly to the web. We all know that is generally a big no-no.


So the next logical step is to expose data via service layers. This is how Silverlight can communicate with data. Here are the primary means:

•Web services: SOAP, ASP.NET web services (ASMX), WCF services, POX, REST endpoints

•Sockets: network socket communication

•File: accessing static content via web requests.

Sockets
Sockets are probably the most advanced data access endpoints. These require a socket host to exist and, at the time of this writing, also require communication over a specific port range. If this is acceptable for you, this can be a very efficient and powerful means of communication for your application. I don’t think, however, that this is going to be the norm if your application is public facing on the web – I see sockets right now being more for business applications. Some resources for Sockets:

SDK documentation

Working with data in sockets (Dan Wahlin, MVP) – this is Silverlight 2 but still relevant to understanding the concepts

Working with Sockets requires you to really understand your deployment scenario first before you jump right in and think this will be the best method.



File Access
Silverlight can communicate with local data or data on the web. For local data access, the application does not have direct access to the file system, but rather can read/write data via user-initiated actions using the OpenFileDialog and SaveFileDialog APIs to request and save streams of data to the local user’s machine.
Additionally, you can use plain text files or XML files on the web and have your Silverlight application use standard HTTP commands to read/write that information. Here’s some helper information on using some of these methods:

OpenFileDialog and File Upload

SaveFileDialog

You may find yourselves using these techniques to save settings-based data or use very simple data access.



Web Services
This is the heart of accessing data in Silverlight – through a service layer. Silverlight supports accessing standard ASP.NET web services (ASMX) or WCF-based services using the familiar Add Service Reference methods in Visual Studio that will generate strongly-typed proxy code for you.
Additionally you can use the standard HTTP verbs to access more POX (Plain old XML) or REST-based endpoints. Understanding how to consume these various service types is probably the best time spent a developer can educate themselves on understanding what will be right for their scenario. Here’s some resources:

Consume WCF and ASP.NET Services

Calling services over HTTPS

•.NET RIA Services

Choosing a data access layer (Shawn Wildermuth, MVP)

The third point there, .NET RIA Services, is a new framework that aims to make accessing data simpler and more familiar. The link to the video will walk you through an introduction of that topic. RIA Services is best when you own the database and are hosting services in the same web application that will be serving up the Silverlight application.

Saturday, February 20, 2010

Resource Guide for Visual Studio 2010 RC (Release Candidate)


Introducing .NET 4.0: with Visual Studio 2010 (Expert's Voice in .Net)Pro C# 2010 and the .NET 4.0 Platform, Fifth Edition

Visual Studio 2010 and .NET Framework 4 RC (Release Candidate) now available to everyone for download. 
This post is a brief guide to resources to help you quickly get started and learn about what’s new.

 

Before Installing


Install

Install Some More

Learning More

SharePoint 2010 - LINQ To SharePoint is there

Professional SharePoint 2010 AdministrationSharePoint 2010 User’s Guide: Learning Microsoft’s Business Collaboration PlatformSharePoint 2010 as a Development PlatformPro SharePoint 2010 Solution Development: Combining .NET, SharePoint, and OfficeBuilding the SharePoint 2010 User Experience


LINQ is a new data access paradigm which allows users to express SQL like syntax against a variety of data sources. LINQ can improve performance by allowing the back end data source to decide the best way to solve the query. SharePoint now fully supports LINQ for querying lists so that you can query information from the platform in a more condensed, easier to understand format.

LINQ to SharePoint
  • No CAML Required
  • Entity classes form Business Layer
  • Strongly typed queries and compile time check
  • Intelligence helps query construction
  • Microsoft.SharePoint.Linq.dll
Using LINQ to SharePoint
  • Create Entity Classes
  • Create DataContext
  • Write Queries
In order to use LINQ to SharePoint, you will need to have entity classes created. Rather than having to create them manually which would take a long time, Microsoft provided a small utility that creates all those objects for you called SPMetal (click here for more information). The SPMetal utility works similarly to the SQLMetal utility (extracts SQL metadata from a database and generates entity classes). SPMetal will generate those entity classes which are used in LINQ to execute SharePoint queries. When those queries are executed, the LINQ statements are in turn translated to CAML.

The following is an example of the use of LINQ to query SharePoint :

// Get DataContext from page context
DataContext data = new DataContext(SPContext.GetContext(this.Context).Web.Url);

// Get the SharePoint list
EntityList Customers = data.GetList("Customers");

// Query for customers from London
var londonCustomers = from customer in Customers
                      where customer.City == "London"
                      select customer;

foreach (var londonCust in londonCustomers)
{
Console.Writeline("id = {0}, City = {1}", londonCust.CustomerId, londonCust.City);
}

Wednesday, January 20, 2010

SharePoint Server 2010 - Operating System Requirements





We've seen some confusion in the newsgroups and elsewhere on the versions and editions of Windows that SharePoint 2010 will run on. This post is meant to clarify some of the most common questions we have seen.

SharePoint 2010 will support only 64-bit (x64) versions of Windows Server 2008 SP2 and Windows Server 2008 R2.  SharePoint will not install at all on 32 bit Windows, or any earlier version of Windows  such as Windows Server 2000 or Windows Server 2003.

SharePoint is not supported on 'Server Core' installations of Windows Server 2008 and R2. The Server Core installations of Windows server do not contain some of the components required for SharePoint to be configured or run.

To make developing for SharePoint 2010 easier, it is possible to install SharePoint on 64-bit versions of Windows Vista SP2  and Windows 7. Note that running production environments on these OSes are not supported and it will not be possible to upgrade deployments running on client versions of Windows to future versions of SharePoint.  Instructions on installing SharePoint 2010 on client versions of Windows are a bit more involved and we recommend reading the instructions at http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx.

 Windows version/edition (64 bit only) - SharePoint 2010 support


Windows Server 2008 R2 Foundation - No


Windows Server 2008 R2 Standard - Yes




Windows Server 2008 R2 Enterprise - Yes




Windows Server 2008 R2 Datacenter - Yes




Windows Web Server 2008 R2 - No




Windows HPC Server 2008 - No




Windows Server 2008 R2 for Itanium-based systems - No




Windows Server 2008 Standard - Yes




Windows Server 2008 Enterprise - Yes




Windows Server 2008 Datacenter - Yes




Windows Web Server 2008 - No




Windows Storage Server 2008 - No




Windows Small Business Server 2008 - Yes




Windows Essential Business Server 2008 - Yes




Windows Server 2008 for Itanium-based systems - No




Windows Server 2008 Foundation - No




Windows Vista - Developer-only




Windows 7 - Developer-only





Windows version/edition (64 bit only)
SharePoint 2010 support
Windows Server 2008 R2 Foundation
No
Windows Server 2008 R2 Standard
Yes
Windows Server 2008 R2 Enterprise
Yes
Windows Server 2008 R2 Datacenter
Yes
Windows Web Server 2008 R2
No
Windows HPC Server 2008
No
Windows Server 2008 R2 for Itanium-based systems
No
Windows Server 2008 Standard
Yes
Windows Server 2008 Enterprise
Yes
Windows Server 2008 Datacenter
Yes
Windows Web Server 2008
No
Windows Storage Server 2008
No
Windows Small Business Server 2008
Yes*
Windows Essential Business Server 2008
Yes*
Windows Server 2008 for Itanium-based systems
No
Windows Server 2008 Foundation
No
Windows Vista
Developer-only**
Windows 7
Developer-only**



Windows version/edition (64 bit only)
SharePoint 2010 support
Windows Server 2008 R2 Foundation
No
Windows Server 2008 R2 Standard
Yes
Windows Server 2008 R2 Enterprise
Yes
Windows Server 2008 R2 Datacenter
Yes
Windows Web Server 2008 R2
No
Windows HPC Server 2008
No
Windows Server 2008 R2 for Itanium-based systems
No
Windows Server 2008 Standard
Yes
Windows Server 2008 Enterprise
Yes
Windows Server 2008 Datacenter
Yes
Windows Web Server 2008
No
Windows Storage Server 2008
No
Windows Small Business Server 2008
Yes*
Windows Essential Business Server 2008
Yes*
Windows Server 2008 for Itanium-based systems
No
Windows Server 2008 Foundation
No
Windows Vista
Developer-only**
Windows 7
Developer-only**


* Small and Essential Business Server editions of Windows install SharePoint as an optional component.
** Support for specific editions of Windows 7/Vista are yet to be finalized, but are likely to be 'Business'/'Professional' editions and above.

The list above is meant for informational purposes only. The official list of system requirements for SharePoint 2010 is located at http://technet.microsoft.com/en-us/library/cc262485(office.14).aspx and includes additional details on prerequisites and other optional components.

Monday, January 11, 2010

Introducing the External Content Type

External content type is probably the most important Business Connectivity Services (BCS) concept to understand, so I decided to create a brief post about it. In essence, an external content type is the SharePoint and Office representation of a real business entity like a Customer, Order or Employee.
Implementation-wise, external content types are the evolution of BDC entities from Microsoft Office SharePoint Server 2007. They are metadata descriptions of the connectivity settings, data structures and stereotyped operations – like create, read, update and delete - that allow access to business entities as exposed by external systems (such as databases, web services, line-of-business applications, among others). In addition to the new stereotyped operations now supporting read/write access to external data, external content types in SharePoint 2010 can also describe SharePoint and Office integration behaviors like mappings to native Office item types including Contact, Task, Appointment and Post as well as data offlining into Outlook 2010 and SharePoint Workspace 2010. These are very important new aspects as they are the basis for providing familiar experiences for information workers to interact with external data inside SharePoint and Office.

You can learn more about External content types in the SharePoint SDK topic “What Are External Content Types?”. In this post though, I’d like to emphasize their role as a building block for features and solutions that leverage BCS.

clip_image002[1]

SharePoint 2010 features like External Lists, External Data Search, and External Data Columns are all based on external content types. In a similar way, SharePoint and Office solutions needing access to external data can do so through BCS by relying on one or more external content types. This means that defining external content types will be among the first steps of building a BCS-enabled solution. Once you define an external content type, you can use it to easily integrate external data on client and server thanks to the Business Connectivity Services runtime available with SharePoint 2010 and Office 2010.

In terms of authoring, both SharePoint Designer 2010 and Visual Studio 2010 provide external content type designers that allow you to create, edit and publish external content types into the Business Data Connectivity Metadata Store in SharePoint 2010. Once published, external content types can be reused across SharePoint and Office either by end-users using the out-of-the-box SharePoint features or by solutions created by power users and/or developers.

clip_image004

Figure 1. Summary view in SharePoint Designer 2010 (Beta) of an external content type representing business customers stored in a SQLServer database.

clip_image006

Figure 2. Visual Studio 2010 (Beta) showing an external content type with methods to read customer information (from two different line-of-business applications) implemented in a .Net assembly.
Now that you know about external content types, go ahead and create some in SharePoint Designer 2010 or Visual Studio 2010 to experience their power first hand!