Custom Search Web Parts
Download
Report
Transcript Custom Search Web Parts
Everything We Can
Possibly Cover about
Developing with
SharePoint® Technology in
an Hour's Time
Sofia, Bulgaria | 9-10 October
Agenda
● This session is all about “what”, not “how”
● We’ll explain what’s different to developing with
Windows SharePoint Services v3 and Microsoft
Office SharePoint Server 2007
● We’ll enumerate where within SharePoint Products
and Technologies you can add your own code
● We’re here to provide a big picture – albeit a
technical big picture
● We’ll point you to the places
to go for more information about
how to do all of these things
Sofia, Bulgaria | 9-10 October
What is SharePoint
Technology Designed to
Accomplish?
Sofia, Bulgaria | 9-10 October
Windows SharePoint
Services version 3
Docs/tasks/calendars, blogs,
wikis, e-mail integration,
project management “lite”,
Outlook integration,
offline docs/lists
Collaboration
Platform
Services
Workspaces, Mgmt,
Security, Storage,
Topology, Site Model
Sofia, Bulgaria | 9-10 October
Microsoft Office
SharePoint Server 2007
Server-based Excel
spreadsheets and data
visualization, Report
Center, BI Web Parts,
KPIs/Dashboards
Docs/tasks/calendars, blogs,
wikis, e-mail integration,
project management “lite”,
Outlook integration,
offline docs/lists
Business
Intelligence
Rich and Web
forms based frontends, LOB
actions, enterprise
SSO
Business
Forms
Platform
Services
Workspaces, Mgmt,
Security, Storage,
Topology, Site Model
Content
Management
Integrated document
management, records
management, and Web
content management with
policies and workflow
Collaboration
Portal
Enterprise Portal
template, Site
Directory, My
Sites, social
networking,
privacy control
Search
Enterprise scalability,
contextual relevance, rich
people and business
data search
Sofia, Bulgaria | 9-10 October
How does SharePoint
Technology Fit Together?
Sofia, Bulgaria | 9-10 October
SharePoint Technology Stack
Applications/Portals
Collaboration
Enterprise Content
Management
Personalization
Search
Business
Application
Integration
Business
Intelligence
Discussions
Calendars
E-Mail
Presence
Project Mgt.
“Lite”
Offline
Authoring
Approval
Web Publishing
Policy/Auditing
Rights Management
Retention
Multi-Lingual
Staging
My Sites
Targeting
People
Finding
Social
Networking
Privacy
Profiles
Indexing
Relevance
Metadata
Alerts
User Experience
Rich Forms
Web Forms
Biz Data Catalog
Data in Lists
LOB Actions
Single Sign-On
BizTalk Integration
Server Calculations
Web Rendering
KPIs
Dashboards
Report Centers
SQL RS Integration
SQL AS Integration
Core Workspace Services
Storage
Security
Management
Topology
Site Model
APIs
Repository
Metadata
Versioning
Backup
Rights/Roles
Pluggable Auth
Per Item
Rights Trimming
Admin UX
Delegation
Provisioning
Monitoring
Config. Mgmt.
Farm Services
Feature Policy
Extranet
Rendering
Templates
Navigation
Visual Blueprint
Fields/Forms
OM and SOAP
Events
Deployment
Operating System Services
ASP.NET (Web Parts, Personalization, Master Pages, Provider Model for navigation, security, etc. )
ADO.NET / SQL Server
IIS
Windows Workflow Foundation
Sofia, Bulgaria | 9-10 October
Why Develop with
SharePoint Sites?
Sofia, Bulgaria | 9-10 October
Anatomy of a Page Request
The typical ASP.NET way
Browser:
HTTP GET
http://server/appname
IIS
C:\inetpub\wwwroot\appname
web.config
default.aspx
myapp.css
mycontrol.dll
myothercontrol.ascx
.
.
.
Database
Sofia, Bulgaria | 9-10 October
Anatomy of a Page Request
The Windows SharePoint Services way
Browser:
HTTP GET
http://server/appname
IIS
WSS
all work and no play
makes Jack a dull boy
all work and no play
makes Jack a dull boy
Web Part
Assemblies
Database
Site Definition
/bin or GAC
Default.aspx
schema.xml
allitems.aspx
WebPart1.dll
WebPart2.dll
Sofia, Bulgaria | 9-10 October
Many Sites on a Single Farm
The typical ASP.NET way
Browser:
HTTP GET
http://server/appname
Default.aspx
web.config
IIS
Default.aspx
otherpage.aspx
Default.aspx
web.config
mystyles.css
Default.aspx
web.config
otherpage.aspx
web.config
otherpage.aspx
mystyles.css
Default.aspx
otherpage.aspx Defau
mystyles.css
Default.aspx
web.config
Default.aspxweb.config
Default.aspx
mystyles.css
Database web.c
otherpage.aspx
web.config
web.config
Default.aspx Default.aspxotherpage.aspx
Default.aspx
otherp
Default.aspx
mystyles.css
atabase web.config otherpage.aspx
otherpage.aspx
Default.aspx
Default.aspx
Default.aspx
web.config
mystyles.css
mysty
web.config
web.config
Default.aspx
mystyles.css
mystyles.css
otherpage.aspx
web.config otherpage.aspx
web.config otherpage.aspx
web.config
otherpage.aspx
Default.aspx
Database
web.config
mystyles.css
otherpage.aspx
otherpage.aspx
Database
mystyles.css otherpage.aspx
mystyles.css
web.config
mystyles.css
otherpage.aspx
Database
mystyles.css
mystyles.css mystyles.css
otherpage.aspx
mystyles.css
mystyles.css
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database Sofia, Bulgaria | 9-10 October
Database
Many Sites on a Single Farm
The Windows SharePoint Services way
Browser:
HTTP GET
http://server/appname
IIS
WSS
all work and no play
makes Jack a dull boy
all work and no play
makes Jack a dull boy
Web Part
Assemblies
Database
Site Definition
/bin or GAC
Default.aspx
schema.xml
allitems.aspx
WebPart1.dll
WebPart2.dll
Sofia, Bulgaria | 9-10 October
Why Develop with SharePoint
Sites?
● Provisioning engine
● One project can yield thousands of instances
● Information store
● List and document management services
● Events and workflow
● Access via SOAP, WebDAV, et. al.
● Ready-to-use facilities you don’t have to write
● Pre-existing list templates
● Navigation, security, site administration, logging,
etc.
Sofia, Bulgaria | 9-10 October
A Quick Standardization of
Terms
IIS
WSS v2 / SPS 2003
WSS v3 / MOSS
Web Sites
Virtual Servers
Web Applications
● SPSite = WSS Site Collection
Physical Server
● SPWeb (or Web) = WSS Site
Web Application(s)
Top Level Site(s)
Site(s)
Site(s)
Site Collection
Sofia, Bulgaria | 9-10 October
What Do You Build for
Windows SharePoint Services?
● Store Enhancements
●
●
●
●
●
Event Receivers
Workflows
Field Types
Content Migration
Security Policies
● Site Metadata
● Site Columns
● Content Types
● List Definitions
● UI Enhancements
● Web Parts
● Master Pages
● View Definitions
● Smart Clients
● SOAP
● WebDAV
● FrontPage RPCs
● Provisioning
● Site Definitions
● Feature Definitions
● Provisioning
Assemblies
Sofia, Bulgaria | 9-10 October
Data
● Lists, libraries, views
● Calendars / Contacts / Announcements / Links /
Surveys / Discussions …
● Change logs
● Exposed on server via managed object model
● Exposed remotely via Web Services
● Documents
● Accessible via WebDAV or FrontPage RPCs
● You can create SOAP interface, but be careful
Sofia, Bulgaria | 9-10 October
Sofia, Bulgaria | 9-10 October
Demonstration
Smart Clients and Web Services
Events
● Before and after events
● List schema events
● SPWeb deletion events
● Events on lists and libraries
● Pre-synchronous with cancellation and filtering
● Multiple event receivers
● Event Receivers per list Item
● Attach events at SPWeb or Item Level
Sofia, Bulgaria | 9-10 October
Sofia, Bulgaria | 9-10 October
Demonstration
Event Receivers
Workflow
● Windows Workflow Foundation embedded
● Types of projects
● Workflow activities
● Workflow assemblies
● Workflow metadata
● Workflow UI
● Tools
● Visual Studio
● SharePoint Designer
Sofia, Bulgaria | 9-10 October
Metadata
● Site Columns
● Centralized Field
Management
● e.g., all “Priority” fields should have 3 choices: 1, 2, 3
● Inherits to subsites
● Content Types
● Reusable definition of a list schema
● Hierarchical
● Associate Behaviors
● Events
● Document Templates
● Workflows
● Inherits to subsites
Sofia, Bulgaria | 9-10 October
Sofia, Bulgaria | 9-10 October
Demonstration
Content Types and Site Columns
ASP.NET Extensions
● Web Parts
● Custom pages
● Application Pages (apply to all sites)
● Site Pages
● Master Pages
● Custom controls
● User/role providers
● Allow for forms-based authentication
● ASP.NET ships with SQL Server and Active
Directory/ADAM providers in the box
Sofia, Bulgaria | 9-10 October
Sofia, Bulgaria | 9-10 October
Demonstration
Master Pages in SharePoint Sites
Feature Definitions
● Collection set of components and
specifications
● e.g., list, view, Web Part, workflow,
content type, custom page
● Interdependent – useless without each
other
● Installed as a set
● Activated in sites if site owner chooses
● Can be programmatically activated
Sofia, Bulgaria | 9-10 October
Sofia, Bulgaria | 9-10 October
Demonstration
Feature Definitions
Site Definitions
● “Real” templates (c.f., user templates)
● Instructions for creating a site
● Assets referenced by a site
● Can be little more than a set of features
● Can call provisioning assembly code
during site creation
Sofia, Bulgaria | 9-10 October
Development Environment
● Tools
● Visual Studio 2005
● Microsoft Office SharePoint Designer
2007
● Platform
● Windows Server 2003
Sofia, Bulgaria | 9-10 October
Use SharePoint Designer to…
● Write No-code workflows
● Modify CSS files
● Edit .aspx pages
● Add script to pages
● Customize look & feel of Web Parts
● Write XSLT to customize data rendering
● More…
Sofia, Bulgaria | 9-10 October
Rich Data Views
Sofia, Bulgaria | 9-10 October
Workflow in SharePoint Designer
Sofia, Bulgaria | 9-10 October
Use Visual Studio to…
● Create code components
●
●
●
●
Web Parts
Event receivers
Document converters
Workflow activities, templates
● Create provisioning assets
● Site definitions
● Feature definitions
● XSDs provided for validating XML
● Create solution packages
Sofia, Bulgaria | 9-10 October
Windows Server 2003
● Windows SharePoint Services only runs
on Windows Server 2003 or later
● You can develop without it, but…
● You need a copy to deploy/debug
● Options
● Make it your development OS
● Run it in a Virtual PC
● Have a standalone server at your
disposal
Sofia, Bulgaria | 9-10 October
Code Deployment
● Old School Method:
●
●
●
●
Manually copy files onto the file system
Add web.config entries for assemblies
Do IIS reset
Repeat, on EVERY web front end!
● New School Method:
● Solution Packages
Sofia, Bulgaria | 9-10 October
Solution Deployment
How It Works
HelpDesk.wsp
(WSS Solution Cab)
add
delete
WSS
Config
DB
Feature Manifests
Template Files
Assemblies
deploy
retract
UI,
Command
Line, OM
“deploy”
command
New
WFE
Web Front End Servers
Sofia, Bulgaria | 9-10 October
Solution Deployment
Central Admin UI
● Solution Information
● Status
● Lang pack?
● Deployed?
● Scheduled
Deployment
● This solution
deploys to the GAC
and to the bin
● Warns admin of
GAC install
● Admins can
choose particular
Web Application
Sofia, Bulgaria | 9-10 October
Site Deployment
● Content Migration APIs
●
●
●
●
Uses change logs
Builds CAB files with data, metadata changes
Job server copies them to target server/site
Job server applies them on target sever/site
● Used by Windows SharePoint Services to
copy list/library content to other sites
● Extended by Microsoft Office SharePoint
Server to deploy site applications
Sofia, Bulgaria | 9-10 October
Microsoft Office
SharePoint Server 2007
● It’s an example of what you can build
on Windows SharePoint Services
● It adds several declarative development
options for solution development
● It adds several object models for
custom extensibility projects
Sofia, Bulgaria | 9-10 October
Office SharePoint Server as the
Ultimate WSS Development Example
● Most of Microsoft Office SharePoint
Server 2007 consists of:
● Features (with lots of components)
● Site Definitions
● Shared Services
Sofia, Bulgaria | 9-10 October
What Can You Build for Microsoft
Office SharePoint Server 2007?
● Business Intelligence
● Excel worksheets
● .NET User Defined
Functions
● SQL Server Analysis
Services cubes
● SQL Server Reporting
Services reports
● Filter-aware Web Parts
● Search
● Custom Web Parts
● iFilters/Protocol Handlers
● Custom smart clients
● InfoPath Form Services
● Records Management
● “Workflow” Policies
● Web Content Management
● Page Layouts
● Custom Deployment Jobs
● Business Data Catalog
● Custom UI components
● Entity Web services
● Custom Actions
● People/Personalization
● Privacy-aware Web Parts
● User profile import code
● User profile clients
● Custom forms
Sofia, Bulgaria | 9-10 October
Excel Services
● Excel Calculation
Services
● Loads workbooks
● Calculates them
● Refreshes external
data
● Maintains session
state
● Excel Web Access
● Web Part
● Excel Web Services
● ASMX
Sofia, Bulgaria | 9-10 October
InfoPath Form Services
● Develop forms (client and server)
● Within InfoPath IDE
●
●
●
●
Logic inspector
Template parts (“formlets”)
Migration from Word, Excel forms
Visual Studio Tools for Applications (VSTA)
● Within Visual Studio via VSTO
● Forms become content type on publish
● Content type is responsible for extra UI
Sofia, Bulgaria | 9-10 October
Business Data Catalog
Sofia, Bulgaria | 9-10 October
Sofia, Bulgaria | 9-10 October
Demonstration
Business Data Catalog
Business Data Catalog
● Creating Web services
● You’d be doing this anyway to build a
service-oriented architecture
● Make sure you have methods for
display, enumeration
● Creating custom consumer components
● Custom Web Parts
● Custom synchronization methods
● Creating custom actions
Sofia, Bulgaria | 9-10 October
Search Development
● Customize/extend Search Center
● Add tabs
● Modify XSLT, CSS on results
● Modifying query parameters
● Custom search Web Parts
● Customize alerts
● Index custom data
● Protocol handlers and iFilters
● Custom search Web service clients
Sofia, Bulgaria | 9-10 October
Custom Search Web Parts
Sofia, Bulgaria | 9-10 October
User Profile Store
Sofia, Bulgaria | 9-10 October
Personalization Development
● Privacy policy-compliant code
● Custom synchronization
● Reading/writing information about:
● Users
● Profiles
● Memberships
● Colleagues
● Audiences
● Audience-targetable components
Sofia, Bulgaria | 9-10 October
Enterprise Document Content
● Document Information Panels
● Policies
● Document converters
● Workflows
● Records repositories
● Search and Process Items
Sofia, Bulgaria | 9-10 October
Enterprise Document Content
Document Information Panels
● InfoPath forms
● Usable in
● Word
● Excel
● PowerPoint
Sofia, Bulgaria | 9-10 October
Enterprise Document Content
Policies
● Event Receivers
● Scoped to
● Lists/Libraries
● Content Types
● Policies
● Policy Item
(settings)
● Policy Feature
(assembly)
● Policy Resource
(assembly)
● Can include clientside add-in logic
Sofia, Bulgaria | 9-10 October
Enterprise Document Content
Document Converters
● Packaged as
Features
● Converter logic
● ASP.NET UI
● XML definition
● Dependent on
shared services to
manage execution,
load balancing, etc.
● Relationship is
preserved
Sofia, Bulgaria | 9-10 October
Enterprise Document Content
Workflows
● What’s unique to Office – beyond just
Windows SharePoint Services
●
●
●
●
Client components and UI if desired
Additional activities
SharePoint Designer
InfoPath forms for workflow association,
initialization, tasks
Sofia, Bulgaria | 9-10 October
Web Content Management
● Professional Developer-level work
● Portal site provisioning assemblies
● Long-running operations
● Multi-language enhancements
● Navigation providers
● Field controls
● Deployment jobs
● Reporting
● Designer-level work
● Master pages and page layouts
● Placement of field controls, etc.
Sofia, Bulgaria | 9-10 October
Summary
● There’s a lot going on here
● It’s yet one more way to use .NET skills
● Windows SharePoint Services
● Facilities for creating code components
● Provisioning engine
● Microsoft Office SharePoint Server
● Declarative options for creating solutions
● Additional object models
● Go here for more information:
● http://msdn.microsoft.com/sharepoint
● http://msdn.microsoft.com/office/sharepoint
Sofia, Bulgaria | 9-10 October
Sofia, Bulgaria | 9-10 October
Please fill out the survey forms!
They are the key to amazing prizes that
you can get at the end of each day
Thank you!
Sofia, Bulgaria | 9-10 October
Q&A
Sofia, Bulgaria | 9-10 October