sharepoint developer education day palo alto

91
SharePoint for SharePoint for Developers Developers Lynn Langit Lynn Langit Developer Evangelist Developer Evangelist Microsoft Microsoft http://blogs.msdn.com/SoCalDev Gal

Upload: llangit

Post on 28-Jan-2015

115 views

Category:

Business


2 download

DESCRIPTION

This is the deck from my day-long presentation to some NorCal .NET developer UGs

TRANSCRIPT

Page 1: SharePoint  Developer Education Day  Palo  Alto

SharePoint for DevelopersSharePoint for Developers

Lynn LangitLynn LangitDeveloper EvangelistDeveloper EvangelistMicrosoftMicrosofthttp://blogs.msdn.com/SoCalDevGal

Page 2: SharePoint  Developer Education Day  Palo  Alto

About meAbout me

Foundations of SQL Server 2005 Foundations of SQL Server 2005 Business Intelligence (APress)Business Intelligence (APress)

SharePoint ArchitectSharePoint Architect

SharePoint InstructorSharePoint Instructor

MSDN Developer EvangelistMSDN Developer Evangelist

Page 3: SharePoint  Developer Education Day  Palo  Alto

What Will We Cover?What Will We Cover?

SharePoint Developer PlatformSharePoint Developer PlatformDev setup, tools, templatesDev setup, tools, templates

Container Objects & MetadataContainer Objects & MetadataTemplates, sites, collections, pages, content typesTemplates, sites, collections, pages, content types

User ObjectsUser ObjectsWeb parts, Lists, Libraries, Workflows, InfoPathWeb parts, Lists, Libraries, Workflows, InfoPath

Data & SecurityData & SecuritySSP, BDC, Excel ServicesSSP, BDC, Excel Services

Page 4: SharePoint  Developer Education Day  Palo  Alto

ScheduleSchedule

Session 1- 9 am to 10 amSession 1- 9 am to 10 am

Session 2 – 10:15 to 12 Session 2 – 10:15 to 12

Lunch – 12 to 1pm Lunch – 12 to 1pm

Session 3 – 1 pm to 2:15 pm Session 3 – 1 pm to 2:15 pm

Session 4 – 2:30 to 4:00 pmSession 4 – 2:30 to 4:00 pm

Giveaways & Wrap Up Giveaways & Wrap Up

Page 5: SharePoint  Developer Education Day  Palo  Alto

ConvergenceConvergence

SharePoint Portal Server 2001SharePoint Portal Server 2001SharePoint Team Services “v1”SharePoint Team Services “v1”

Content Management Content Management Server 2002Server 2002

SharePoint Portal Server 2003SharePoint Portal Server 2003

Windows SharePoint Services “v2”Windows SharePoint Services “v2”

Windows SharePoint Services v3Windows SharePoint Services v3

Office SharePoint Server 2007Office SharePoint Server 2007

Page 6: SharePoint  Developer Education Day  Palo  Alto

Portals for everyonePortals for everyone

Page 7: SharePoint  Developer Education Day  Palo  Alto

2007 Office System Capabilities2007 Office System Capabilities

FundamentalsFundamentals

Enterprise Content ManagementEnterprise Content Management

Business Business IntelligenceIntelligence

Communication Communication and and

CollaborationCollaboration Individual ImpactIndividual Impact

Page 8: SharePoint  Developer Education Day  Palo  Alto

OperatingOperating SystemSystem ServicesServices

PlatformPlatform ServicesServices

Applications and Applications and ServicesServices

SharePoint Functional SharePoint Functional ArchitectureArchitecture

CollaboratioCollaborationn

PortalPortal SearchSearchContent Content

ManagemeManagementnt

BusinessBusiness ProcessesProcesses

BusinessBusiness IntelligenceIntelligence

SharedShared ServicesServices

SecuritySecurity Site Site ModelModel

ExtensibilitExtensibilityy

DeploymeDeploymentnt

ManagemManagementent

StorageStorage

ASP ASP ..NETNETDatabase ServicesDatabase Services Search ServicesSearch Services Workflow ServicesWorkflow Services

Page 9: SharePoint  Developer Education Day  Palo  Alto

ECM in SharePoint Server 2007ECM in SharePoint Server 2007

ECMECM ComponentsComponentsRecords Records

ManagementManagementWeb Content Web Content ManagementManagement

