Chapter 2

Getting Your Environment Ready for Office 365

What’s in This Chapter?

  • Learning how to set up an Office 365 environment
  • Exploring various approaches available to build an Office 365 development environment
  • Learning how to set up a development environment for Office 365
  • Developing your first application for SharePoint Online, Exchange Online, and Lync Online using Microsoft Visual Studio 2010
  • Understanding Office 365 development challenges and exploring development resources

This chapter helps you set up a development environment for Office 365. At the time of this writing, Microsoft does not provide Office 365 SDK as a single download. This means that you must do a bit more work to get everything set up and running before you kick-start the development. Separate sections cover SharePoint Online, Exchange Online, and Lync Online. Later in the chapter you learn about common challenges associated with Office 365 development and various resources that Microsoft makes available for Office 365 developers.

Your Office 365 Cloud Environment

Before you start setting up your development environment, the first thing to do is to register for Office 365. For testing purposes you can create a trial account with Office 365, which is available free of charge for 30 days. If your business already has an existing Office 365 account, you can use this existing account. However its highly recommended that you set up a new account with Office 365 because Microsoft does not provide separate test environments, so any changes that you make to the existing one are against a production (or live) environment and are reflected immediately to business users.

Office 365 is offered through different plans targeting professionals, small businesses, midsize businesses, enterprises, and education. Table 2-1 describes various plans available to you.

Table 2-1: Office 365 Plans

Category Description Trial Availability
Office 365 for professionals and small businesses (Plan P) Supports up to 25 users Yes
Office 365 for midsize businesses and enterprises (Plan E1, E2, E3, E4) Supports 25+ users Only Plan E3
Microsoft Office 365 for education Supports only academic and education institutions No

For most development scenarios, plan E3 is a good choice because it includes all the key features of Exchange Online, SharePoint Online, and Lync Online (except full enterprise voice capabilities with on-premises Lync Server). Not every plan is available for trial; however, in most cases as mentioned earlier, plan E3 is sufficient.

Registering for Office 365 (Trial)

To register for Office 365 trial, visit www.microsoft.com/en-us/office365/free-office365-trial.aspx. You can choose to register either with Plan P or Plan E. For this exercise you will register with plan E3, but the registration process is identical for other plans.

note.eps
It’s a common practice for businesses to begin with the Office 365 trial offering for development and testing purposes but later to upgrade to a licensed version for the production usage. However, you cannot migrate between the Plan P and E plans, so you need to be careful when deciding on a plan that it is best suited to your needs for both the short and long term. The only way to switch, should you really need to, is to cancel your account with an existing plan and then register for a different one. This can seriously impact your business continuity as content, configurations, customizations, and users are not automatically migrated between plans. Also the visual interface for an administration console differs slightly among plans, because not all service features are available with all plans. To avoid this situation, it’s recommended that you communicate this issue as a potential risk to the project stakeholders. Please note that the stakeholders also understand that there is no easy way to fix this. However to mitigate this risk you can propose a well-defined proof of concept (PoC) for Office 365 targeting a subset of users and limiting its scope to the basic feature set of Office 365.

Figure 2-1 shows the trial sign-up page for Plan E3 and mentions that the free trial period will expire in 30 days. To sign up for a trial, follow these steps:

1. You start by filling in your contact details.
2. Choose your domain name and Microsoft Online Services ID carefully because you cannot change them later. Also the e-mail address you provide here will be used for all the communication related to your trial account.
3. Accept the conditions to finish the registration process, as shown in Figure 2-2.
4. You may need to wait a moment or two before your account is provisioned with Office 365. When it is, you can click the Continue button to land on the Office 365 Admin Home Page.
note.eps
It’s a good idea to add the link https://portal.microsoftonline.com to your favorites list; this way you can easily access the Admin Home Page.
Notice that an alert displays on top of the page, as shown in Figure 2-3. Here, you see the number of days left in your trial account.

When your trial expires, you have an additional 30 days to convert your account to the paid subscription after which your account will be completely deleted along with all content, customizations, configurations, and users. You can easily convert to a paid subscription by clicking the Purchase Now link, as shown in Figure 2-3. You can also do it any time during your trial period and additional 30 days of grace period.

Your trial account is now ready. In the next section, you see how to add a few users to it, so that you can later use them during development.

Adding Users

On the Admin Home Page, under the Management section on the left, click the Users link, as shown in Figure 2-4.

You have two options available for adding users: You can add them manually—one user at a time using the user interface, or add them in bulk by uploading a CSV file containing a list of users in an Office 365–preferred format. The advantage of the latter approach is an obvious gain in productivity; imagine hundreds of users and the time it takes to add them manually. However if you have only a few users, you can add them easily using the user interface. Now look at both of these approaches to add users.

Adding Users Manually

To add users manually, follow these steps:

1. On the Users page, click the New menu item, and select User from the drop-down that appears, as shown in Figure 2-5. The New User page displays:
2. Enter the user details, as shown in Figure 2-6. The username field is also the login name that the user will enter to access Office 365, so be sure you enter it correctly, because you need to delete and recreate the user account again if it is misspelled. You can also expand the Additional Properties section, which enables you to add additional details for the user, such as address, e-mail, physical address, and so on. For the user, this is optional information; for now leave it empty. Click the Next button to continue.
3. The Assign Role settings page, as shown in Figure 2-7, enables you to assign various types of roles to the user. It also enables you to set the user’s geographic location. Keep the default value of No for Assign Role, and for the Set User Location option provide the appropriate country value. Note that the Set User Location value is a required field. Once you are done, click the Next button.
4. The Assign Licenses pages (shown in Figure 2-8) enable you to assign specific functionality and associated license costs to the users. If you assign no licenses to the account, that user cannot access any of the Office 365 services. You can select from different license types; for development purposes you may want to create multiple users and assign them different licenses so that your test matrices remain wider. For now, select Microsoft Office 365 Plan E3, which automatically selects all the suboptions below it, and click the Next button. If for some reason you don’t want to assign this user a license now, simply don’t select options. You can assign licenses to the user and modify your existing licenses later by using the Licenses link under Subscriptions Panel from the Admin home page.
5. On the Email page, keep the default settings and click the Create button. The page displays user details along with temporary passwords, as shown in Figure 2-9.
6. Click the Finish button. The new user now has been created and is able to access Office 365.

Adding Users in Bulk

To add multiple new users in bulk, follow these steps:

