Download presentation
Presentation is loading. Please wait.
1
SharePoint Development Overview
Welcome to the Minnesota SharePoint User Group February 13th, 2008 SharePoint Development Overview Neil Iversen
2
Agenda Introductions Part 1 Break Part 2 Q & A
3
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
4
Introductions – MNSPUG Sponsors
Inetium ( Technology consulting company Microsoft Gold Certified Partner Practice area focused on SharePoint New Horizons – Minnesota ( Training on many technologies Microsoft (
5
www.sharepointmn.com Website for user group
SharePoint resource documents SharePoint resource links RSS Feeds Meeting Schedule Past User Group Presentations
6
Upcoming Schedule Next Meeting
March 12th 9:00 AM to 11:30 AM Microsoft’s Bloomington Office Topic: TBD – Check for updates! Ongoing Schedule 2nd Wednesday of every month 9:00 to 11:30 am
7
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)
8
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 The Official Industry Association for Microsoft Office Project High Monkey Consulting - Virgil
9
Conferences Microsoft Office SharePoint Conference 2008 – March 2-6, 2008 SOLD OUT Seattle, WA Tech Ed – Developers – June 3-6, 2008 Tech Ed – IT Professionals – June 10-13, Orlando, Fl
10
Blog Posts / News: SharePoint Team Blog:
New Visual Studio Extensions for WSS DoD Resource Kit for MOSS A bunch of new tools and best practices….
11
Overview Introduction SharePoint Tools Common Scenarios
When not to use SharePoint Q&A
12
Introduction Why Develop? Who Can 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 Develop – Extending beyond the simple customizations.
13
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? It’s a big platform Bad uses: ‘Do this in SharePoint’ when it doesn’t fit
14
What Can I use to Develop?
Core Toolset Office Suite SharePoint Designer InfoPath Excel Visual Studio I’m glad you asked - There isn’t just one answer - Pick the right tool for the job
15
Core Technologies Core technologies common across SharePoint Customization/Development Office Applications Easiest way to alter SharePoint, Power User friendly Limited in size of potential change, deployment concerns, potential brittleness Examples: InfoPath, Excel, SharePoint Designer HTML/XML/XSLT/Javascript 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 Difficulty
16
Getting Started With SharePoint Development
Understanding the environment How to interact with SharePoint Knowing SharePoint’s capabilities and limitations
17
(Programatically) Reach out and Touch SharePoint
3 Main Developer Access Methods (APIs) SharePoint Object Model SharePoint Web Services Remote Procedure Calls (RPC)
18
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
19
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
20
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
21
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 ASP App Just like any ASP .net app you would write…except… SharePoint SP Site 1 SP Site 2 ASP App
22
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?
23
Key SharePoint Development Platform Scenarios
Personalization Document Centric Collaboration Multiple LOB Systems Search Hey! What happened to my wheel?
24
Personalization General MySites The Ubiquitous Web Part
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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
25
Demo – Using WebParts Note - System Dropdown knows who I am
- Display Product List - Filter via URL (Class) - Content Editor Web Part - Context Site Example
26
Personalization – What’d I see?
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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
27
Document Centric General Capturing Data Documents as Business Objects
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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
28
Demo – Document Centric
Note - Power of the Custom Field - External Program interfacing with SP c:\temp\SharePointFormApp\SPCodeCamp.exe
29
Document Centric – What’d I See?
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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 Standard WinForm Code Uses SharePoint Web Services Uses RPC for MetaData
30
Break
31
Collaboration General Workflow Other Options
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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
32
Demo – Collaboration Note - Custom SharePoint Designer Action
- Custom Conditions: “If bike is in stock, then” - Mobile is next slide
33
Customizing the Mobile Display
Customizations stored \12\TEMPLATE\CONROLTEMPLATE\ Pages can be customized by the template and section Title Mobile_STS_HomePage_Title.ascx Traditional ASP.net Mobile Development - twist of templates, like a layout page Mobile_STS_HomePage_Contents.ascx Contents Mobile_STS_HomePage_Navigation.ascx Navigation
34
Collaboration – What’d I See?
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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?”
35
Multiple LOB Systems General Customization Development
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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
36
Demo – LOB Data Note - BDC Filtering Demo - - Note XSLT
- BDC Item Lookup - Dashboard Demo
37
CRM AS/400 Deep Internal Links
38
LOB Systems – What’d I See?
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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
39
Search General Customization/Configuration In Deep
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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
40
Demo – Search Note - BDC Filtering Demo - Dashboard Demo
41
Search – What’d I see? SearchCenter Search Application
SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search 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
42
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
43
Demo – Administrator Tools
Note - BDC Filtering Demo - Dashboard Demo
44
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)
45
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
46
Review SharePoint Toolset SharePoint as a Development Platform
Common Scenarios Personalization Document Centric Collaboration Multiple LOB Systems Search Administrators When not to use SharePoint SharePoint Personalization Document Centric Collaboration Multiple LOB Systems Search
47
Q & A
48
References SharePoint Search Bench SmartPart Andrew Connell’s Custom STSADM Commands Inetium Blogs
49
Thanks for coming!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.