Forms Forms ManagementManagement

Document Document ManagementManagement

UserUser InterfaceInterfaceMicrosoft OfficeMicrosoft Office Web Web

browsersbrowsers33rdrd-party -party

appsapps

UnifiedUnified StoraStoragege

ArchitectureArchitecture

UnifiedUnified ServicesServicesWorkfloWorkfloww

MetadatMetadataa

PoliciesPolicies

SearchSearch SecuritySecurity IRMIRM CollabCollab

Library SvcsLibrary Svcs..

Page 10: SharePoint  Developer Education Day  Palo  Alto

Portal Development AreasPortal Development Areas

Portal SitesPortal Sites

People and Expertise SearchPeople and Expertise Search

My SiteMy Site

Targeting and Targeting and PersonalizationPersonalization

Profile Store ImprovementsProfile Store Improvements

Page 11: SharePoint  Developer Education Day  Palo  Alto

Enterprise searchEnterprise search

Search CustomizationSearch Customization

Top results on first Top results on first pagepage

Revamped ranking Revamped ranking engineengine

Page 12: SharePoint  Developer Education Day  Palo  Alto

What is SharePoint?What is SharePoint?

Page 13: SharePoint  Developer Education Day  Palo  Alto

SharePoint SharePoint Developer EnvironmentDeveloper Environment

Within SharePointWithin SharePointRe-use existing itemsRe-use existing items

Change default itemsChange default items

Extend default itemsExtend default items

Re-use customized itemsRe-use customized items

Wire-ups – data, forms, workflows, moreWire-ups – data, forms, workflows, more

Page 14: SharePoint  Developer Education Day  Palo  Alto

SharePoint as a developer platformSharePoint as a developer platform

Page 15: SharePoint  Developer Education Day  Palo  Alto

Windows Server 2003 or 2008Windows Server 2003 or 2008IIS 6.0 or 7.0IIS 6.0 or 7.0

WSS 3.0WSS 3.0

DatabaseDatabaseSQL WMSDE or SQL ServerSQL WMSDE or SQL Server

SharePoint ServerSharePoint Server

(Usually) Virtual Server or PC(Usually) Virtual Server or PC

(Usually) Office Professional 2007(Usually) Office Professional 2007

(Usually) Visual Studio 2005 or 2008(Usually) Visual Studio 2005 or 2008

SPS SPS Developer EnvironmentDeveloper Environment

Page 16: SharePoint  Developer Education Day  Palo  Alto

Part of the Office SuitePart of the Office Suite

ASP.NET 2.0 supportASP.NET 2.0 supportTool for Web designers for ASP.NET 2.0Tool for Web designers for ASP.NET 2.0

Great design and development experience with Great design and development experience with Expression Web and Visual Studio 2005Expression Web and Visual Studio 2005

Deep support for popular data technologies, such Deep support for popular data technologies, such as XML, XSLT and RSSas XML, XSLT and RSS

Built-in ASP.NET development serverBuilt-in ASP.NET development server

SPS DesignerSPS DesignerDeveloper EnvironmentDeveloper Environment

Page 17: SharePoint  Developer Education Day  Palo  Alto

SharePoint DesignerSharePoint DesignerHTML ControlsHTML Controls

standard HTML standard HTML controlscontrols

Form ControlsForm Controls

Page 18: SharePoint  Developer Education Day  Palo  Alto

SharePoint DesignerSharePoint DesignerASP.NET 2.0 ControlsASP.NET 2.0 Controls

StandardStandard

DataData

ValidationValidation

NavigationNavigation

LoginLogin

Web PartsWeb Parts

Page 19: SharePoint  Developer Education Day  Palo  Alto

SharePoint DesignerSharePoint DesignerSharePoint ControlsSharePoint Controls

Data View ControlsData View Controls

Server ControlsServer Controlsbased on current sitebased on current site

Page Fields (publishing)Page Fields (publishing)

Content Fields (publishing)Content Fields (publishing)

Page 20: SharePoint  Developer Education Day  Palo  Alto

SharePoint DesignerSharePoint DesignerEditing a SharePoint siteEditing a SharePoint site

Open siteOpen site

Enter credentialsEnter credentials

Work with pages & content!Work with pages & content!

Page 21: SharePoint  Developer Education Day  Palo  Alto

Working with SharePoint DesignerWorking with SharePoint Designer