1. One the main Users screen, select the Bulk Add Users option from the New menu, as shown in Figure 2-10.
2. Download the supported CSV file format by clicking the Download a Blank CSV File link. You can also download a sample CSV file by clicking Download Sample CSV file; this file resembles the template file, but it also contains sample users along with their contact details. In the CSV file, the Username and Display name columns are mandatory but all other user details are optional. If you already have user details in another external system—for example, PeopleSoft or another internal HR system, you may want to extract user contact details from the system directly into a CSV file, either one matching the available template or one that you easily can convert over. Figure 2-11 shows a CSV file after three users have been added to it.
3. When you finish adding users to the CSV file, save it locally on your computer. If you use Microsoft Excel, make sure that the file is saved as a comma-delimited (CSV) format; otherwise you may get an error while uploading it back to Office 365.
4. To upload the file to Office 365, click the Browse button and select the CSV file containing users; then click the Next button. As shown in Figure 2-12, the Verification results page displays and shows the number of users that successfully passed or failed the verification process.
5. Click the View link to view the log file of the verification process. This log is especially helpful if you have encountered errors during the verification process. In Figure 2-12, note that all three users that were in the CSV file earlier have passed the verification process.
6. On the Settings page, click the Next button. Keep the default value of Allowed for Sign-In Status; you should only block the users if you don’t want them to access the Office 365 services. Set the user location and click the Next button. As the users are added in bulk, these settings are applied uniformly to all users.
7. On the Assign licenses page, select Plan E3 and click the Next button.
8. On the Email page, keep the default settings and click the Create button. Office 365 now provisions the users; depending on the quantity of users, this may take a moment or two. The results page displays the usernames along with their temporary passwords, as shown in Figure 2-13. The passwords for your users will be different from what is shown in this figure because these are randomly generated.
9. To return to the Admin Home Page, click the Close button.

Your Office 365 Development Environment

In this section, you learn various approaches that you can use to build an Office 365 development environment. Later in this section, a step-by-step walkthrough is provided so you can set up the Office 365 environment.

Using Virtualization for Your Development Environment

Virtualization is a powerful technology, and in recent years it has become an integral part of any IT infrastructure. For developers, it provides flexibility and ease of development while providing them the ability to develop on multiple disparate environments and platforms hosted in the same physical workstation. In addition, by taking snapshots of the current state of the virtual machine, you can easily revert back to any earlier state at a later stage in case your changes do not work the way you intend them to. Also, it’s relatively easier to copy and move virtual machines around than physical ones, which gives you freedom to use different physical machines during the course of your development cycle.

Virtualization does have its shortcomings, and depending on your specific scenario, you should determine whether it’s feasible to use:

  • You must give your virtual machine sufficient memory and hard disk space on the host machine. This is in addition to what your host operating system already consumes on the physical machine. For example, to have a responsive virtual machine for Office 365 development that typically runs products such as Visual Studio 2010 and SharePoint Server 2010, you should allocate at least 5 GB of memory to the guest machine. Otherwise, the virtual machine will have noticeable lag as you perform development and debugging tasks.
  • Selecting a virtual technology can also be challenging for many reasons. Examples of this are as follows:
    • If you work in a corporate environment in which IT policies are enforced, it’s likely that your machine is allowed to run only a client operating system such as Windows 7, which does not support the Hyper-V role on Windows 7.
    • You may install Virtual PC 2007, but it does not support x64-bit virtualization, which is required to install most of the Microsoft server-side products, including Microsoft SharePoint Server 2010. However, you can use virtualization products like VMware, Virtual Box, and the like to fill the need of x64 bit virtualization on the client operating system.
    • If you run Windows 2008 SP2 or Windows 2008 R2 or above, then Hyper-V is available to you, but Windows Server 2008 resource requirements (especially the memory requirement) are higher than that of a client operating system such as Windows 7.
    • You may face compatibility issues with drivers for all the hardware components for your workstation and with certain software products your organization requires you to install on your workstation.

With Microsoft Windows 8 on the horizon, the good news is that it is scheduled to support the Hyper-V role even on the workstation version, which is a good reason for developers to adopt Windows 8 as early as possible.

Using Microsoft Trial Virtual Machines

In recent years, Microsoft has released virtual machines that have trial versions of various Microsoft products and technologies installed and configured on them, thus allowing you to save considerable time getting started with these products. This is especially true for server-side products such as Microsoft SharePoint Server 2010, which can take a while to set up because it requires you to install a set of prerequisites followed by a multi-stage process for the actual SharePoint Server 2010 product installation. To download these virtual machines, visit www.microsoft.com/download/en/details.aspx?id=27417.

For Office 365 development, you only need trial virtual machine “a.” Virtual machines “b” and “c” have Microsoft Exchange Server 2010 and Lync Server 2010, respectively, installed on them. Although you’ll use these technologies in this book, you need only certain APIs for programming against Lync Online and Exchange Online and they are downloaded separately. You learn more about them later in the chapter. Figure 2-14 shows a more detailed breakdown of what is available on each of these virtual machines.

After your download for the trial virtual machine “a” is complete, follow the instructions from the download center site to set up the virtual machine using Hyper-V.

Using the Microsoft trial virtual machine is often the easiest option to kick-start Office 365 development; however a few drawbacks exist with this approach:

  • The trial virtual machines have products installed on them that are not required for Office 365 development. For example, Microsoft FAST Search for SharePoint 2010 and Microsoft Project Server 2010 are installed and configured but not required for Office 365 development.
  • To use the trial virtual machines, you need to run Windows Server 2008 SP2 or R2 as a host operating system. As mentioned earlier, this is needed because virtual machines require Microsoft Hyper-V, which is only available as part of Windows Server 2008 SP2 and Windows Server R2. As stated in the previous section, this limitation will be removed with the launch of Windows 8, which supports Hyper-V: however, at the time of this writing, Windows 8 is in beta, and running trial virtual machines on the beta is not recommend.
  • The trial virtual machine has a 180-day evaluation period. In addition, it requires activation, or re-arming, which if not done during the first 10 days of usage, shuts the virtual machine down after 2 hours of continuous operation.
  • Microsoft does not provide any support for trial virtual machines. The best option you have is to post your questions on relevant MSDN and TechNet forums.

Using a Physical Machine for Your Development

