Microsoft Sharepoint Online Developer'S Guide 8.4 Release
Microsoft Sharepoint Online Developer'S Guide 8.4 Release
4 Release
Information in this document, including URL and other Internet Web site references, is subject to change without notice.
Unless otherwise noted, the companies, organizations, products, domain names, e-mail addresses, logos, people, places,
and events depicted in examples herein are fictitious. No association with any real company, organization, product,
domain name, e-mail address, logo, person, place, or event is intended or should be inferred. Complying with all
applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this
document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means
(electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission
of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering
subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the
furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual
property.
© 2008 Microsoft Corporation. All rights reserved.
Microsoft, Excel, InfoPath, JScript, MSN, SharePoint, SQL Server, Visual C#, Visual Studio, and Windows are trademarks
of the Microsoft group of companies.
All other trademarks are property of their respective owners.
Contents
2.3 Creating a Site Collection from the Microsoft Online Services Administration Center (MOAC) ........ 16
2.8 Example: Creating a New Site when Initiating a New Project ................................................................. 26
2.9 Example: Creating Blogs for the Knowledge Base in the Portal .............................................................. 27
4.2 Examples: Adding, Editing, Deleting, Sorting, and Filtering List Items Using the Data Form Web
Part 55
4.6 Example: Integrating Microsoft Live Search Web Service Using the Form Web Part.......................... 62
4.7 Example: Adding Page Numbers to a Data Form Web Part .................................................................... 74
5.3 Example: Displaying All List Names from a SharePoint Online Site Collection .................................... 84
5.4 Example: Fetching List Collection Data from an SharePoint Online Site............................................... 89
6.1 Example: Using Silverlight to Fetch Data from a SharePoint Online Site Using Web Services ............ 97
7.3 Collecting Data from the User and Processing It in the Workflow ........................................................ 113
7.4 Example: Send a SOW Document to the Project Manager for Review ................................................. 127
1 Getting Started
1.1 Welcome to the Microsoft SharePoint Online Developer’s
Guide
This guide describes the services that Microsoft® SharePoint® Online (standard offering)
provides developers to start working with SharePoint Online. This guide also contains
conceptual overviews and detailed information about the features that SharePoint Online
supports.
In this guide you will learn about:
Getting started with SharePoint Online
Understanding SharePoint Online offerings
Creating SharePoint Online sites
Installing site templates
Customizing SharePoint Online applications
Integrating live data into SharePoint Online
Using SharePoint Online Web Services
Creating custom no-code workflows in SharePoint Online
Extending SharePoint Online with Microsoft Silverlight
geographically dispersed data centers. Each data center houses a reliable and
redundant infrastructure to support the service. SharePoint Online offers you a
comprehensive set of functionalities spread across the portal, collaboration, search,
content management, and business process forms. With SharePoint Online, your
enterprise can be up and running quickly.
Online &
Server
Server Only
Make configuration changes that affect the Web server or the Microsoft .NET
Framework.
Make changes or add capabilities that require a custom database or changes
to the database schema.
Team Site: Select this site template to create a site that teams can use to
create, organize, and share information. The template includes a document
library, an announcements list, a calendar, a contacts list, and a links list by
default.
Blank Site: Select this site template to create a site with a blank home page
that you want to customize. The template includes a site image Web Part and
tools to insert other Web Parts. This template is useful when you do not want
to use any of the existing templates, Web Parts, lists, or libraries as a starting
point.
Document Workspace: Select this site template to create a site that will help
you coordinate the development of one or more related documents with other
people. This site template provides tools to share and update files, and to
keep people informed about the status of the files. It includes a document
library, an announcements list, a tasks list, a members list, and a links list.
Wiki Site: Select this site template to create a site where the users can
quickly and easily add, edit, and link Web pages. This site template includes
wiki pages, a links list, and a wiki page library.
Blog: Select this site template to create a site where the users can post
information quickly and allow people to comment on it. Sometimes known as
weblogs, blogs are online journals where you can share your ideas quickly in
an informal, chronological format.
This site template includes a posts list for storing blog posts, a blogs list for
links to other blogs, a categories list, a comments list, a links list for links to
related resources, a photo library, and tools to manage your posts and other
resources.
Basic Meeting Workspace: Select this site template to create a site that will
help you plan, organize, and track your meetings with the rest of your team.
The template includes an objectives list, an attendees list, an agenda, and a
document library.
The site provides useful 2007 Microsoft Office system documents to help
perform Strengths, Weaknesses, Opportunities, and Threats (SWOT) analysis
and make use of other useful competitive analysis techniques. Links to
industry, company, and product news can also be included to provide a single
location for all competitive information.
Discussion Database: This application template provides a location where
team members can create and reply to discussion topics.
Disputed Invoice Management: This application template helps accounts
payable departments track open invoices, along with the potential savings
associated with paying the invoice early.
The site includes useful templates for analyzing the reasons for the invoices
being disputed, as well as tracking whom to contact for more information.
Employee Activities: This application template helps you to manage the
creation and attendance of events for employees.
Activity owners use the site to review proposals for new activities and create
event calendar items. Employees use the site to sign up for activities, as well
as track the activities attended in the past.
Employee Self-Service Benefits: This application template provides tools
for an organization to inform employees about available benefits, as well as
enable them to enroll for each benefit.
Employee Training Scheduling and Materials: This application template
helps instructors and employees manage courses and related materials.
Instructors use the site to add new courses and organize course materials.
Employees use the site to schedule attendance for a course, track courses
they have attended, and provide feedback.
Equity Research: This application template helps teams collaborate on
researching stocks and other equities.
It provides a central location for teams to store documents, post links, track
news, and hold discussions related to the equities that are tracked by the site.
Integrated Marketing Campaign Tracking: This application template helps
marketing managers track the implementation and success of outbound
marketing activities.
The template allows a manager to create marketing activities and track the
results of those activities, such as responses generated and sales completed.
Manufacturing Process Management: This application template helps
teams to model and track manufacturing processes as well as tasks and
issues that arise in the upkeep of these processes.
New Store Opening: This application template helps a team manage the
opening of new store locations or remodeling of an existing store location.
The site provides a single location to manage tasks, issues, and documents
for all store opening processes, enabling end users to view relevant
information and providing project managers with insight across the entire
project.
Product and Marketing Requirements Planning: This application template
enables teams to manage the process of collecting and documenting
requirements for new products.
The site provides several 2007 Office system templates for providing useful
techniques for marketing, product, and steering committee actions as well as
a template for meeting notes and financial information.
Request for Proposal: This application template helps manage the process
of creating and releasing an initial request for proposal (RFP), collecting
submissions of proposals, and formally accepting the selected proposal from
among those submitted.
The site also helps simplify the process of notifying individuals about the
status of the RFP and submitted proposals.
Sports League: This application template helps an intracompany league
administrator manage a baseball league.
The site tracks team information, players, captains, and scheduled team
activities such as games, practices, and social events. The site also enables
discussions between league members through a league discussion board.
Team Work: This application template provides a place where project teams
can upload background documents, track scheduled calendar events, and
submit action items that result from team meetings.
The site also tracks the creation and purpose of “subteams” and enables
discussion on topics created by members of the team.
Timecard Management: This application template helps teams track hours
spent working on various projects.
The site enables team members to “punch in” on a particular project and
“punch out” when they cease work. The system automatically generates the
time worked by project, and can show managers who is working on a
particular project, total hours versus budgeted time, and the details of who
worked on each project that is entered into the site.
5. Under Site Information, enter the information requested. Type a title and the
description for the site collection. Select a template, and then type an e-mail
address to receive access requests and notifications for the site.
4. On the Security Settings page, under Do you want this user to have service
administrator permissions?, select Yes if you want to assign service
administrator permissions; otherwise select No (the default).
5. Under Do you want to enable this user’s account?, select Yes (the default).
Lists and document libraries that you want to create as part of the site
In addition to customizing a site template, you can customize the base .aspx files such
as default.aspx or Allitems.aspx , which are executed when SharePoint Online displays
a site.
The following key steps will help you create a custom site template:
Create a site using any default site template of SharePoint Online. For more
information, see section 2.6, Creating a New Site Using a Site Formatted: Font: Arial, Italic
TemplateCreating a New Site Using a Site Template.
As per your requirements, customize the template: add Web Parts, document
libraries, lists, style sheets, etc, that you want to have as part of the site.
Save the site as a custom site template.
To save the site as a custom site template
1. Open the SharePoint Online site that you have created, using administrator
privileges.
2. On the Site Actions menu, click Site Settings.
Note: Include content in your template if you want the new Web
sites that were created from this template to include the
contents of all the lists and document libraries in this Web site.
Some customizations, such as custom workflows, are present
in the template only if you choose to include content. Including
content can also increase the size of your template.
10. In the File Download dialog box, click Save to save a local copy (specify path).
Now this custom site template is ready to be uploaded to the SharePoint Online site.
5. On the New SharePoint Site page, fill in the information about your new site.
6. In the Template Selection section, click the desired template
7. Click Create.
of your site. Commonly, every site and therefore every page in your site collection uses
the same master page to present a consistent user experience across the entire site
collection.
Depending on your requirement, you can use a different master page for one or for all of
the sites in your site hierarchy, to distinguish the various areas of your portal.
Creating a minimal master page can help you avoid the time-consuming process of
backing code out of a preexisting .master page such as BlueBand.master, or removing
functionality and then rebuilding it when your requirements change.
You can, of course, create a master page from scratch. However, it is not
recommended, because an empty master page does not include all the content
placeholders that the SharePoint Online site page model needs to work correctly.
The sample code in the following procedure includes only the elements that the
SharePoint Online Site page model requires: the necessary content placeholders and
controls to work with the page layouts that are included in a default SharePoint Online
site. The default SharePoint Online site requires a master page that includes a title,
branding, logon functionality, search functionality, breadcrumb functionality, and basic
structural elements such as page areas, separators, borders, consoles, and description
placeholders.
The following procedure uses Office SharePoint Designer 2007 as the master page
design environment. You can, however, use a text editor.
To create a minimal master page
1. Open Office SharePoint Designer 2007.
2. On the File menu, point to New, and then click SharePoint Content.
3. In the New dialog box, click the Page tab, and then double-click Master Page to
create a new master page.
<%-- Identifies this page as a .master page written in Microsoft Visual C#® and
registers tag prefixes, namespaces, assemblies, and controls. --%>
<%@ Master language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="SPSWC"
Namespace="Microsoft.SharePoint.Portal.WebControls"
Assembly="Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint"
Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="WebPartPages"
Namespace="Microsoft.SharePoint.WebPartPages"
Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="PublishingWebControls"
Namespace="Microsoft.SharePoint.Publishing.WebControls"
Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="PublishingNavigation"
Namespace="Microsoft.SharePoint.Publishing.Navigation"
Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="wssuc" TagName="Welcome"
src="~/_controltemplates/Welcome.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="DesignModeConsole"
src="~/_controltemplates/DesignModeConsole.ascx" %>
<%@ Register TagPrefix="PublishingVariations" TagName="VariationsLabelMenu"
src="~/_controltemplates/VariationsLabelMenu.ascx" %>
<%@ Register Tagprefix="PublishingConsole" TagName="Console"
src="~/_controltemplates/PublishingConsole.ascx" %>
<%@ Register TagPrefix="PublishingSiteAction" TagName="SiteActionMenu"
src="~/_controltemplates/PublishingActionMenu.ascx" %>
<%-- Uses the Microsoft Office namespace and schema. --%>
<html>
<WebPartPages:SPWebPartManager runat="server"/>
<SharePoint:RobotsMetaTag runat="server"/>
<%-- The head section includes a content placeholder for the page title and links to
CSS and ECMAScript (JScript, JavaScript) files that run on the server. --%>
<head runat="server">
<asp:ContentPlaceHolder runat="server" id="head">
<title>
<asp:ContentPlaceHolder id="PlaceHolderPageTitle" runat="server" />
</title>
</asp:ContentPlaceHolder>
<Sharepoint:CssLink runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server" />
</head>
<%-- When loading the body of the .master page, SharePoint Server 2007 also
loads the SpBodyOnLoadWrapper class. This class handles .js calls for the master
page. --%>
<body onload="javascript:_spBodyOnLoadWrapper();">
<%-- The SPWebPartManager manages all of the Web part controls, functionality,
and events that occur on a Web page. --%>
<form runat="server" onsubmit="return _spFormOnSubmitWrapper();">
<wssuc:Welcome id="explitLogout" runat="server"/>
<PublishingSiteAction:SiteActionMenu runat="server"/>
<PublishingWebControls:AuthoringContainer id="authoringcontrols"
runat="server">
<PublishingConsole:Console runat="server" />
</PublishingWebControls:AuthoringContainer>
<%-- The PlaceHolderMain content placeholder defines where to place the page
content for all the content from the page layout. The page layout can overwrite any
content placeholder from the master page. Example: The PlaceHolderLeftNavBar can
overwrite the left navigation bar. --%>
<asp:ContentPlaceHolder id="PlaceHolderMain" runat="server" />
<asp:Panel visible="false" runat="server">
<%-- These ContentPlaceHolders ensure all default SharePoint Server pages
render with this master page. If the system master page is set to any default master
page, the only content placeholders required are those that are overridden by your
page layouts. --%>
<asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderTitleBreadcrumb" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" runat="server"/>
<asp:ContentPlaceHolder ID="PlaceHolderPageImage" runat="server"/>
<asp:ContentPlaceHolder ID="PlaceHolderBodyLeftBorder" runat="server"/>
<asp:ContentPlaceHolder ID="PlaceHolderNavSpacer" runat="server"/>
<asp:ContentPlaceHolder ID="PlaceHolderTitleLeftBorder" runat="server"/>
<asp:ContentPlaceHolder ID="PlaceHolderTitleAreaSeparator" runat="server"/>
<asp:ContentPlaceHolder ID="PlaceHolderMiniConsole" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderCalendarNavigator" runat ="server" />
<asp:ContentPlaceHolder id="PlaceHolderLeftActions" runat ="server"/>
<asp:ContentPlaceHolder id="PlaceHolderPageDescription" runat ="server"/>
<asp:ContentPlaceHolder id="PlaceHolderBodyAreaClass" runat ="server"/>
<asp:ContentPlaceHolder id="PlaceHolderTitleAreaClass" runat ="server"/>
<asp:ContentPlaceHolder id="PlaceHolderBodyRightMargin" runat="server" />
</asp:Panel>
</form>
</body>
</html>
3. Right-click the page that will be used as the new master page, and then click Set
as Default Master Page to set the page as the new Site Master Page.
A message appears, noting that any pages that contain content regions that do
not appear in the new default master page will appear broken.
4. If the content regions in the new default master match the content regions in the
site's content pages, click Yes to continue.
Method 2:
a. From your sign in tool, click on the My Company Portal and choose a
SharePoint site.
d. Click the required page layout, and then click Edit in Office SharePoint
Designer 2007.
2. Now you can edit this section of the page by using the features that you
commonly use to edit pages. For example, you can use any of the following:
Tables: Click Insert Table on the Table menu to create tables to align
content.
Graphics: Click and drag images from the Images folder to this section of the
page.
Text: Click and then type where you want the text to appear.
Web Part zone: Insert a Web Part zone to give visitors of the page the option
to add or remove Web Parts such as views of document libraries and lists.
Web Parts: Insert views of document libraries, lists, and more into the page.
3. On the File menu, click Save to save the page.
Because there is no access to physical files, you can upload the CSS file to a style
library folder in Office SharePoint Designer 2007, or you can use the browser interface
to apply a customized style sheet and then use it.
Site collection-wide
default style sheet
Subsite Subsite
Site collection-wide
default style sheet
Customized
Subsite Subsite
local
style sheet
You can use the CSS tools in Office SharePoint Designer 2007 to identify the
styles used in the master page, and then you can modify those styles. For
example, if you want to change the background color of the page, you should
first identify the styles where the background color is defined, and then
change those styles to apply the required background color.
To change the background color
1. Open Office SharePoint Designer 2007.
2. On the File menu, click Open Site.
3. Specify your SharePoint Online site name.
4. Click in the default_copy(1).master file where you want to modify the
style.
Note: Some content areas that appear in Design view do
not have styles applied to them, and therefore no
corresponding style appears in the Apply Styles
task pane. For example, if you select a content
placeholder, no style appears in the Apply Styles
task pane. Content placeholders, however, do
appear inside HTML elements such as the <td>
tag.
5. On the Task Panes menu, click Apply Styles.
6. In the Apply Styles task pane, click Options, and then click Show
Styles Used On Selection.
Each style applied to the area where the cursor is located is outlined in blue,
and a preview of the style appears inside the outline.
In the following illustration, div.ms-titleareaframe is selected in Design view.
In the Apply Styles task pane, three styles that are applied to div.ms-
titleareaframe appear. The top style, Div.ms-titleareaframe, defines the
background color.
Note: Because styles are case-sensitive, the uppercase
Div.ms-titleareaframe is different from the
lowercase div.ms-titleareaframe.
You can use the Move Up and Move Down buttons in the Navigation Editing
and Sorting section to reorder navigation items and to nest items within
headings. The availability and function of the Move Up and Move Down buttons
depend on the following factors:
How you configured sorting
The type of item you selected
The position of the item you selected
The following table shows the behavior of the Move Up or Move Down buttons
when you select the Sort Manually option.
Position of
Navigation navigation
Item Action item Result
Non- Click Move Top of the If the item is nested, the item
heading Up local list moves above the heading it
item was nested in, and becomes
no longer nested.
If the item is not nested, it
becomes nested under the
heading directly above its
original position
Non- Click Move Not at the The item moves down one
heading Down bottom of the position in the local list.
item local list
Non- Click Move Bottom of the If the item is nested, the item
heading Down local list becomes no longer nested.
item If the item is not nested, the
item becomes nested under
the heading directly below its
original position.
Heading Click Move Not relevant The item moves down one
item Down position. Any items nested
within it move with it.
The following table shows the behavior of the Move Up and Move Down buttons
when you select the Sort Automatically option.
Navigation
Item Action Result
Non- Click Move If the item is nested, the item becomes nested
heading Up in the heading above the heading under which
item the item is currently nested.
If the item is not nested, it becomes nested in
the first heading above it.
3. Enter the URL of your site in the Site Name box, and then click Open.
4. Open the _catalogs folder.
5. Open the Masterpage folder, and then click the default.master file.
6. Copy default.master, and then immediately paste it in the Masterpage folder.
to create the new file default_copy(1).master,
7. Rename the file as Contoso.master.
8. Open the custom Contoso.master master page.
Now, you are ready to customize your master page. The master page is similar to
an ASP.NET page, which has HTML tags, content placeholders, and SharePoint
controls.
This scenario explains where and how to change the banner image in the master
page.
In the master page you can modify the top banner with table alignment. To do
this you need to change the contents inside the PlaceHolderGlobalNavigation
content placeholder. The <SharePoint:SitelogoImage> tag is responsible for the
banner image in the home page. Add the image to the Style Library in Office
SharePoint Designer 2007, and set the LogoImageUrl attribute in the
<SharePoint:SiteLogoImage> tag to the URL of the image.
Code snippet:
<SharePoint:SiteLogoImage id="onetidHeadbnnr0" LogoImageUrl="/Style
This scenario explains how to add custom links; for example, how to add the Home
link in the quick launch (the left navigation bar).
To customize the home page navigation bar
1. On the Site Actions menu, click Site Settings, and then click Modify
Navigation.
3. Add the appropriate information to the Title, URL, and Description boxes,
and then click OK.
4. Click OK in the Current Navigation page.
An empty Data View is displayed on the page, and the Data Source Library task
pane opens
6. In the Data Source Library (It may be any document library or list) task pane,
locate and click the data source, and then click Show Data.
7. Using the CTRL key, select each of the columns you need to show in your Data
Form Web Part.
8. Click Insert Selected Fields as, and then click Multiple Item View.
9. Click the arrow at the top right corner of the Data Form Web Part.
The Common Data View Tasks pane appears.
11. Click the Editing tab, and then select the following check boxes:
Show edit item links
Show delete item links
Show insert item link
12. Click OK.
13. Go to the page that you added, right-click the page, and then click Preview in
Browser.
16. Enter the values in all the fields, and then click save to save the item.
20. In the Filter Criteria pane, click Click here to add a new clause.
21. In the Field Name column, select the required field to filter the data: for
example, Project type.
22. From the next columns, select the required comparision and the corresponding
value.
Note: To add more conditions, click And or Or from the And/OR
column, according to your requirements. This example shows
only one condition.
23. Click OK.
Only filtered items are displayed in the Data Form Web Part.
24. Click the arrow at the right top corner of the Data Form Web Part.
2. In the Data View list, click the items in the fields that contain the data you want to
format.
3. Click Create, and then click Apply Formatting.
The Condition Criteria dialog box opens to enable you to create a condition.
4. In the Condition Criteria dialog box, place your mouse pointer anywhere in the
first row, and click.
5. Under Field name, click the arrow, and then click the field that you want to use in
the condition.
6. Under Comparison, click the arrow, and then click the operator that you want to
use in the condition.
7. Under Value, click the arrow, and then click More Fields.
8. In the More Fields dialog box, click the field that you want to use to complete the
condition.
9. Click OK.
10. In the Condition Criteria dialog box, click OK.
11. In the Modify Style dialog box, select the options required to create the style for
your conditional formatting.
12. Click OK.
5. To attach the page to master page, click on Format, point to Master Page then
click Attach Master Page.
6. On the page click on PlaceHolderMain, Click on the arrow at right and click on
Create Custom Content.
9. For each required parameter (marked with *), double-click the parameter.
10. In the Parameter dialog box that appears for each required parameter, click
OK.
Note: For the Query parameter, you must select the check box for
the value of this parameter that can be sent via a Web Part
connection.
2. In Data Source Library under XML Web Services, click on Live Search Data
Source and click Show Data.
3. In the Data Source Details Pane, right click on Result and click on Insert as
Table
2. From the right pane, add the SharePoint Search Box Web Part to the page,
to enter the search query.
5. Click OK.
Note: This should be enough to get you started. You could add an
<xsl:if test> statement to prevent the current page number
from being created as a link.
Add files to a
Distribution List
(DL), copy files from
one DL to another,
download files from
a DL
Document /_vti_bin/DWS.asmx Provides methods Document
Workspace for managing Workspace
Document Web service
Workspace sites
and the data they
contain
Note: The following method of Document Workspace service is not available in
SharePoint Online
FindDwsDoc
Imaging /_vti_bin/Imaging.asmx Provides methods Imaging
that enable you to Web service
create and manage
picture libraries
2. The publishing service does not have link in the MSDN and hence no URL is
provided in the MSDN Link column
3. In Solution Explorer, right-click the solution, and then click Add the Web
Reference.
4. Click the Source tab, and then in the Service Description Location box,
enter https://<SPOnlineSiteName>/_vti_bin/lists.asmx? WSDL, where <
SPOnlineSiteName > is SharePoint Online sites URL. The URL will look like
https://contoso1microsoftonlinecom-
7.sharepoint.microsoftonline.com/default.aspx and you can obtain this URL by
going to the appropriate SharePoint page and copying the URL from the
address bar in your browser, and then click Go.
5. Enter the Web reference name, and then click Add Reference.
You will see the added Web Service reference in Solution Explorer.
6. In the Page Load function add the following code, and enter the user name
and password for your SharePoint Online site.
SiteData.SiteData site = new SiteData.SiteData();
System.Net.NetworkCredential myCredential = new
System.Net.NetworkCredential();
myCredential.UserName = "<username>";
myCredential.Password = "<password>";
site.Credentials = myCredential;
SiteData._sList[] lists;
site.GetListCollection(out lists);
foreach (SiteData._sList list in lists)
{
listdisp.InnerHtml += list.Title.ToString() + "<br/>";
}
7. Open Default.aspx, click the Source tab, and then copy the following code
into the <DIV> tag.
<asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Size="12pt"
Text="List Collection in SPOnline site" Width="233px"
BorderColor="#404040">
</asp:Label><br/>
<asp:Panel ID="Panel1" runat="server" Height="100%" Width="232px"
BorderColor="Gray" BorderWidth="2px">
<span id="listdisp" runat="server" style="position: static"/>
</asp:Panel>
The code should appear as shown in the following figure.
On running the application, the .aspx page should display all the available SharePoint
lists of the site, as shown in the following figure.
Note: Results will vary depending on your site and the
parameters that you pass.
The Data View control appears on the page, as shown in the following figure.
7. To set the data source for this Data View, on the Data View menu, click
Manage Data Sources.
8. In the Data Source Library task pane, click Connect to a web service.
13. Using the CTRL key, select the columns that you want to display.
The Data View control appears on the page, as shown in the following figure.
7. To set the data source for this Data View, on the Data View menu, click
Manage Data Sources.
8. In the Data Source Library task pane, click Connect to a web service.
15. Using the CTRL key, click the columns that you want to display and then click
Insert Selected Fields as and then click Multiple Item View.
The results for this example appear as shown in the following figure.
Note: Results will vary depending on your site and the list
parameters that you pass.
4. In the Add Silverlight Application dialog box, leave the default options, and
click OK.
8. Click the Source tab, and then in the Service Description Location box, enter
https://<SPOnlineSiteName>/_vti_bin/lists.asmx? WSDL, where <
SPOnlineSiteName > is SharePoint Online sites URL. The URL will look like
https://contoso1microsoftonlinecom-
7.sharepoint.microsoftonline.com/default.aspx and you can obtain this URL by
going to the appropriate SharePoint page and copying the URL from the address
bar in your browser.
9. Click OK to add the service reference to the Lists Web service.
10. Open page.xml.cs and add the following code snippets into the respective
places.
11. Copy this code snippet in the page class constructor:
public Page()
{
InitializeComponent();
ListsSoapClient proxy = new ListsSoapClient();
proxy.GetListItemsCompleted += new
System.EventHandler<GetListItemsCompletedEventArgs>(proxy_GetListIte
msCompleted);
XDocument doc = XDocument.Parse("<Document><Query /><ViewFields Formatted: French (Switzerland)
/><QueryOptions /></Document>");
XElement query = doc.Element("Query");
XElement viewFields = doc.Element("ViewFields");
XElement queryOptions = doc.Element("QueryOptions"); Formatted: French (Switzerland)
proxy.GetListItemsAsync("ProjectList", "", query, viewFields, "10",
queryOptions, "");
}
12. Copy this code snippet after the page class constructor (this will fetch the list
items and bind the data):
13. Add this code snippet after the proxy_GetListItemsCompleted event handler:
public class ListResult
{
public string Title { get; set; }
public string Client { get; set; }
public string Type{ get; set; }
}
Note: Add the System.Xml.Linq and the
SilverlightApplication.ServiceReference1 namespaces in
the page.xml.cs.
14. The page.xml.cs now looks as shown in the following figure:
14. Right-click the saved .aspx page (SilverlightPage.aspx), and then click Preview
in browser.
15. Enter the credentials when prompted.
5. In the Give a name to this workflow box, type a name for this workflow.
Site visitors will see this name when they view the Workflow Status and
Workflows pages in the browser. By default, new workflows are automatically
named Workflow 1, Workflow 2, and so on.
6. Click an option in the What SharePoint list should this workflow be attached
to? list.
You must attach your workflow to a SharePoint list or a document library. The list
you choose here determines where the workflow participants start the workflow.
For example, if you want a workflow to start when an item is created or changed
in Shared Documents, choose that library. The attached list is where you check
the workflow status and history, or manually start a workflow.
7. Under Select workflow start options for items in Announcements, select one
or more of the check boxes.
Note: You must select at least one option if you want to run the
workflow.
If you do not select any option, you can design the workflow
and then click Finish, but the workflow cannot be initiated.
Later, you must open the workflow (using the Open Workflow
command on the File menu), select an initiation option, and
then click Finish. This is useful for saving a workflow that you
are in the process of designing.
8. Click Next.
9. In the Step Name box, type a name for the first step of your workflow.
For the next several steps, in the Specify details for ‘Step 1’ section you will be
creating the rules for your workflow by choosing the actions that you want it to
perform and any conditions that must be satisfied for those actions to occur.
Note: Not every step must contain a condition; for example, you can
have steps that are simply lists of actions to be performed.
However, every step can have at most one conditional branch
that contains an action without an associated condition.
This is because a conditional branch that does not have a
condition acts as the "Else" branch in an "Else If" conditional
branch. If condition A is true, do action B; otherwise (“else”) do
action C. As such, it would not make sense to have more than
one "Else" branch because the last branch would never be
reached.
10. For each condition that you want to specify, click Conditions, and then click that
condition in the Conditions list.
11. Repeat this step until you have specified all the conditions that you want to
include.
Each conditions that you choose appears in the box to the right of the
Conditions button, as a joined If statement that includes hyperlinked
parameters.
Note: If you do choose more than one condition, the conditions are
joined, meaning that all the conditions must be satisfied before
the workflow performs the associated actions. Multiple
conditions create a progressive filter in which the order
matters, because the first condition is evaluated first.
To move a condition up or down in a list of conditions, click the
condition, click the down arrow that appears, and then click
either Move Condition Up or Move Condition Down in the
list.
Office SharePoint Designer 2007 provides a number of predefined conditions. In
addition, you can create advanced conditions and custom conditions.
With custom conditions, you can compare a field in the current Conditions list
with a value. With advanced conditions, you can compare one value to another
value. This allows you to create a comparison between a field in any list and a
value from a wide range of sources.
12. For each condition, click each hyperlinked parameter, and then choose a value
for the required parameter.
For example, a condition might include links for choosing a field in the list, a
comparison, and a value.
13. For each action that you want to specify, click Actions, and then click that action
in the Actions list.
14. Repeat this step until you have specified all the actions that you want to include.
Note: If the action you want does not appear in the list, click More
Actions, click the action that you want, and then click Add.
Note: If you do create more than one action for a condition, the
actions can run either sequentially (joined by then) or at the
same time (joined by and).
To switch between running in sequence and running in
parallel, click the arrow in the upper right corner of the rule,
and then click either Run All Actions in Sequence or Run All
Actions in Parallel.
15. For each action, click each hyperlinked parameter, and then choose a value for
the required parameter.
For example, an action might include a link for creating an e-mail message.
16. To add a conditional branch, click Add 'Else If' Conditional Branch, and then
repeat steps 10 through 13 to create another rule.
A rule is a set of related conditions and actions, as shown in the previous
illustration. When the condition is true, the workflow performs the associated
actions. However, if the condition is not true, you can specify additional
conditions by adding conditional branches.
For example, you can create three different conditions for when a document
status is changed to Approved, Rejected, or Pending. You can also create an
Else condition, which causes the workflow to perform the action only when none
of the previous conditions have been satisfied. To create an Else condition, the
last action in the rule must be an action with no conditions. The workflow
evaluates all the conditions; if none of them are satisfied, the workflow performs
the actions in the final branch that has no condition.
17. When this step of the workflow is complete, click Next.
18. For each step in the workflow, repeat steps 10 to 14 to create additional sets of
conditions and actions, or rules.
Note: As you add rules, keep in mind that each rule can hold only
one set of Else If conditional branches, where the actions in
each branch are performed only when the associated
condition is satisfied. You must add additional rules when:
You have multiple sets of Else If conditional branches to be
evaluated.
You need to separate a branched statement from a non-
branched statement.
19. To check the workflow for errors before you exit the Workflow Designer, click
Check Workflow.
If there is a workflow error, the hyperlink changes color and asterisks appear
before and after the invalid parameter. In addition, under Workflow Steps, an
error symbol appears next to each step that contains an error.
20. Check any errors by making sure that the parameters entered are valid.
21. Click Finish.
The workflow is saved and attached to the list that you specified.
7. Under Select workflow start options for items in Shared Documents, do the
following:
Clear the Allow this workflow to be manually started from an item check
box.
Select the Automatically start this workflow whenever an item is created
check box.
Clear the Automatically start this workflow whenever an item is changed
check box.
8. Click Next.
9. Click Actions, and then click Collect Data from a User in the Actions list.
Note: If this action does not appear in the list, click More Actions to
see the full list.
10. In the Collect data from this user action, click the first hyperlinked parameter;
in this example it is data.
11. On the first page of the Custom Task Wizard, click Next.
12. On the second page of the Custom Task Wizard, for this example do the
following (see the following figure):
In the Name box, type Review document as the name for this task.
Note: The task name must be unique in the current site.
In the Description box, type Please review this document. Then choose
either Approved or Rejected, and click Complete Task. as the instructions
to the recipient of this task.
This description appears at the top of the custom task form, so it should
include here any instructions that you want the workflow participant to see, not
just a general description.
Clear the Allow blank values? check box, to permit the reviewer to choose
either Approved or
Rejected.
18. Click Finish twice to return to the Workflow Designer.
The following illustration shows how this task will be displayed to the workflow
participant in the browser when the participant edits the task. This is the custom
task form (Review document.aspx) that you just designed by using the Custom
Task Wizard.
In the Workflow Designer, you now set the second and third parameters of the
Collect data from this user action. (You began setting the first parameter in
step 10.)
The action now appears as Collect Review Document from this user (Output
to Variable: collect ) next to the Actions button.
19. In the action, click the second hyperlinked parameter, which is this user (see the
following figure).
20. In the Select Users dialog box, type a name or e-mail address, or click an
existing user or group in the list; for this example type Approver.
21. Click Add, and then click OK.
22. In the action, click the third hyperlinked parameter, Variable: collect, and then
click Create a new variable from the list (see the following figure).
Note: Click Create a new variable instead of using the default name
(Variable: collect) when your workflow will have multiple
variables and you want to give this variable a more descriptive
name.
23. In the Edit Variable dialog box, in this example type ID of Review document
task to describe the value stored by the variable.
For this variable, List Item ID is the only choice in the Type list.
24. Click OK.
At this point, your action should look like this.
How do you get at this information to use it in another step in the workflow?
You use the Set Workflow Variable action to look up the value of the Review status
field for the task that the user edited, and store the value of this field in a new variable. In
this example, the new variable is also named Review status.
By looking up and storing the review status in a new variable, you can now use this
variable as the basis for future comparisons. This is a best practice, because the
workflow now makes it clear where the data is coming from, and this data can be reused
more easily (multiple times, if necessary).
1. Click Actions, and then click Set Workflow Variable.
Note: If this action does not appear in the list, click More Actions to
see the full list.
2. In the action, click workflow variable, and then click Create a new variable
from the list.
3. In the Edit Variable dialog box, for this example do the following:
In the Name box, type Review status as the name that describes the value
stored by the variable.
In the Type list, click string as the type of data to be stored in the variable.
This variable will store the review status as Approved or Rejected, which are
text strings.
4. Click OK.
5. In the action, click value, and then click the Display data binding icon .
6. In the Define Workflow Lookup dialog box, choose the following options:
In the Lookup Details section:
Source list: Click Tasks (if more than one tasks list is available, choose the
list that contains the custom form field that you created in the previous
section).
Field list: Click Review status (choose the custom form field that you created
in the previous section).
In the Find the List Item section:
Field list: Click Tasks:ID.
Value box: Click the Display data binding icon .
7. In the second Define Workflow Lookup dialog box, choose the following
options:
Source list: Click Workflow Data.
Field list: Click Variable: ID of Review document task.
8. Click OK to return to the first page of the Define Workflow Lookup dialog box.
The final workflow lookup should resemble the following figure.
This lookup says, “Go to the Review status field in the Tasks list. Then go to the
row in the Tasks list whose ID matches the ID stored in the variable for this
instance of the workflow.”
If the workflow runs and creates a task whose ID is 3, this lookup retrieves the
value of the Review status column from the third row in the Tasks list. The next
time the workflow runs, this ID may be 4, so the lookup goes to the fourth row,
and so on.
9. Click OK again.
At this point, your rule should look like this:
1. In the Workflow Designer, under Workflow Steps, click Add workflow step.
3. In the Compare any data source condition, click the first hyperlinked parameter,
and then click the Display data binding icon .
4. In the Define Workflow Lookup dialog box, choose the following options:
Source list: Click Workflow Data.
Field list: Click Variable: Review status.
5. Click OK.
6. In the condition, leave equals as the value for the second parameter.
7. Click the third hyperlinked parameter, type Approved, and then press ENTER.
15. Click Actions, and then add the actions that you want each conditional branch
to perform.
Document Store.
7. Under Select workflow start options for items in Document Store, do the
following:
Clear the Allow this workflow to be manually started from an item check
box.
Select the Automatically start this workflow when a new item is created
check box.
Clear the Automatically start this workflow whenever an item is changed
check box.
8. Click Next.
9. Click Actions, and then click Assign a To-do Item in the Actions list.
Note: If this action is not available in the list, click More Actions to
see the full list.
10. In the action, click the first hyperlinked parameter, in this example it is a to-do
item.
11. On the first page of the Custom Task Wizard, click Next.
12. On the second page of the Custom Task Wizard, for this example do the
following:
In the Name box, type Review Document as the name for this task.
Note: The task name must be unique in the current site.
In the Description box, type Please review this new document, using
comments and track changes only, and then click the Complete Task
button.
This description appears at the top of the custom task form, so it should include
the instructions that the workflow participant should use.
14. In the action, click the Second hyperlinked parameter, in this example it is
these users.
15. In the Select Users dialog box, type a name or e-mail address, or click an
existing user or group in the list, and then click Add.
16. Repeat this step to include other participants to whom you want to assign this
task.
Note: In the Assign a To-do Item action, the workflow creates one
task for each person and group that you select. It does not
expand the group and assign a separate task to each person
in the group.
Instead of entering a specific user or group name, or e-mail
address, you can store this information in a separate list, and
then use workflow lookup to get this information. This way,
you can configure various users and groups as workflow
participants without modifying the workflow itself.
17. When all the appropriate participants appear in the Selected Users box, click
OK.
8 Index
A E
actions ...........................................................................108
else if conditional branch ............................................ 126
add workflow .................................................................124
excluded SharePoint Online Web Services ............... 81
adding custom content ..................................................38
adding, editing, or deleting a heading or link..............43
applying a style sheet ....................................................40 F
applying master page ....................................................36 features ............................................................................. 7
applying theme ...............................................................28 form web part ................................................................. 61
available SharePoint Online Web Services ................77
I
C
inserting content field .................................................... 39
capabilities and limitations ..............................................9 installing site template................................................... 24
changing background color...........................................43 integrating third party web services ............................ 62
collaboration emplates ..................................................12 introduction ....................................................................... 6
conditional branch ........................................................124
conditions ......................................................................108
configuring a subsite ......................................................41
L
create master page ........................................................35 locate and create default.master ................................. 35
create site ........................................................................17
creating blog site ............................................................27
M
creating custom site template .......................................21
creating new site ...................................................... 25, 26 master page
custom templates ...........................................................13 apply ........................................................................... 36
customization customize ................................................................... 29
capabilities ....................................................................9 master page galleries .................................................... 30
customizing cascading style sheets ............................39 meetings templates ....................................................... 13
customizing master page ..............................................29
customizing page layouts ..............................................37 N
customizing SharePoint Online site .............................28
customizing web sites....................................................28 navigation editing and sorting ...................................... 43
no code workflow ......................................................... 108
D
O
data centers ......................................................................7
data view opening page layout ...................................................... 37
conditional formatting................................................60 opening SharePoint Online site ................................... 35
create ..........................................................................53 overview ............................................................................ 6
sorting and grouping .................................................60
default site template .......................................................11 P
design of home page .....................................................43
page layout
add custom content .................................................. 38
insert content field..................................................... 39
open ............................................................................37 W
process user data in workflow ....................................113
workflows ...................................................................... 108
R
removing site template ..................................................25
reordering navigation items ..........................................43
S
set workflow variable ........................................... 119, 120
SharePoint Online Web Services ................................77
available......................................................................77
excluded .....................................................................81
site template
install ...........................................................................24
remove ........................................................................25
site templates
collaboration ...............................................................12
blank site ................................................................12
blog .........................................................................12
document workspace ...........................................12
team site ................................................................12
wiki site ..................................................................12
custom ........................................................................13
board of directors..................................................14
business performance reporting .........................14
case management for government agencies ...14
classroom management ......................................14
clinical trial initiation and management..............14
competitive analysis site ......................................14
discussion database.............................................15
disputed invoice management ............................15
employee activities site ........................................15
employee self-service benefits ...........................15
employee training scheduling and materials ....15
equity research .....................................................15
integrated marketing campaign tracking ...........15
manufacturing process management ................15
new store opening ................................................15
product and marketing requirements planning .16
request for proposal .............................................16
sports league.........................................................16
team work site .......................................................16
timecard management .........................................16
default site templates ................................................11
meetings .....................................................................13
basic meeting workspace ....................................13
solution scenario ............................................................10