Page 22: SharePoint  Developer Education Day  Palo  Alto

VS and SPS VS and SPS DownloadsDownloads

.NET framework 3.0.NET framework 3.0

VSTO (version 2)VSTO (version 2)

Visual Studio 2005/8 Designer for Windows Visual Studio 2005/8 Designer for Windows Workflow FoundationWorkflow Foundation

Windows SharePoint Services 3.0 Tools: Visual Windows SharePoint Services 3.0 Tools: Visual Studio 2005/8 ExtensionsStudio 2005/8 Extensions

WSS SDKWSS SDK

Enterprise Content Management (ECM) Starter Enterprise Content Management (ECM) Starter Kit (template for SharePoint workflows)Kit (template for SharePoint workflows)

Included in SharePoint SDKIncluded in SharePoint SDK

Page 23: SharePoint  Developer Education Day  Palo  Alto

VS and SPS – other resourcesVS and SPS – other resourcesDownloadsDownloads

CodePlexCodePlexCommunity KitCommunity Kit

Forms-authentication toolkitForms-authentication toolkit

LINQ to CAMLLINQ to CAML

MSDN MSDN Web Service documentationWeb Service documentation

Fantastic 40, more…Fantastic 40, more…

BlogsBlogsSharePoint Team BlogSharePoint Team Blog

Lynn’s blogLynn’s blog

Page 24: SharePoint  Developer Education Day  Palo  Alto

Working inside Visual Studio Working inside Visual Studio

Page 25: SharePoint  Developer Education Day  Palo  Alto

15 minute break15 minute break

Page 26: SharePoint  Developer Education Day  Palo  Alto

What Will We Cover?What Will We Cover?

Page 27: SharePoint  Developer Education Day  Palo  Alto

What are the fantastic 40?What are the fantastic 40?

Page 28: SharePoint  Developer Education Day  Palo  Alto

SPS Sites & Templates are…SPS Sites & Templates are…

Containers for UI (web pages which contain Containers for UI (web pages which contain web parts)web parts)

Containers for business logic (workflows)Containers for business logic (workflows)

Containers for data display (internal and Containers for data display (internal and external)external)

Containers for groups of sites (collections)Containers for groups of sites (collections)

Automatically added to navigationAutomatically added to navigation

Automatically security trimmedAutomatically security trimmed

Page 29: SharePoint  Developer Education Day  Palo  Alto

SPS Pages are…SPS Pages are…

Containers for UI (web pages which contain Containers for UI (web pages which contain web parts)web parts)

Containers for business logic (workflows)Containers for business logic (workflows)

Containers for data display (internal and Containers for data display (internal and external)external)

ASP.NET 2.0 compatibleASP.NET 2.0 compatible

Automatically added to navigationAutomatically added to navigation

Page 30: SharePoint  Developer Education Day  Palo  Alto

Sites, Site Collections, TemplatesSites, Site Collections, Templates

Page 31: SharePoint  Developer Education Day  Palo  Alto

What is a Content Type?What is a Content Type?

Information about contentInformation about content

Metadata (columns) Metadata (columns)

Strongly typedStrongly typedinheritableinheritable

Defined using XMLDefined using XMLSite admin tools or programmaticallySite admin tools or programmatically

Available globallyAvailable globally

Page 32: SharePoint  Developer Education Day  Palo  Alto

Why use Content Types?Why use Content Types?

Reusable – multiple librariesReusable – multiple libraries

Inheritable – from base typesInheritable – from base types

Strongly typedStrongly typed

SecurableSecurable

Scoped to the siteScoped to the site

Can be based on internal or external dataCan be based on internal or external data

Supports standard taxonomy implementationSupports standard taxonomy implementation

Page 33: SharePoint  Developer Education Day  Palo  Alto

Profile PropertiesProfile Properties

A special kind of content typeA special kind of content type

ExtendableExtendable

Mapped to Active Directory (LDAP) – default Mapped to Active Directory (LDAP) – default providerprovider

Page 34: SharePoint  Developer Education Day  Palo  Alto

Working with Content TypesWorking with Content Types

Page 35: SharePoint  Developer Education Day  Palo  Alto

1-hr lunch break1-hr lunch break

Page 36: SharePoint  Developer Education Day  Palo  Alto

What Will We Cover?What Will We Cover?

Page 37: SharePoint  Developer Education Day  Palo  Alto