Depending on your situation, you may want to use a physical machine for Office 365 development and may not have policy restrictions in your organization against doing so. This approach has certain benefits over a virtual machine running on your workstation. For example, you may not have sufficient physical memory and storage resources available to store and run a virtual machine. And even if you do manage to run the virtual machine with limited memory, the virtual machine performance is extremely poor and may hinder your development productivity. Another common limitation is licensing, which may require you (or your organization) to purchase separate licenses for the operating systems running on the virtual and the physical machines.

note.eps
Microsoft provides an MSDN developer’s license which enables you to install and use the Microsoft software on as many machines as you want for development purposes. For more information on MSDN subscriptions, visit http://msdn.microsoft.com/en-us/subscriptions/aa718661.aspx.

Regardless of the reason, it’s not always feasible to use a virtualized environment for development. The following sections discuss the pros and cons of using a physical machine for development.

Pros

The advantages of using a physical machine include:

  • When limited by the memory and storage, using a physical machine is the most viable option.
  • Because everything runs on bare metal, generally the performance is better overall than in a virtual environment.
  • Organizations can deploy patches and updates uniformly to all the machines, whereas virtual machines are often not patched and updated, and can introduce security vulnerabilities to the organization.

Cons

The disadvantages of using a physical machine include:

  • Your host operating system is a single point of failure. Virtual machines can easily be copied and shared.
  • Reverting back to a previous state on the host operating system, although possible, is not as easy as taking snapshots on virtual machines. You may want to get back quickly to a certain snapshot without consuming too much time configuring your system.
  • Performing updates to a host operating system used for development tasks can be challenging and may even have unexpected negative side effects. The development software APIs may be sensitive to certain Windows updates, and there is always a risk of a potential conflict. For example, you may want to limit Windows updates for Microsoft Silverlight but allow updates for Microsoft Lync. However, it’s tedious to monitor all the updates, and it takes substantial effort; sometimes updates are dependent on one another, and it’s just not possible to control them.
  • Using the same host operating system for development as well as for office-related tasks can lead to unnecessary complications. For example, when you develop a Lync component, you may need to close all the chat windows to facilitate debugging, but these may be required for communication within the team or wider organization. These types of annoyances may quickly accumulate and impact your productivity.

Creating an Office 365 Development Environment

The previous section covered various approaches available for hosting an Office 365 development environment. In this section, you put the boxing gloves on and build a fully-functional Office 365 development environment. It’s recommended that you choose the virtualization route and download Microsoft trial virtual machine “a,” as mentioned in the previous section.

Figure 2-15 captures the necessary software required for an Office 365 development environment. When you use the Microsoft trial virtual machine “a,” it already includes a number of the required components, so you need to install and configure only the additional software highlighted in the gray boxes; otherwise, you need to install and configure all of the software, which can take substantial effort on your part. For completeness, the following section covers all of them.

“Step 1: Installing Mandatory Software” walks through the installation of all the mandatory software. You should complete this step before continuing to “Step 2: Installing Service-Specific Software.”

Depending on your needs, you may want to skip the installation of service-specific software that you don’t require. However, if you start with Office 365 development and are not sure which services you want to use, install all the software.

If you use a Microsoft trial virtual machine (recommended), you need to install only the software listed in Step 2, as shown in Figure 2-15.

System Requirements

The following are the system requirements for an Office 365 development environment:

  • Windows 7 x64-bit Professional | Ultimate | Enterprise.
  • Windows 2008 SP2 Standard | Enterprise.
  • Windows 2008 R2 SP1 Standard | Enterprise.
  • Visual Studio 2010 x86 with SP1 Professional | Premium | Ultimate.
  • IE 7 or above.
  • Microsoft Office 2010 Professional Plus.
  • Windows Update Agent (WUA) service must be started.

Step 1: Installing Mandatory Software

Before you begin the installation, make sure that the account used (preferably a domain account) has administrator rights on the system. Also, you need a reasonable Internet connection for downloading software from the Internet.

1. Go to the downloads page. Browse the Office 365 downloads page at https://portal.microsoftonline.com/download/default.aspx and choose to install the following software:
  • Microsoft Office Professional Plus: Select the language of your choice and keep the default option to the 32-bit version. Click the Install button, as shown in the upper portion of Figure 2-16.
  • Microsoft Lync 2010: Select the language of your choice and keep the default option to the 64-bit version. Click the Install button, as shown in the lower portion of Figure 2-16.
