330 likes | 422 Views
Welcome to the Iowa SharePoint User Group. December 3 rd , 2008 SharePoint Development Deep Dive. Kirk Hofer. http:// www.sharepointia.com. Agenda. Introductions Part 1 Break Part 2 Q & A. http:// www.sharepointia.com. User Group Goal / Objectives.
E N D
Welcome to the Iowa SharePoint User Group December 3rd, 2008 SharePoint Development Deep Dive Kirk Hofer http://www.sharepointia.com
Agenda • Introductions • Part 1 • Break • Part 2 • Q & A http://www.sharepointia.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.sharepointia.com
Introductions – IASPUG Sponsors Inetium (www.inetium.com) Technology consulting company Microsoft Gold Certified Partner Practice area focused on SharePoint Microsoft (www.microsoft.com) ITA Group http://www.sharepointia.com
www.sharepointia.com Website for user group SharePoint resource documents SharePoint resource links RSS Feeds Meeting Schedule Past User Group Presentations www.sharepointia.com http://www.sharepointia.com
Upcoming Schedule Next Meeting February 4th 9:00 AM to 11:30 AM TBD Topic: TBD – Check www.sharepointia.com for updates! Ongoing Schedule 1st Wednesday of every other month 9:00 to 11:30 am http://www.sharepointia.com
Overview Introduction SharePoint Tools The 12 Hive How to deploy solutions Q&A http://www.sharepointia.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.sharepointia.com
What Can I use to Develop? Core Toolset Visual Studio .Net Framework 3.0 minimum PowerShell (aka PoSH) SDKs WSS SDK and MOSS SDK…two separate SDKs Office Suite InfoPath Excel SharePoint Designer Find In Files The 12 Hive is full of examples http://www.sharepointia.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.sharepointia.com
Getting Started With SharePoint Development Understanding the environment How to interact with SharePoint Knowing SharePoint’s capabilities and limitations http://www.sharepointia.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.sharepointia.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 Can only use from a SharePoint machine http://www.sharepointia.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.sharepointia.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.sharepointia.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.sharepointia.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.sharepointia.com
How Does SharePoint Work? • Site Definitions and Site Templates • Create Lists • Turn on Site Features • Turn on Web Features • Define Document Templates • Provision Pages • Feature Stapling http://www.sharepointia.com
SharePoint Structure (12 Hive) • 12 • TEMPLATE • 1033 • XML • Webtemp*.xml (Site Definitions) • FEATURES (Everything is a feature!) • GLOBAL (Every site/web includes this!) • LAYOUTS • IMAGES • SiteTemplates http://www.sharepointia.com
Demo – Team Site http://www.sharepointia.com
Custom Site Templates • Should I create my own? • Save as Site Template (Does not work for publishing sites) • Feature stapling • OR…. http://www.sharepointia.com
Custom Site Templates (Cont’d) • SPWebProvisioningProvider • Create a Site Definition • Use code to apply a template • STS#1 for “Blank Site” • Add Lists, Features, Provisioned Files • Supports upgrades!!!!! • The web template is set to STS#1 and NOT the custom one! • More info see www.iwkid.com
Break http://www.sharepointia.com
Most Commonly Used Project Types • Web Parts • Inline rendering or using User Controls • Connectable • Feature Receivers • Activate/Deactivate • List Receivers • Added, Adding, Updating, Updated • Custom Fields • Workflows • Administration Code http://www.sharepointia.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 http://www.sharepointia.com
How Should I Deploy My Code? SOLUTIONS!!!! • Manifest.xml (Top level solution definition) • Tells SP where to put files and what to do • Binaries • Features • Lists, Web Parts, Master Pages, Page Layouts, Custom Actions, etc • Assets • Images • Style Sheets http://www.sharepointia.com
Demo – Solutions http://www.sharepointia.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.sharepointia.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.sharepointia.com
Q & A http://www.sharepointia.com
References • Inetium Blogs • http://blogs.inetium.com • http://kirkhofer.wordpress.com http://www.sharepointia.com
Thanks for coming! http://www.sharepointia.com