What is a Web Part?What is a Web Part?

UI for SharePoint or ASP.NET 2.0 pageUI for SharePoint or ASP.NET 2.0 page

Reusable ‘chunk’ of contentReusable ‘chunk’ of contentLike a ‘smart ‘.ascx’ file Like a ‘smart ‘.ascx’ file

Displays XML, formats via XSLTDisplays XML, formats via XSLT

Page 38: SharePoint  Developer Education Day  Palo  Alto

Lists – the core web part typeLists – the core web part type

Rows and Columns of strongly typed dataRows and Columns of strongly typed data

Most basic web partMost basic web part

Can create, customize, extend, create from Can create, customize, extend, create from ExcelExcel

Views not Folders – expose Metadata Views not Folders – expose Metadata intelligentlyintelligently

Page 39: SharePoint  Developer Education Day  Palo  Alto

Libraries – specialty web partsLibraries – specialty web parts

Libraries vs. ListsLibraries vs. Lists

Library characteristicsLibrary characteristicsMetadataMetadata

ViewsViews

DocumentsDocuments

PicturesPictures

FormsForms

Page 40: SharePoint  Developer Education Day  Palo  Alto

3 types of libraries in SharePoint3 types of libraries in SharePoint

Page 41: SharePoint  Developer Education Day  Palo  Alto

Libraries - advancedLibraries - advanced

Base document type(s)Base document type(s)

Custom metadataCustom metadataContent TypesContent Types

Re-package library as content type (feature)Re-package library as content type (feature)

PermissionsPermissionsMenu optionsMenu options

WorkflowWorkflow

Page 42: SharePoint  Developer Education Day  Palo  Alto

Customizing libraries inside of Customizing libraries inside of SharePointSharePoint

Page 43: SharePoint  Developer Education Day  Palo  Alto

Why use Web Parts?Why use Web Parts?

Reusable – multiple sites, pages, librariesReusable – multiple sites, pages, libraries

Inheritable – from base typesInheritable – from base types

Strongly typedStrongly typed

SecurableSecurableSecurity-trimmed by defaultSecurity-trimmed by default

Customizable by authorized usersCustomizable by authorized usersPublic propertiesPublic properties

Connectable (can pass data for filtering)Connectable (can pass data for filtering)

Page 44: SharePoint  Developer Education Day  Palo  Alto

How end users use Web Parts?How end users use Web Parts?

Customize on pageCustomize on pageSimple or Advanced propertiesSimple or Advanced properties

Add to page from galleryAdd to page from gallerySimple or Advanced viewSimple or Advanced view

Create pages or sites from templatesCreate pages or sites from templatesTemplates can include web partsTemplates can include web parts

Page 45: SharePoint  Developer Education Day  Palo  Alto

Web Parts in actionWeb Parts in action

Page 46: SharePoint  Developer Education Day  Palo  Alto

How to get Web Parts?How to get Web Parts?

Download – free or purchaseDownload – free or purchase

Customize existing from within SharePointCustomize existing from within SharePoint

Create from with SharePointCreate from with SharePoint

Create using SharePoint DesignerCreate using SharePoint Designer

Create using Visual StudioCreate using Visual Studio

Page 47: SharePoint  Developer Education Day  Palo  Alto

Using Visual Studio for Web Using Visual Studio for Web Part DevelopmentPart Development

Use ASP.NET templateUse ASP.NET template

Use Toolbox section for Web PartsUse Toolbox section for Web PartsWebPartManager or SharePointWebPartManagerWebPartManager or SharePointWebPartManager

WebPartZoneWebPartZone

MoreMore

Page 48: SharePoint  Developer Education Day  Palo  Alto

How to create Web Parts in Visual How to create Web Parts in Visual StudioStudio

Page 49: SharePoint  Developer Education Day  Palo  Alto

Typical Deployment stepsTypical Deployment steps

Create web partCreate web part

Copy to \bin or GACCopy to \bin or GAC

Set Web.config trust levelSet Web.config trust level

Add Web.config entry for SafeControlsAdd Web.config entry for SafeControls

Add .webpart file (gallery browsing)Add .webpart file (gallery browsing)

Test webpart on a pageTest webpart on a page

Page 50: SharePoint  Developer Education Day  Palo  Alto

What’s a Feature?What’s a Feature?