A dialog appears asking you to save or run LyncSetup.exe on your machine.
2. Save the setup file on your machine. Do this if you want to reuse it for a future install. Otherwise, click the Run button to let the setup download it on the Windows temporary directory: the setup starts automatically after the download.
3. Click Install. On the Microsoft Lync 2010 Setup dialog, click the Install button to begin Lync 2010 installation, as shown in Figure 2-17. Installation may take a few moments to complete. This is because setup verifies that all the required software prerequisites are installed correctly, and if they are not, it will try to download them and then install them before installing Lync 2010. It is recommended to let the setup download the prerequisite software, even though it may take some extra time; this way it is guaranteed that all the prerequisites are installed automatically with the correct version.
4. Set up and configure your Office desktop apps. Click the Set Up button, as shown at the bottom of Figure 2-18. You may need to wait a few moments before the Office365DesktopSetup dialog launches.
5. Run the installation. On the Office365DesktopSetup Launch Application dialog, click the Run button, as shown in Figure 2-19.
6. Sign in to Office 365. On the Microsoft Office 365 desktop Setup dialog, sign in using your Microsoft Online Services ID, as shown in Figure 2-20. Your Microsoft Online Services ID is created when you registered for Office 365 earlier in the section “Registering for Office 365 (Trial)” Microsoft Online Services ID. Please note that your Microsoft Online Services ID will be different from the one shown in the Figure 2-20, which is used for demonstration purpose only.
7. Configure your desktop. After you successfully sign in, the desktop setup displays the Install Updates dialog. Keep the default options for the Select Applications To Configure section and click the Continue button, as shown in Figure 2-21. This is an important step, and these updates are necessary for the client applications to function properly. For example, if you uncheck the Microsoft Lync option, the required updates do not install for Lync 2010, and you cannot sign in using the Lync 2010 client unless you manually download and install the required updates or run the Office 365 desktop setup again.
8. Accept the Service agreement. Do this by clicking the I Agree button. Wait until all the updates install. Finally, click the Finish button to close the Setup dialog.
9. Download and install Microsoft Visual Studio 2010 x86 version. You can download it from MSDN subscribers’ download at https://msdn.microsoft.com/en-us/subscriptions/securedownloads/default.aspx. If you don’t have an MSDN membership and want to use the trial version of Visual Studio 2010, you can download the Visual Studio 2010 Ultimate Edition Trial ISO image from www.microsoft.com/download/en/details.aspx?id=12187.
note.eps
To mount an ISO file, you need a virtual CD/DVD ROM emulator. Many free tools are available online that provide this functionality, including: Virtual CD ROM Control Panel by Microsoft, although not officially supported by them (http://download.microsoft.com/download/7/b/6/7b6abd84-7841-4978-96f5-bd58df02efa2/winxpvirtualcdcontrolpanel_21.exe), MagicDisk by MagicISO Maker (www.magiciso.com/download.htm), and Daemon Tools (www.daemon-tools.cc/eng/downloads). As a good practice before downloading and installing any third-party tool on your machine, you should seek advice from your IT administrator.
10. Download and install Microsoft Visual Studio 2010 SP1. You can download it from http://go.microsoft.com/fwlink/?LinkId=210710.

Your Office 365 development environment now has base software installed on it. If you opt for a virtual environment, you can take a snapshot and label it After - Office 365 Base Software Installed.

Step 2: Installing Service-Specific Software

In this section, you will learn about specific software that you need to install for following Office 365 services:

  • Microsoft SharePoint Online
  • Microsoft Exchange Online
  • Microsoft Lync Online

Software Setup for SharePoint Online Development

To develop and test solutions for SharePoint 2010 Online, you must install and configure SharePoint Server 2010 locally on your development machine. Visual Studio 2010 Templates for SharePoint 2010 cannot be used with SharePoint Online or a remote SharePoint server web application. You need the following software for a SharePoint Online development environment:

The following are steps for installation. Please make sure that Step 1 is completed successfully before you move to next steps. Please note that these steps are optional:

1. Follow the full instructions. The step-by-step installation and configuration of SharePoint Server 2010 in a development environment is covered in the MSDN article, “Setting Up the Development Environment for SharePoint 2010 on Windows Vista, Windows 7, and Windows Server 2008” at http://msdn.microsoft.com/en-us/library/ee554869.aspx.
2. After SharePoint Server 2010 is successfully installed and configured, you need to install Service Pack 1 for SharePoint Foundation 2010 and SharePoint Server 2010. You may also need to install the Service Pack 1 for SharePoint Foundation 2010 and SharePoint Server 2010 language packs. For more details on installing Service Pack 1, follow the instructions from Microsoft’s blog at http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=984. The language packs are optional because you need them only if you target multilingual scenarios in which the default language of SharePoint Foundation and SharePoint Server 2010 is not enough.
3. Install Microsoft SharePoint Designer 2010. It is highly recommended that you use the 32-bit version instead of the 64-bit version because a few Office 2010 components (SharePoint Designer 2010 is considered part of the Office 2010 product line) won’t work as expected with the 64-bit version, and SharePoint Designer 2010 is considered part of the Office 2010 product line and therefore needs to match the edition of the base Office suite. For more details on this topic, visit http://office.microsoft.com/en-us/word-help/choose-the-32-bit-or-64-bit-version-of-microsoft-office-HA010369476.aspx and http://blogs.technet.com/b/office2010/archive/2010/02/23/understanding-64-bit-office.aspx.
4. Install Visual Studio 2010 SharePoint Power Tools. These are additions to the out-of-the-box Visual Studio 2010 templates for SharePoint. One of the key features included as part of power tools is the template for Sandboxed-compatible Visual Web Part, which enables you to use a Visual Designer to create SharePoint web parts that can be deployed in a Sandbox Solution. You learn more about Sandbox Solutions in Chapter 4 and Chapter 5.

At this point, you should have your machine equipped with the software required for SharePoint Online development.

Software Setup for Exchange Online Development

The Exchange Online development requires Microsoft Exchange Web Services (EWS) Managed API 1.1. Download the 64-bit version (recommended) or the 32-bit version from www.microsoft.com/download/en/details.aspx?id=13480. The Managed API utilizes Exchange Web Services SOAP protocol and Autodiscover features. Also pay attention to the overview section on the download page, because Microsoft lists any KB articles that need be installed before/after the install of this software. The step-by-step installation instructions are available on the download page.

Software Setup for Lync Online Development

Lync Online development requires both the Lync 2010 client and Lync 2010 SDK to be installed on the development machine. You have already installed the Lync 2010 client as part of installing mandatory software in the section “Step 1: Installing Mandatory Software.” Download Lync 2010 SDK from www.microsoft.com/download/en/details.aspx?id=18898 and run the setup to install it. The Lync 2010 client is a prerequisite for Lync 2010 SDK, and if it is not already installed you must install it now before proceeding any further.

Also pay attention to the overview section on the download page, because Microsoft lists any KB articles that need be installed before/after the install of this software. The step-by-step installation instructions are available on the download page.

Other Development Tools (Optional)

The following software is a great addition to your development tools; none is mandatory for Office 365, but all are highly recommended.

  • Fiddler: The most famous tool for web debugging. Fiddler is a web debugging proxy that logs all HTTP(s) traffic between your computer and the Internet. It enables you to inspect traffic, set breakpoints, and inspect incoming or outgoing data. It also includes a powerful event-based scripting subsystem and can be extended using any .NET language. Fiddler is available as freeware and can debug traffic from virtually any application that supports a proxy, including Internet Explorer, Google Chrome, Apple Safari, Mozilla Firefox, Opera, and more. You can download it from www.fiddler2.com/Fiddler2/version.asp.
  • HttpWatch: HttpWatch is another common HTTP(S) sniffing tool that integrates with Internet Explorer and Firefox browsers to show you which HTTP traffic is triggered when you access a web page. If you access a site that uses secure HTTPS connections, HttpWatch automatically displays the decrypted form of the network traffic. One advantage to using HttpWatch is that it is available as an add-on, which integrates with supported browsers rather than acting as a proxy, so you don’t run into any limitations of a proxy. You can download a free version of HttpWatch from www.httpwatch.com/download/.
  • NET Reflector: If you work with Microsoft .NET technologies, you may already be aware of the .NET Reflector tool. Reflector is a decompiler that can examine a .NET assembly. It shows you all the components inside each assembly including classes, resources, and so on. The tool is flexible and can disassemble assemblies written in any version of Microsoft.NET. You can download the .NET Reflector from http://shop.reflector.net/download.

Step 3: Finalizing Installation

As a last step, restart the development machine. This ensures that any pending changes to the operating system are committed properly. If you use a virtual machine, wait for the operating system to restart; because you reach the login screen before you login, take the snapshot of the virtual machine. Label this snapshot Office 365 Development Ready or something similar.

Your First Office 365 Application

With the development environment finally ready, you are all set to fire up Visual Studio 2010 and start building applications for Office 365. This section demonstrates how to build simple, yet fully functional, solutions for SharePoint Online, Exchange Online, and Lync Online. The section ends with a discussion of the development challenges you may encounter with Office 365. The idea is to give you a head start before you move to later chapters, which dive more deeply into each service offering of Office 365.

note.eps
The following is the breakdown of chapters and service offerings they cover.
  • Chapter 4: “SharePoint Online Overview”
  • Chapter 6: “Exchange Online Development”
  • Chapter 7: “Lync Online Development”

Your First SharePoint Online Solution

In this section, you will build a basic Hello World Web Part for SharePoint Online and then deploy it to the SharePoint Online site using a WSP file.

SharePoint Online is one of the most feature-enriched services among the whole stack of Office 365 service offerings. It provides a broad set of features ranging from collaboration, content management, business intelligence, workflows, and more. By developing custom solutions for SharePoint Online, developers can extend and add new features and functionally to SharePoint Online. Imagine the possibility of building a Recruitment or Supply Chain Management system that an entire organization can use and reuse. Even better, you can sell your custom solutions based on Office 365 offerings on the Microsoft Marketplace, which you learn more about later in the chapter.

If you already have development experience with the SharePoint 2010 on-premises version, there is a little learning curve involved. You must understand the few key differences as noted here.

note.eps
If this is your first time with SharePoint development, don’t worry because Chapter 4 covers the basics of SharePoint Online, and Chapter 5 digs deeper into SharePoint Online development and customization.
  • Microsoft hosts SharePoint Online as part of its Office 365 offering on its datacenters. This means that you have no control over the physical hosting and no direct access to the environment. For example, you cannot remotely log in to the servers hosting SharePoint Online for any debugging or testing.
  • Office 365 provides SharePoint Online as both a multitenant and dedicated offering. From a development prospective, the major difference is that you can develop and deploy only Sandbox Solutions (you learn more about them in Chapters 4 and 5) in a multitenant environment. The SharePoint Online dedicated environment supports both Sandbox and Farm Solutions; however, before solutions are deployed into a dedicated environment, they must go through a thorough submission process, which can take anywhere from a few days to a few weeks before your solutions are approved for deployment. This is done to ensure that the quality of the solutions deployed in the dedicated environment do not degrade the server performance in any way.
  • Microsoft Visual Studio 2010 does not enable you to use a SharePoint Online site (or any other remote SharePoint Server 2010 site, for that matter) for development and debugging. This does not mean that you cannot develop client applications (for example, WinForm, WPF, and so on) that push/pull data to/from SharePoint Online remotely but rather that you are limited to using a local SharePoint site when using Visual Studio 2010 templates for SharePoint development. This is something that is likely to change in a future version of Office 365.

Developing a SharePoint Online Solution

In this section, you will develop a Visual Web Part that displays “Hello World” on the page where it is placed. Perhaps not the most impressive web part, but it gives you insight on how to develop and deploy a custom Sandbox Solution on SharePoint Online.

Also, unless explicitly mentioned, all the SharePoint solutions discussed throughout this book are Sandbox Solutions and targeted toward a SharePoint Online multitenant environment. The dedicated environment is available only to large organizations that have 5,000 or more users registered to them.

1. From the Start menu, launch Microsoft Visual Studio 2010.
2. Click File ⇒ New ⇒ Project, as shown in Figure 2-22.
3. On the New Project dialog, expand Visual C# ⇒ SharePoint and select 2010. For the Project Template, select Empty SharePoint Project. Use the following details and click OK, as shown in Figure 2-23:
  • Name: HelloWorldSharePointOnline
  • Location: Keep default or change it as required
  • Solution name: MyFirstSharePointSolution
  • Deselect: Create directory for solution option
4. On the SharePoint Customization Wizard dialog, enter the site collection URL in the format http[s]://SiteCollectionUrl. If you use the trial virtual machine, you can use http://intranet.contoso.com/. Keep the default choice of the solution to Deploy as a Sandbox Solution, as shown in Figure 2-24. Click Finish.
5. Right-click the newly-created HelloWorldSharePointOnline Project, and select Add ⇒ New Item, as shown in Figure 2-25.
6. On the Add New Item dialog, as shown in Figure 2-26, select the Visual Web Part (Sandboxed), and type HelloWebPart for the name. Click the Add button to add this web part to the project.
7. Open the HelloWebPart.ascx file and replace the ASPX markup with the markup shown in Listing 2-1.
download.eps

Listing 2-1: HelloWebPart.ascx

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, 
Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="SharePoint" 
Namespace="Microsoft.SharePoint.WebControls" 
Assembly="Microsoft.SharePoint, Version=14.0.0.0, 
Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="Utilities" 
Namespace="Microsoft.SharePoint.Utilities" 
Assembly="Microsoft.SharePoint, Version=14.0.0.0, 
Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Import Namespace="Microsoft.SharePoint" %> 
<%@ Register Tagprefix="WebPartPages" 
Namespace="Microsoft.SharePoint.WebPartPages" 
Assembly="Microsoft.SharePoint, Version=14.0.0.0, 
Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" 
CodeBehind="HelloWebPart.ascx.cs" 
Inherits="HelloWorldSharePointOnline.HelloWebPart.HelloWebPart" %>
<asp:Label ID="lblMsg" runat="server" Text="">
</asp:Label>
8. Open the HelloWebPart.ascx.cs file and replace the ASPX markup with the markup shown in Listing 2-2.
download.eps

Listing 2-2: HelloWebPart.ascx.cs

using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

namespace HelloWorldSharePointOnline.HelloWebPart
{
    [ToolboxItem(false)]
    public partial class HelloWebPart : System.Web.UI.WebControls.WebParts.WebPart
    {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            InitializeControl();
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            this.lblMsg.Text = 
            String.Format("Hello World, the time on the server is {0}", 
            DateTime.Now.ToShortTimeString());
        }
    }
}
9. To set the Title and Description of the web part, open the HelloWebPart.webpart file and replace its content with the Listing 2-3.
download.eps

