SharePoint Development Overview presentation

advertisement
Welcome to the
Minnesota SharePoint
User Group
February 13th, 2008
SharePoint Development Overview
Neil Iversen
http://www.sharepointmn.com
Agenda
•
•
•
•
•
Introductions
Part 1
Break
Part 2
Q&A
http://www.sharepointmn.com
User Group Goal / Objectives
Develop and support a local community focused on Microsoft
SharePoint Technologies
•
•
•
•
Educate user group members about SharePoint Technologies
Transfer knowledge within the community
Communicate best practices
Introduce new products / solutions
http://www.sharepointmn.com
Introductions – MNSPUG Sponsors
Inetium (www.inetium.com)
• Technology consulting company
• Microsoft Gold Certified Partner
• Practice area focused on SharePoint
New Horizons – Minnesota (www.newhorizonsmn.com)
• Microsoft Gold Certified Partner
• Training on many technologies
Microsoft (www.microsoft.com)
http://www.sharepointmn.com
www.sharepointmn.com
•
•
•
•
•
•
Website for user group
SharePoint resource documents
SharePoint resource links
RSS Feeds
Meeting Schedule
Past User Group Presentations
www.sharepointmn.com
http://www.sharepointmn.com
Upcoming Schedule
•
Next Meeting
• March 12th 9:00 AM to 11:30 AM
• Microsoft’s Bloomington Office
• Topic: TBD – Check www.sharepointmn.com for updates!
• Ongoing Schedule
• 2nd Wednesday of every month
• 9:00 to 11:30 am
• Microsoft’s Bloomington Office
http://www.sharepointmn.com
Other Events
• Minneapolis Office Developer Interest Group *New
Thursday, February 21st 5:30 PM
Microsoft Bloomington Office
• SharePoint Server 2007: ECM (Enterprise Content Management)
Thursday, March 13th 8:30 AM to Noon
At New Horizons - Edina (see their site for more details)
• SharePoint Server 2007: Branding
Wednesday, March 19th 8:30 AM to Noon
At New Horizons - Edina (see their site for more details)
• SharePoint Server 2007: BI Deep Dive (Business Intelligence)
Wednesday, March 26th 8:30 AM to Noon
At New Horizons - Edina (see their site for more details)
http://www.sharepointmn.com
Other Events
• Twin Cities MPA Free Lunch ‘n’ Learn
February 29th 12:00 – 2:00 PM – Microsoft Bloomington Office
Managing Resource Utilization using Microsoft Project Leveling
RSVP at http://www.tcmpa.org
The Official Industry Association for Microsoft Office Project
http://www.sharepointmn.com
Conferences
• Microsoft Office SharePoint Conference 2008 – March 2-6, 2008 SOLD OUT
Seattle, WA
http://www.mssharepointconference.com/default.aspx
• Tech Ed – Developers – June 3-6, 2008
Tech Ed – IT Professionals – June 10-13, 2008
http://www.microsoft.com/events/teched2007/default.mspx
Orlando, Fl
http://www.sharepointmn.com
Blog Posts / News:
SharePoint Team Blog:
• New Visual Studio Extensions for WSS
http://blogs.msdn.com/sharepoint/archive/2008/02/11/announcing-the-final-release-of-vsewss-1-1-andthe-upcoming-version-1-2.aspx
•
DoD Resource Kit for MOSS
http://blogs.msdn.com/sharepoint/archive/2008/02/09/announcing-the-dod-5015-2-resource-kit-forsharepoint-server-2007.aspx
•
A bunch of new tools and best practices….
http://www.sharepointmn.com
Overview
•
•
•
•
•
Introduction
SharePoint Tools
Common Scenarios
When not to use SharePoint
Q&A
http://www.sharepointmn.com
Introduction
• Why Develop?
–
–
–
–
Add new functionality
Tailor existing features to specific needs
Use Line of Business Data in SharePoint
Create tighter integration between different systems
• Who Can Develop?
– Different levels of ‘development’:
• Administrators - Configuration
• Super (Duper?) Power Users - Customization
• Developers - Development
http://www.sharepointmn.com
Introduction
• Why present on Development to a Non-Developer Audience?
–
–
–
–
Half the battle: Knowing what is possible
Identify new uses for current technology
Identity bad uses for current technology
Many corporate decisions aren’t made by technical people
• What Can I use to Develop?
http://www.sharepointmn.com
What Can I use to Develop?
Core Toolset
• Office Suite
– SharePoint Designer
– InfoPath
– Excel
• Visual Studio
http://www.sharepointmn.com
Core Technologies
Core technologies common across SharePoint
Customization/Development
•
Office Applications
•
HTML/XML/XSLT/Javascript
–
–
–
•
Easiest way to alter SharePoint, Power User friendly
Limited in size of potential change, deployment concerns, potential brittleness
Examples: InfoPath, Excel, SharePoint Designer
Can create powerful customizations, without deploying code
Some specialized knowledge is usually required
Examples: Master Pages, Content By Query, Search Results
.NET
–
–
–
Extremely powerful, offers most functionality
Also requires the most knowledge and infrastructure
Examples: Web Parts, Workflows
http://www.sharepointmn.com
Difficulty
–
–
–
Getting Started With SharePoint Development
• Understanding the environment
• How to interact with SharePoint
• Knowing SharePoint’s capabilities and limitations
http://www.sharepointmn.com
(Programatically) Reach out and Touch SharePoint
• 3 Main Developer Access Methods (APIs)
– SharePoint Object Model
– SharePoint Web Services
– Remote Procedure Calls (RPC)
http://www.sharepointmn.com
SharePoint Object Model
• Nearly Complete Access
– Can hit almost everything in SharePoint
• Simple to Use
– Much easier than other methods
– Comfortable development paradigm
• Widely Used
– Support: Newsgroups, books, presentations…
– Used internally to support various actions
• Not Remoteable
http://www.sharepointmn.com
SharePoint Web Services
• Provide a standardized way to access
• Language Independant
• Doesn’t support all operations
– Different versions have different abilities
• Needs some XML parsing
http://www.sharepointmn.com
Remote Procedure Calls
•
•
•
•
•
Most capable of the Remote Options (for Document Scenarios)
Most dangerous as well
Powers some Office Suite SharePoint integrations
Difficult to use
Poorly documented
http://www.sharepointmn.com
SharePoint is an ASP.NET Application
• A really big, slightly scary, extremely complicated ASP.NET
application
• Core skillset from traditional development is still valid
• Can actually run an ASP.NET app under SharePoint
ASP 2.0
SharePoint
SP
SharePoint
SP
ASP
Site
1
http://www.sharepointmn.com
Site 2
App
ASP App
SharePoint as a Development Platform
• Now we know a little ‘how’, what about ‘when’?
– How do I know my project is a good fit for SharePoint?
http://www.sharepointmn.com
Key SharePoint Development Platform Scenarios
Collaboration
Document
Centric
Personalization
http://www.sharepointmn.com
Multiple LOB
Systems
SharePoint
Search
Collaboration
Document
Centric
Personalization
Personalization
• General
–
–
SharePoint knows who you are, except on the internet
Creates an immediate context for the user
•
–
Security first, tailor the view later
Requirement for display based on individual or role
•
Profile can provide role information
• MySites
– Personal Location for users
– Customize look and feel
– Real value is in the user’s context
• The Ubiquitous Web Part
–
–
–
–
–
Most common development activity…in V2
Supports ‘targeting’ to groups of users
Easily store preferences: For all users, or a specific one
Mix and Match with Web Part Connections
No UI Editor for developers: SmartPart eases the pain
http://www.sharepointmn.com
Multiple LOB
Systems
SharePoint
Search
Demo – Using WebParts
http://www.sharepointmn.com
Collaboration
Document
Centric
Personalization
Personalization – What’d I see?
• Web Parts
– Out of the Box
•
•
Content Editor Web Part – HTML Development
URL Filter - Configuration
– Custom
•
•
SPWeb Property Setter - .NET WebPart or Code
Product Class Provider - .NET WebPart
http://www.sharepointmn.com
Multiple LOB
Systems
SharePoint
Search
Collaboration
Document
Centric
Personalization
Multiple LOB
Systems
SharePoint
Document Centric
• General
– Dealing with Documents
– Capturing data both in and associated with Documents
• Capturing Data
–
–
–
–
Office Suite Uploads (files and Document Information Panel)
InfoPath Forms (and Forms Services) – Allows .NET Code
Custom Fields
Integrate with the Office Suite directly
• Documents as Business Objects
– Policies: Routing and Expiration
– Event Handlers: Fire on events and set metadata, permissions or run other code
– External Applications: Interface with the documents in SharePoint
http://www.sharepointmn.com
Search
Demo – Document Centric
http://www.sharepointmn.com
Collaboration
Document
Centric
Personalization
Document Centric – What’d I See?
• Custom Field
– .NET Code
•
Uses Object Model
– Deployed to the Hive – XML/HTML
•
Uses JavaScript for on the fly rendering
• Standard Windows Application
– .NET Code
•
•
•
Standard WinForm Code
Uses SharePoint Web Services
Uses RPC for MetaData
http://www.sharepointmn.com
Multiple LOB
Systems
SharePoint
Search
Break
http://www.sharepointmn.com
Collaboration
Document
Centric
Personalization
Multiple LOB
Systems
SharePoint
Collaboration
• General
– Multiple people need to work with the same files
– Versioning and application integration make it easy
– Routing becomes the biggest concern
• Workflow
– Out of the Box offers limited modifications
– SharePoint Designer Workflows – Configuration and Custom Activities
– Visual Studio Workflows – Harness the full power of .NET and the Object Model
• Other Options
– Mobile Views – Allow collaboration from anywhere
– Extranet
• ASP Forms Authentication
– SharePoint Designer UI Changes
• ASP Master Page
• Content Pages
• Direct Page Editing
http://www.sharepointmn.com
Search
Demo – Collaboration
http://www.sharepointmn.com
Customizing the Mobile Display
• Customizations stored
\12\TEMPLATE\CONROLTEMPLATE\
• Pages can be customized by the template and section
Title
Contents
Navigation
Mobile_STS_HomePage_Title.ascx
Mobile_STS_HomePage_Contents.ascx
Mobile_STS_HomePage_Navigation.ascx
Collaboration
Document
Centric
Personalization
Collaboration – What’d I See?
• SharePoint Designer Custom Action
– Windows Workflow Activity
•
.NET
– ACTIONS File
•
XML
– Authorized Types
•
Configuration
• Subset of full Visual Studio functionality
– Can also create Custom Conditions
•
“Is the Bike associated with this item in stock?”
http://www.sharepointmn.com
Multiple LOB
Systems
SharePoint
Search
Collaboration
Document
Centric
Personalization
Multiple LOB
Systems
SharePoint
Multiple LOB Systems
• General
–
–
–
–
Data comes from multiple Line of Business (LOB) sources
But who wants to go to multiple places to view it?
Options needed for visualization of data
Single source for Dashboard/Analytics
• Customization
– Business Data Catalog – XML Configuration
•
SQL Stored Procedures or Web Services can be used for advanced scenarios
– DataViews – SharePoint Designer
– Excel Services – Spreadsheets and limited logic available for consumption
– 3rd Party WebParts (Dundas, …)
• Development
– Web Parts - .NET to access any ‘inaccessible’ data or do advanced updates/UI
– SQL Server Reporting Services
– PerformancePoint/Business Scorecard Manager
http://www.sharepointmn.com
Search
Demo – LOB Data
http://www.sharepointmn.com
•CRM
•AS/400
•Deep Internal
Links
Collaboration
Document
Centric
Personalization
LOB Systems – What’d I See?
• Dashboard
– Many different sources of information
– Many different backends
– Many different frontends
• BDC
– BDC itself is XML configurable
– Configurable Pages for Database Records
http://www.sharepointmn.com
Multiple LOB
Systems
SharePoint
Search
Collaboration
Document
Centric
Personalization
Multiple LOB
Systems
SharePoint
Search
• General
– Finding Data can be hard!
• Customization/Configuration
–
–
–
–
Search Center – XSLT Configuration
Sources of Data: Extra file shares, databases through BDC
Indexing Enhancements – Best Bets, Thesaurus, Word Stemming
3rd Party (Ontolica, …)
• In Deep
–
–
–
–
Programmatic Access – Object Model (3 ways), Web Services
Use ASP.NET to simulate BDC Pages to ‘crawl’ a database
IFilter – Add parsing support for a new filetype (like PDF)
Custom Security Trimmer – Enhance ACL for files on Non-Supported sources
http://www.sharepointmn.com
Search
Demo – Search
http://www.sharepointmn.com
Collaboration
Document
Centric
Personalization
Search – What’d I see?
• SearchCenter
– Search Tab – Configuration
– Search Results – XSLT Customization
• Search Application
–
.NET
•
Application
Object Model or Web Services
– Can perform SharePoint searches and retrieve resulting data
http://www.sharepointmn.com
Multiple LOB
Systems
SharePoint
Search
Administrator’s Development
Administrator’s didn’t get left out!
STSADM
• New actions can be added (stsadm –o myaction)
• Several community created actions
PowerShell
• Not really built for SharePoint administrators in mind
• Full .NET access to SharePoint Object Model
Custom applications and webparts can be deployed to Central Admin
http://www.sharepointmn.com
Demo – Administrator Tools
http://www.sharepointmn.com
Wow, these all sound so wonderful
I bet deployment is a breeze!
– Not Exactly
– 2007 Projects are more complicated than ever
• Depth of changes to core functionality
• Number of servers touched by a project
SharePoint 2007 Improves Deployment Experience
– Solutions
– Features
Want More?
– Minneapolis Office Developer Interest Group (MODIG)
– Next Thursday
– Feature Development in SharePoint (for Developers)
http://www.sharepointmn.com
When shouldn’t I use SharePoint?
• Scaling/Sizing Concerns
– Not a good place for CAD or large movies
• SharePoint isn’t a high performance database
– Don’t store all the transactions for your company
• When a rewrite isn’t necessary
– Hosting an ASP app under SharePoint might be all you need
http://www.sharepointmn.com
Review
• SharePoint Toolset
• SharePoint as a Development Platform
Collaboration
– Common Scenarios
•
•
•
•
•
•
Personalization
Document Centric
Collaboration
Multiple LOB Systems
Search
Administrators
• When not to use SharePoint
http://www.sharepointmn.com
Document
Centric
Personalization
Multiple LOB
Systems
SharePoint
Search
Q&A
http://www.sharepointmn.com
References
• SharePoint Search Bench
http://www.codeplex.com/SPSearchBench
• SmartPart
http://www.codeplex.com/smartpart
• Andrew Connell’s Custom STSADM Commands
http://www.andrewconnell.com/blog/articles/MossStsadmWcmCommands
.aspx
• Inetium Blogs
http://blogs.inetium.com
http://www.sharepointmn.com
Thanks for coming!
http://www.sharepointmn.com
Download