Reusable chunk of content for SharePointReusable chunk of content for SharePoint

Can be scoped to site or subset of siteCan be scoped to site or subset of site

ExamplesExamplesContent TypeContent Type

ListList

WorkflowWorkflow

Web partWeb part

Page 51: SharePoint  Developer Education Day  Palo  Alto

How to implement featuresHow to implement features

add subfolder with a Feature definition within add subfolder with a Feature definition within Features setup directoryFeatures setup directory

includes Feature.xml includes Feature.xml defines the base properties of the Feature & lists defines the base properties of the Feature & lists elements bound to itelements bound to it

Work with features Work with features Via SharePoint UIVia SharePoint UI

Using Stsadm.exeUsing Stsadm.exe

Using the SharePoint object modelUsing the SharePoint object model

Page 52: SharePoint  Developer Education Day  Palo  Alto

Deploying Web Parts as FeaturesDeploying Web Parts as Features

Page 53: SharePoint  Developer Education Day  Palo  Alto

What is InfoPath?What is InfoPath?

RAD form-design applicationRAD form-design applicationData binding optionsData binding options

Included controlsIncluded controls

Sophisticated securitySophisticated securityIntegration w/ Active Directory and moreIntegration w/ Active Directory and more

Included with Office xxx versionIncluded with Office xxx version

Based on XML – embeddable in ASP.NETBased on XML – embeddable in ASP.NET

Many deployment optionsMany deployment options

Page 54: SharePoint  Developer Education Day  Palo  Alto

Using & Customize InfoPath formsUsing & Customize InfoPath forms

Page 55: SharePoint  Developer Education Day  Palo  Alto

How do I create a Form?How do I create a Form?

Customize a sampleCustomize a sample

Based on a XSD schemaBased on a XSD schema

Based on a relational data sourceBased on a relational data source

Based on a web serviceBased on a web service

Using Visual StudioUsing Visual Studio

Page 56: SharePoint  Developer Education Day  Palo  Alto

Create a Form – using various Create a Form – using various methodsmethods

Page 57: SharePoint  Developer Education Day  Palo  Alto

Form deploymentForm deployment

File (shared folder)File (shared folder)

Web siteWeb site

SharePoint librarySharePoint library

OtherOther

Page 58: SharePoint  Developer Education Day  Palo  Alto

Form deploymentForm deployment

Page 59: SharePoint  Developer Education Day  Palo  Alto

Forms Services in SharePointForms Services in SharePoint

Configuring the SSPConfiguring the SSPShared Services ProviderShared Services Provider

Security considerationsSecurity considerations

Deploying the formDeploying the form

Using the form via SharePoint librariesUsing the form via SharePoint libraries

Page 60: SharePoint  Developer Education Day  Palo  Alto

Deploying to forms servicesDeploying to forms services

Page 61: SharePoint  Developer Education Day  Palo  Alto

Advanced capabilitiesAdvanced capabilities

Tablet (ink) supportTablet (ink) support

Digital signaturesDigital signatures

AttachmentsAttachments

SharePoint workflowsSharePoint workflows

Page 62: SharePoint  Developer Education Day  Palo  Alto

What is a Workflow?What is a Workflow?

Unit of Business LogicUnit of Business LogicContains ActivitiesContains Activities

Contains cancel & fault handlers Contains cancel & fault handlers

Based on Windows Workflow in .NET 3.0Based on Windows Workflow in .NET 3.0

Visually DesignedVisually DesignedXOML – uncompiled –OR--XOML – uncompiled –OR--

.NET language - compiled.NET language - compiled

Page 63: SharePoint  Developer Education Day  Palo  Alto

Why use Workflows?Why use Workflows?

Reusable – multiple sites, pages, librariesReusable – multiple sites, pages, libraries

Inheritable – from base workflowsInheritable – from base workflows

Visually documentedVisually documented

Capture business logicCapture business logic

Customizable by authorized usersCustomizable by authorized usersPublic propertiesPublic properties

Page 64: SharePoint  Developer Education Day  Palo  Alto

How end users use Workflows?How end users use Workflows?

Automatic invocation –OR-Automatic invocation –OR-Office, i.e. Word, etc…Office, i.e. Word, etc…

SharePoint document librarySharePoint document library

Manual invocationManual invocation

Can associate multiple workflows with single Can associate multiple workflows with single document or librarydocument or library