Listing 2-3: HelloWebPart.webpart

<?xml version="1.0" encoding="utf-8"?>
<webParts>
  <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
    <metaData>
      <type name="HelloWorldSharePointOnline.HelloWebPart.HelloWebPart,
            $SharePoint.Project.AssemblyFullName$" />
      <importErrorMessage>$Resources:core,ImportErrorMessage;</importErrorMessage>
    </metaData>
    <data>
      <properties>
        <property name="Title" type="string">Hello WebPart</property>
        <property name="Description" type="string">
          This is my first sandboxed web part for SharePoint Online
        </property>
      </properties>
    </data>
  </webPart>
</webParts>

Testing the SharePoint Online Solution

To test the SharePoint Online solution that you developed in the previous section, perform the following steps:

1. Press F5 in Visual Studio so that your solution builds and automatically deploys and activates on the SharePoint site that you chose for your project. Visual Studio opens a new browser instance with a SharePoint site that you choose for the solution.
2. To actually add your web part on the page, click the Site Actions menu and select Edit Page, as shown in Figure 2-27.
3. When the page is in Edit mode, click the Insert tab and select WebPart. From the Categories select Custom. Your Hello WebPart displays along with a brief description, as shown in Figure 2-28. The title and description of the web part is read from the HelloWebPart.webpart file. Click the Add button to insert this web part on the page.

