490 likes | 624 Views
Welcome to the Minnesota SharePoint User Group. February 13 th , 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.
E N D
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 *NewThursday, February 21st 5:30 PMMicrosoft Bloomington Office SharePoint Server 2007: ECM (Enterprise Content Management)Thursday, March 13th 8:30 AM to NoonAt New Horizons - Edina (see their site for more details) SharePoint Server 2007: BrandingWednesday, March 19th 8:30 AM to NoonAt New Horizons - Edina (see their site for more details) SharePoint Server 2007: BI Deep Dive (Business Intelligence)Wednesday, March 26th 8:30 AM to NoonAt New Horizons - Edina (see their site for more details) http://www.sharepointmn.com
Other Events Twin Cities MPA Free Lunch ‘n’ LearnFebruary 29th 12:00 – 2:00 PM – Microsoft Bloomington OfficeManaging Resource Utilization using Microsoft Project LevelingRSVP at http://www.tcmpa.org http://www.sharepointmn.com The Official Industry Association for Microsoft Office Project
Conferences Microsoft Office SharePoint Conference 2008 – March 2-6, 2008 SOLD OUTSeattle, WAhttp://www.mssharepointconference.com/default.aspx Tech Ed – Developers – June 3-6, 2008Tech Ed – IT Professionals – June 10-13, 2008http://www.microsoft.com/events/teched2007/default.mspxOrlando, Fl http://www.sharepointmn.com
Blog Posts / News: SharePoint Team Blog: New Visual Studio Extensions for WSShttp://blogs.msdn.com/sharepoint/archive/2008/02/11/announcing-the-final-release-of-vsewss-1-1-and-the-upcoming-version-1-2.aspx DoD Resource Kit for MOSShttp://blogs.msdn.com/sharepoint/archive/2008/02/09/announcing-the-dod-5015-2-resource-kit-for-sharepoint-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 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 http://www.sharepointmn.com
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 http://www.sharepointmn.com
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 http://www.sharepointmn.com
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
Demo – Using WebParts http://www.sharepointmn.com
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
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
Demo – Document Centric http://www.sharepointmn.com
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
Break http://www.sharepointmn.com
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
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 Mobile_STS_HomePage_Title.ascx Mobile_STS_HomePage_Contents.ascx Contents Mobile_STS_HomePage_Navigation.ascx Navigation
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 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
Demo – LOB Data http://www.sharepointmn.com
CRM • AS/400 • Deep Internal Links
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
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
Demo – Search http://www.sharepointmn.com
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
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 Common Scenarios Personalization Document Centric Collaboration Multiple LOB Systems Search Administrators When not to use SharePoint http://www.sharepointmn.com
Q & A http://www.sharepointmn.com
References • SharePoint Search Benchhttp://www.codeplex.com/SPSearchBench • SmartParthttp://www.codeplex.com/smartpart • Andrew Connell’s Custom STSADM Commandshttp://www.andrewconnell.com/blog/articles/MossStsadmWcmCommands.aspx • Inetium Blogshttp://blogs.inetium.com http://www.sharepointmn.com
Thanks for coming! http://www.sharepointmn.com