Page 65: SharePoint  Developer Education Day  Palo  Alto

Workflows in actionWorkflows in action

Page 66: SharePoint  Developer Education Day  Palo  Alto

How to get Workflows?How to get Workflows?

Download – free or purchaseDownload – free or purchase

Customize existing from within SharePointCustomize existing from within SharePoint

Create from with SharePointCreate from with SharePoint

Create using SharePoint DesignerCreate using SharePoint Designer

Create using Visual StudioCreate using Visual Studio

Page 67: SharePoint  Developer Education Day  Palo  Alto

Limits of SharePoint Designer Limits of SharePoint Designer for Workflow Development Ifor Workflow Development I

Workflow is associated to one list or library Workflow is associated to one list or library onlyonly

Can NOT package as a featureCan NOT package as a feature

Sequential Workflows onlySequential Workflows onlyDesigning State Machine Workflows not Designing State Machine Workflows not supportedsupported

Page 68: SharePoint  Developer Education Day  Palo  Alto

Limits of SharePoint Designer Limits of SharePoint Designer for Workflow Development IIfor Workflow Development II

Designing custom Activities not supportedDesigning custom Activities not supportedDebugging not supportedDebugging not supported

Does not support all form types, i.e. InfoPath, Does not support all form types, i.e. InfoPath, etc…etc…

Uses XOML – no code behind (beside)Uses XOML – no code behind (beside)

Page 69: SharePoint  Developer Education Day  Palo  Alto

Using SharePoint Designer for Using SharePoint Designer for Workflow DevelopmentWorkflow Development

Customize existing SharePoint workflowsCustomize existing SharePoint workflows

Create new workflowsCreate new workflowsUse Workflow Designer WizardUse Workflow Designer Wizard

Creates XOML fileCreates XOML file

Page 70: SharePoint  Developer Education Day  Palo  Alto

Creating Workflows in SharePoint Creating Workflows in SharePoint DesignerDesigner

Page 71: SharePoint  Developer Education Day  Palo  Alto

Using Visual Studio for Using Visual Studio for Workflow DevelopmentWorkflow Development

Workflow templatesWorkflow templates

Visual Studio templatesVisual Studio templatesSequence or State Machine (Library or Console Sequence or State Machine (Library or Console application) application)

SharePoint Sequence or State Machine LibrarySharePoint Sequence or State Machine Library

Activity LibraryActivity Library

Page 72: SharePoint  Developer Education Day  Palo  Alto

State Machine vs. Sequential?State Machine vs. Sequential?

Sequential == known, one-way flow, i.e. A, Sequential == known, one-way flow, i.e. A, then B, then C, etc…then B, then C, etc…

Machine processesMachine processes

State == states, looping possible, i.e. meal is State == states, looping possible, i.e. meal is ordered, meal is cooked, meal is sent back, ordered, meal is cooked, meal is sent back, meal is updatedmeal is updated

Human processesHuman processes

Page 73: SharePoint  Developer Education Day  Palo  Alto

Workflows in Visual Studio IWorkflows in Visual Studio ICode-behind workflows in C# or VB.NETCode-behind workflows in C# or VB.NET

Both sequential or state workflowsBoth sequential or state workflows

Can include workflow modificationsCan include workflow modifications

Can use custom activitiesCan use custom activities

Debugging availableDebugging available

Page 74: SharePoint  Developer Education Day  Palo  Alto

Workflows in Visual Studio IIWorkflows in Visual Studio IIWorkflows as templates Workflows as templates

Can be bound to multiple locationsCan be bound to multiple locations

Can use any form type Can use any form type ASP forms, InfoPath, etc…ASP forms, InfoPath, etc…

Packaged as a featurePackaged as a feature

Page 75: SharePoint  Developer Education Day  Palo  Alto

How to create Workflows in Visual How to create Workflows in Visual StudioStudio

Page 76: SharePoint  Developer Education Day  Palo  Alto

15 minute break15 minute break

Page 77: SharePoint  Developer Education Day  Palo  Alto

What Will We Cover?What Will We Cover?

Page 78: SharePoint  Developer Education Day  Palo  Alto

What is the BDC?What is the BDC?

Shared Service for MOSS allowing back-end Shared Service for MOSS allowing back-end data to be used in MOSS sitesdata to be used in MOSS sites

No code integration No code integration