Deploying a Solution to SharePoint Online

In the previous section, you developed a simple HelloWebPart, which displays “Hello World” and shows the time on the server. You also built and deployed it locally on your development machine. This section shows you how to upload your solution to the SharePoint Online site and activate it for usage. However, before you do this, you must create a site collection on SharePoint Online. The following steps show how to create a new site collection and add and activate a solution on it. Finally, it shows how to add the web part on the newly created site collection home page.

1. From the Office 365 Admin Home Page, locate the SharePoint Online section and click the Manage link under it.
2. On the SharePoint Online Administration Center, click the Manage Site Collections link, as shown in Figure 2-29.
3. On the Manage Site Collection page, click New and select Private Site Collection. Figure 2-30 shows how the screen looks after all the information is provided. Don’t worry too much about the details, which you will learn about in later chapters. Enter the following information:
  • Title: Home
  • Web Site Address: Home (Keep other defaults)
  • Template Selection: Team Site (default)
  • Time Zone: UTC - 800 Pacific Time (U.S. and Canada)
  • User Name: Enter the same username you used for registering for Office 365 earlier in this chapter
  • Storage Limit: 500MB (You can change this value later.)
  • Resource Usage Quota: 4000 (You can change this value later.)
4. Click the OK button. SharePoint provisions the new site collection; wait until it appears in the list of the site collection.
5. Now browse to the newly-created site collection. From Site Actions, select Site Settings. Click the Solutions link present under the Galleries section, as shown in Figure 2-31.
6. Figure 2-32 displays the Solutions Gallery Page. Click the Upload Solution button on the Solutions tab.
7. On the Upload Document dialog (shown in Figure 2-33), click the Browse button and locate the HelloWorldSharePointOnline.wsp solution file. The default location of the solution is as follows. The Drive and Folder structure depend on where you created the solution in the previous section. You should build your solutions in release mode rather than debug mode when deploying to SharePoint Online because web.config files cannot be changed to cater for Debug mode. Because you cannot attach the debugger to the SharePoint Online site, there is no point having solutions build for debug mode.
note.eps
Replace the placeholder <<DRIVE>> with the actual drive letter where solution was created. The default is the C: drive.
  • <<DRIVE>>:[Folder]MyFirstSharePointSolutionHelloWorldSharePointOnlineinRelease
  • <<DRIVE>>:[Folders]MyFirstSharePointSolutionHelloWorldSharePointOnlineinDebug
8. After the solution uploads successfully, the Solution Gallery - Activate Solution Page displays, as shown in Figure 2-34. Click the Activate button to activate the solution. This is required to have your web part available for use throughout the site collection. The HelloWorldSharePointOnline solution is now activated, as shown in Figure 2-35.
9. Browse to the site collection home page, click Site Actions, and then select Edit Page.
10. On the Editing Tools tab, click the Insert tab, and select More Web Parts, as shown in Figure 2-36.
11. From the Create dialog, select Custom, and then select Hello WebPart, as shown in Figure 2-37. Click Add to insert this web part on the page.
12. The Hello WebPart is now available on the page, as shown in Figure 2-38.

You have successfully uploaded, deployed, and activated a Sandbox Solution containing a simple web part on your SharePoint Online site collection.

Your First Exchange Online Application

Microsoft provides the Exchange EWS Managed API (MA) 1.1 to build solutions for Exchange Online. Under the hood, the MA uses the Exchange Web Services to interact with the server, but you don’t need to worry about it, because it shields you from the details of this interaction and provides a higher-level API against which to work. One of the primary objectives of Managed API is to keep things simple for developers by exposing them to Exchange objects such as Inbox, Send Items, Attachments, and so on. You can easily perform CRUD operations for the following items using the Managed API:

  • E-mails
  • Contacts
  • Attachments
  • Calendar
  • Tasks
  • Public Folders

One the biggest advantages of MA is that Autodiscovery MA uses this feature, so you don’t need to provide the URL of EWS for your target Exchange Online service. Autodiscovery can find the most efficient Client Access Server (CAS) available for a given mailbox. From a development prospective, this gives you great flexibility because you don’t need to hardcode the EWS URL.

You learn more about Exchange Online Development in Chapter 6. In this next section, you will create your first application targeting Exchange Online using MA 1.1. Your application is a simple Windows Console application that you can use as part of the IT support tools. It reads the list of the running process on your machine and e-mails it to a designated e-mail address; it also saves the copy of the e-mail to your Sent Items folder for future reference. Before you continue, make sure that you have more than one user account registered and activated on Office 365. User account creation is covered earlier in this chapter.

Developing Exchange Online Application

The following steps demonstrate how to develop a basic Exchange Online application using Visual Studio 2010.

1. From the Start menu, launch Microsoft Visual Studio 2010.
2. Click File ⇒ New ⇒ Project, as shown in Figure 2-39.
3. On the New Project dialog, expand Visual C# ⇒ Windows. For the Project Template select Console Application. Use the following details and click OK, as shown in Figure 2-40:
  • Name: EmailProcessListing
  • Location: Keep default or change it as required
  • Solution Name: EmailProcessListing
4. From the Solution Explorer, right-click References and click Add Reference. On the Add Reference dialog, select the Browse tab and locate the Microsoft.Exchange.WebServices.dll assembly. The default location is <<DRIVE>>:Program FilesMicrosoftExchangeWeb Services1.1Microsoft.Exchange.WebServices.dll. You need to replace <<DRIVE>> with the correct drive letter on your machine. Click OK to add the assembly reference to your project, as shown in Figure 2-41.
5. Open the Program.cs file and replace its code with the code in Listing 2-4. Make sure you replace the [USER1] and [USER2] token names with actual user Microsoft Online Services IDs. You created users earlier in the section titled “Adding Users.”
download.eps

Listing 2-4: Program.cs

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;

using Microsoft.Exchange.WebServices.Data;
using System.Diagnostics;

namespace ExchangeOnlineSample
{

    class Program
    {
        static void Main(string[] args)
        {
            SendEmail("[USER1]@officeservices.onmicrosoft.com", "pwd", 
                GetProcessesListing(), 
                "List of running processes", 
                "[USER2]@officeservices.onmicrosoft.com");
            
        }
        private static string GetProcessesListing()
        {
            string processList = string.Empty;
            
            Process[] runningProcesses = Process.GetProcesses();

            foreach (Process theprocess in runningProcesses)
            {
                processList += (string.Format("Process: {0} ID: {1}</br>",
                    theprocess.ProcessName, theprocess.Id));
            }
            return processList;
        }

        private static void SendEmail(string userID, string userPassword, 
            string emailMsg, string emailSubject, 
            string toAddress)
        {
            ExchangeService service;

            service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);

            service.Credentials = new System.Net.NetworkCredential(userID, 
                userPassword);

            service.AutodiscoverUrl(userID, UrlValidationCallback);

            EmailMessage msg = new EmailMessage(service);
            msg.ToRecipients.Add(new EmailAddress(toAddress));
            msg.Subject = emailSubject;
            msg.Body = new MessageBody(BodyType.HTML, emailMsg);
            msg.SendAndSaveCopy();
        }

        private static bool UrlValidationCallback(string redirectionUrl)
        {
            return true;
        }
    }
}

Testing the Exchange Online Application

Your application is now available for testing. To test it, follow these steps:

1. Press F5 to run the application. Wait a few moments until it executes the code; when the execution finishes, Visual Studio terminates the application.
2. Open a browser and navigate to the Office 365 Home Page available at https://portal.microsoftonline.com/Default.aspx.
3. Sign in using the actual login ID for [USER1]. After you successfully sign in, click the Outlook link from the top of the page, as shown in Figure 2-42. The Mail page displays the e-mails of [USER1].
4. Click the Sent Items folder to view e-mails sent by your application. Notice the e-mail with the subject “List of running processes” in the Sent Items folder, as shown in Figure 2-43.
5. Now check the [USER2] account for the e-mail. If you have multiple browsers, you can simply sign in using a different browser. Otherwise, you must sign out and then sign in using the[USER2] account. The [USER2] inbox displays the e-mail from [USER1] with the subject “List of running processes,” and the body contains the details of those processes, as shown in Figure 2-44.

Your First Lync Online Application

Microsoft provides developers with Lync SDK, which contains MA API targeting Lync 2010 Object Model (OM). You can use this SDK to build custom applications that leverage Lync 2010 features, such as Audio and Video conferencing, File Sharing, Desktop Sharing, and so on.

Microsoft has used Lync MA API to develop controls for the Lync 2010 client. You can also develop your custom Lync controls using the MA API, and these controls can integrate easily with the Lync 2010 client. Alternatively, you can use the Lync 2010 controls that Microsoft ships as part of SDK, because these controls are thoroughly tested, and you can reuse them easily without worrying about their performance and quality. Figure 2-45 shows the Lync Controls in Visual Studio 2010.

One important point to remember while working with the MA API is that it requires running an instance of a Lync 2010 client on the same machine where you plan your application to run.

Now, create a simple WPF application that places an audio call for you. The call is made to an account that you specify in the code. This user must be available on Office 365 and, to receive the call, must be signed in to Lync 2010 client.

Developing Lync Online Application

In this section, you will create a simple Lync Online application that will place an audio call to a specific Microsoft Online User account. The following steps demonstrate how to build a Lync Online application using Visual Studio 2010.

1. From the Start menu, launch Microsoft Visual Studio 2010.
2. Click File ⇒ New ⇒ Project, as shown in Figure 2-46.
3. On the New Project dialog, expand Visual C# ⇒ Windows. For the Project Template select the Lync WPF Application. Use the following details and click OK, as shown in Figure 2-47.
  • Name: LyncOnlineAudioCall
  • Location: Keep default or change it as required
  • Solution: Create a new solution (default)
  • Solution Name: LyncOnlineAudioCall
4. From the Solution Explorer, open Window1.xaml and replace its markup with the code in Listing 2-5. Your Window.xaml design view should resemble Figure 2-48.
download.eps

Listing 2-5: Window1.xaml

<Window x:Class="LyncOnlineAudioCall.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls=
    "clr-namespace:Microsoft.Lync.Controls;assembly=Microsoft.Lync.Controls"
    Title="Home" Height="79" Width="153">
    <Grid>
        <StackPanel Orientation="Horizontal" 
                    HorizontalAlignment="Center" 
                    VerticalAlignment="Center">
         </StackPanel>
        <Button Content="Start Audio Call" Height="35" 
                HorizontalAlignment="Left" 
                Margin="8,2,0,0" Name="btnStartAudioCall" 
                VerticalAlignment="Top" Width="114" 
                Click="btnSendIM_Click" />
    </Grid>
</Window>
5. From the Solution Explorer, click window1.xaml.cs and replace its code with the code from Listing 2-6. Make sure you replace the [USER] token with actual Microsoft Online Services user ID. You created users earlier in the section titled “Adding Users.”
download.eps

Listing 2-6: Making an Audio Call Using Lync Online API (Window1.xaml.cs)

using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Diagnostics;
using Microsoft.Lync.Model.Extensibility;

namespace LyncOnlineAudioCall
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
        
        private void btnSendIM_Click(object sender, RoutedEventArgs e)
        {
 
                List<string> participants = new  List<string>();
                participants.Add("[email protected]");
                
                Automation automation =  
                  Microsoft.Lync.Model.LyncClient.GetAutomation();
                
                automation.BeginStartConversation(
                     AutomationModalities.Audio,
                     participants,
                     null,
                     null,
                     automation);
            }
        } 
}