XML metadata file XML metadata file

Application Definition File (ADF)Application Definition File (ADF)

MOSS designed to integrateMOSS designed to integrateWeb parts, lists, search and moreWeb parts, lists, search and more

Page 79: SharePoint  Developer Education Day  Palo  Alto

Why use the BDC?Why use the BDC?

RAD – no code connections to data sourcesRAD – no code connections to data sources

Back-end data can be integrated into MOSS Back-end data can be integrated into MOSS sitessites

Strongly typedStrongly typed

SecurableSecurable

Scoped to the siteScoped to the site

Page 80: SharePoint  Developer Education Day  Palo  Alto

What does it look like?What does it look like?

Page 81: SharePoint  Developer Education Day  Palo  Alto

Using BDC content from Using BDC content from AdventureWorks 2000AdventureWorks 2000

Page 82: SharePoint  Developer Education Day  Palo  Alto

What is an ADF?What is an ADF?

Metadata about data sourceMetadata about data source

Similar to, but not the same as, an XSD Similar to, but not the same as, an XSD schemaschema

Required, formal structureRequired, formal structureIncludes sophisticated security model (for Includes sophisticated security model (for example 5 methods of authentication supported example 5 methods of authentication supported and checkAccess() for security trimming)and checkAccess() for security trimming)

Samples on MSDNSamples on MSDN

Page 83: SharePoint  Developer Education Day  Palo  Alto

Create the ADF – hard wayCreate the ADF – hard way

Manual XMLManual XMLcopy BdcMetadata.XSD from <copy BdcMetadata.XSD from <RootRoot>\Program >\Program Files\Microsoft Office Servers\12.0\Bin to your Files\Microsoft Office Servers\12.0\Bin to your working folderworking folder

Then point the Then point the SchemaLocationSchemaLocation attribute in the attribute in the XML file to the schema locationXML file to the schema location

The use VS IntellisenseThe use VS Intellisense

Page 84: SharePoint  Developer Education Day  Palo  Alto

Create the ADF – easy wayCreate the ADF – easy way

Download a free ADF generator tool, such as Download a free ADF generator tool, such as Todd Baginski’s tool at Todd Baginski’s tool at http://www.sharepointblogs.com/tbaginski/archttp://www.sharepointblogs.com/tbaginski/archive/2006/07/16/9259.aspxhive/2006/07/16/9259.aspx

Connect to your data sourceConnect to your data source

Generate the ADFGenerate the ADF

Review the ADF for correctnessReview the ADF for correctness

Page 85: SharePoint  Developer Education Day  Palo  Alto

Create an ADF for the BDCCreate an ADF for the BDC

Page 86: SharePoint  Developer Education Day  Palo  Alto

Configure the BDCConfigure the BDC

Configure the SSP for the siteConfigure the SSP for the site

Use the ADF file to set up the BDC Use the ADF file to set up the BDC connectionconnection

Use a web part to testUse a web part to test

Page 87: SharePoint  Developer Education Day  Palo  Alto

Configure the ADF for the BDCConfigure the ADF for the BDC

Page 88: SharePoint  Developer Education Day  Palo  Alto

BDC in MOSSBDC in MOSS

Works with web partsWorks with web parts

Works with lists & user profiles(i.e. add Works with lists & user profiles(i.e. add meta data)meta data)

Works with custom search (i.e. search for Works with custom search (i.e. search for meta data)meta data)

Works with actions (i.e. update source Works with actions (i.e. update source data, etc…)data, etc…)

Page 89: SharePoint  Developer Education Day  Palo  Alto

Working with BDC data in MOSSWorking with BDC data in MOSS

Page 90: SharePoint  Developer Education Day  Palo  Alto

Session SummarySession Summary

Understand the new paradigmUnderstand the new paradigm

Use libraries not foldersUse libraries not foldersTaxonomies / metadata is keyTaxonomies / metadata is key

Exploit viewsExploit views

Educate end usersEducate end users

Explore SharePoint itself first, then SPD, then Explore SharePoint itself first, then SPD, then VSVS

Page 91: SharePoint  Developer Education Day  Palo  Alto

Lynn LangitLynn LangitDeveloper EvangelistDeveloper EvangelistMicrosoft CorporationMicrosoft Corporationhttp://blogs.msdn.com/SoCalDevGalhttp://blogs.msdn.com/SoCalDevGal