Testing the Lync Online Application

To test your Lync online application, follow these steps:

1. Before you test your application, make sure you are signed in to your local Lync Client.
2. Press F5 to build and run your application. The application shows a WPF Form with a single button labeled Start Audio Call.
3. Press the Start Audio Call button and the call will be made using the Lync Managed API. Depending on the user on the receiving end, you may need to wait before you can start the conversation, as shown in Figure 2-49.

Office 365 Development Challenges

This section discusses a few common challenges that you may encounter while developing Office 365 solutions. It’s better to take them into consideration earlier rather than later in your development life cycle.

Error Logging

Office 365 provides little support when it comes to working with the error logs. If you get an error, you must rely on the technical support for troubleshooting. This makes troubleshooting for developers, especially regarding SharePoint Online, challenging. Office 365 does not provide you any way to access the SharePoint Online logs, which are located on the server file system. This restriction exists because you share hardware and software with other tenants, and logs are not separated based on tenancy. As error logs may contain business-critical or users’ personal information, providing access to a log file may lead to serious legal consequences. The dedicated version of the SharePoint Online has the same limitation on accessing error logs.

Lync and Exchange Online products impose the same restrictions as SharePoint Online and do not allow access to error logs. However, this is less of an issue because you won’t be deploying custom server-side solutions to either Lync Online or Exchange Online in an Office 365 environment.

Bandwidth and Network Latency

You can access Office 365 through the Internet. Having a high bandwidth and low latency connection is extremely important to get consistent performance from custom solutions that consume Office 365 services. You should test your solutions under different bandwidths and network latencies. For example, users with a cable Internet connection usually have latencies of less than 100 ms; on the other hand, users with satellite Internet connection experience latencies of 500 ms or more. Your solutions should be responsive and function correctly under different bandwidths and network latencies.

Cross-Browser Support

While developing custom web-based solutions for Office 365, you should consider cross-browser support as a high priority. Office 365 supports a wide range of browsers, from Microsoft Internet Explorer to Google Chrome. Determine browser support for your solutions before you begin development. You should also develop your solutions to degrade gracefully when users access them with an unsupported browser. Users may simply assume that your web solution supports all the browsers that Office 365 supports, especially if they are available through the Office 365 Marketplace. It’s always a good idea to provide details to your users about which browsers are supported and which are not.

Office 365 Developer Resources

This section discusses Office 365 resources available to developers including wikis, forums, learning resources, and so on.

Quick Start Office 365 Development

The following section provides details to help you quickly start development for Office 365.

Minimize Your Learning Curve

You can minimize your learning curve for Office 365 development by leveraging technical skillsets that you already possess. For example, if you already have an ASP.NET development background, developing custom web-based solutions for Office 365 will be easier than developing a WPF application. Office 365 service offerings are based on already-released products from Microsoft, so if you have experience with either one of them, you can leverage that development experience because it’s highly likely that you will pick up the differences rather quickly.

When compared to on-premises solutions, developing cloud-based solutions does require a certain discipline. A good example of this is when you build sandbox solutions for SharePoint Online. When you develop SharePoint solutions on-premise, sandbox solutions only expose a subset of the available APIs. In addition, every piece of code that you execute in the sandbox counts toward the resource threshold that SharePoint administration allocates. If your code consumes more resources than what SharePoint administration allocates, your code will be penalized. For example, a web part on the home page of your corporate portal may suddenly stop working because it consumes too many resources. In short, good coding practices are mandatory when you build applications for the cloud services, and this may add to the learning curve for developers.

Learning Resources from Microsoft

You can also use learning resources provided by Microsoft, as listed in Table 2-2; these resources are available online and free of charge. Microsoft performs frequent updates to these resources as changes are made to Office 365.

Table 2-2: Office 365 Learning Resources

Title Description URL
Office 365 Developer Training Course Developer-focused presentations, self-paced labs, and links to key resources to help you build solutions that leverage SharePoint Online, Exchange Online, and Lync Online http://msdn.microsoft.com/en-us/Office365TrainingCourse
Exchange Online Development Center Developer Center for Microsoft Exchange Online as part of Microsoft Office 365 http://msdn.microsoft.com/exchange/gg490662
SharePoint Online Developer Resource Center Developer Center for Microsoft SharePoint Online as part of Microsoft Office 365 http://msdn.microsoft.com/sharepoint/gg153540
Exploring the Office Developer Story in Microsoft Office 365 Session recording from TechEd 2011 covering topics such as client-side add-ins accessing Microsoft SharePoint data, client object model, cloud programmability with Microsoft Excel, and Visio Services http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/OSP206

Office 365 Community

Microsoft has established a proactive community for Office 365. The community is built around consumers of Office 365, including developers, IT professionals, end users, project managers, and others. Table 2-3 provides details about the Office 365 forums, blog, and wikis.

Table 2-3: Office 365 Community

Title Description URL
Forums Forums where your platform can post questions and start discussions about topics related to Office 365 http://community.office365.com/en-us/f/default.aspx
Blogs Office 365 engineering team blog http://community.office365.com/en-us/b/office_365_technical_blog/default.aspx
Wiki Office 365 team wiki http://community.office365.com/en-us/w/default.aspx

Office 365 Marketplace

Office 365 Marketplace is a platform that enables Office 365 consumers to locate applications, professional services, and subject-matter experts for Microsoft Office 365. To enroll your application or professional services with Office 365 Marketplace, you must meet certain requirements. You can get more details on requirements and how to apply them from http://office365.pinpoint.microsoft.com/.

Office 365 Marketplace is mostly directed toward business users that usually have a different set of needs and expectations. For example, developing an Angry Birds game as a SharePoint Online solution may not give the same return on investment as it does on the Windows Phone Marketplace.

Summary

This chapter provides the foundation to start developing applications for Office 365. It starts by providing the walkthrough of the Office 365 registration process. It then discusses the two major approaches available to you for building development environments. It also explains the pros and cons of using a virtualized development environment versus physical machines. The walkthrough later in the chapter demonstrates how to build a development environment for Office 365 and add software to it as required. The sections on SharePoint Online, Exchange Online, and Lync Online development demonstrate how to quickly build and test your application using Visual Studio 2010. You also learn how to provision a new Site Collection on SharePoint Online and upload and activate you custom solution on it. Later in the chapter, you learn about a few common development challenges associated with Office 365 development and some important Office 365 community and learning resources available to you.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset