Download presentation
Presentation is loading. Please wait.
Published byGiles Norton Modified over 9 years ago
1
Welcome to the Minnesota SharePoint User Group
2
Quick Intro Announcements SharePoint Development Business Case What and Why Getting Started – The Development Environment [5-10 minute break?] Getting Started – Developing a Basic Web Part Deployment Options Advanced SharePoint Customization Q & A Agenda
3
Inetium (www.inetium.com)www.inetium.com Twin Cites based Microsoft consulting company Microsoft Gold Certified Partner Practice Area focused on Information Worker Technologies New Horizons – Minnesota (www.newhorizonsmn.com)www.newhorizonsmn.com Microsoft Gold Certified Partner Training on many technologies Microsoft (www.microsoft.com)www.microsoft.com I’m guessing you’ve heard of them Introductions – MNSPUG Sponsors
4
Build 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 User Group Goal / Objectives
5
Website for user group SharePoint resource documents SharePoint resource websites links RSS Feeds Meeting Schedule Past User Group Presentations www.sharepointmn.com
6
Next Meeting April 13 th 9:00 AM to 11:00 AM Microsoft’s Bloomington Office Topic: You tell us – Survey out on http://www.sharepointmn.comhttp://www.sharepointmn.com Ongoing Schedule 2 nd Wednesday of every month 9:00 to 11:00 am Microsoft’s Bloomington Office Upcoming Schedule
7
New Magazine focusing on SharePoint “The Advisor Guide to using Microsoft SharePoint technology, Windows SharePoint Services, SharePoint Portal Server, and more, including Microsoft Office System and SharePoint, enterprise integration and administration, and innovative SharePoint- based solutions, with how-to, tips, code, downloads, training, step-by-step, and more...” Have contacted editor -- hope to get some free first issues for the Minnesota SharePoint User Group SharePoint Advisor Magazine (coming soon) www.sharepointadvisor.com
8
Technical conference focusing on SharePoint Tips Tricks Code How To’s $1295 Main Event Registration by May 2 2005 $1495 Main Event Registration after May 2 2005 http://advisorevents.com/cmt0506p.nsf/w/main-cms SharePoint Advisor Live Conference June 12 - 16, 2005 Las Vegas, Nevada JW Marriott Las Vegas Resort
9
SharePoint Web Part Development: Business Case
10
Human Resources – Self Service Custom web parts to expose functionality to create a Self-Service environment for employees If existing system for HR tie into the data in the backend system using custom web parts to access the data If no existing system for HR, possible to create a self service system using custom web parts Examples (each would use logged in users account): My Timesheet web part My Vacation web part My 401k web part etc. Scenarios to use Custom Web Parts
11
Accounting System – Web Access to Data Create a SharePoint environment to access data from backend accounting system using custom web parts Extends the audience of accounting data Existing solution: Microsoft Business Portal (Great Plains, Solomon) Based on WSS Examples: Account Information web part to pull account information out of backend system Purchase Orders web part to pull PO and PO Detail information Scenarios to use Custom Web Parts
12
Project Collaboration Create a SharePoint environment to collaborate on projects Internally with co-workers Externally with clients / contractors (extranet) If existing Customer Relationship Management (CRM) system, a custom web part to pull account and contact information into SharePoint for each project If existing Project Management system, link to data in system to present list of tasks to wider audience Create a custom web part to create a ‘New Project’ process Create WSS site Write data to backend systems Scenarios to use Custom Web Parts
13
Web Parts: What & Why?
14
What is a Web Part? User’s Perspective The building blocks of a SharePoint Page Content Manager’s Perspective Containers of information from SharePoint and/or other sources Developer’s Perspective Enhanced ASP.NET Server Controls Every List/Library has a corresponding Web Part
15
Galleries Web Part Page Gallery Team Web Site Gallery or Portal Site Gallery Virtual Server Gallery Online Gallery – Can be customized Export/Import DWP (Web Part Description xml File) How are Web Parts Consumed? Tip: Customized Online Gallery http://msd2d.com/newsletter_tip.aspx?section=Sharepoint&id=52204aa4-e9d7-40d1-8f08-e486808ddce2http://msd2d.com/newsletter_tip.aspx?section=Sharepoint&id=52204aa4-e9d7-40d1-8f08-e486808ddce2
16
Web Part Zones Customizable Key Properties Orientation AllowCustomization AllowPersonalization LockLayout Managed through FrontPage or custom Site/Area Definitions How are Web Parts Consumed? <WebPartPages:WebPartZone runat="server" Title="loc:TitleBar" ID="TitleBar" LockLayout=“true” AllowPersonalization=“false” />
17
Managing Web Part Settings Tool Pane Web Part specific Properties Extensible General SharePoint Properties How are Web Parts Configured?
18
Extend the functionality of SharePoint Leverage the Object Model e.g. My Sub Sites, Custom Advanced Search, … Integrate Existing Data/Functionality Other Data sources Consume Web Services e.g. Line of Business Data Dashboards/Reporting Single Point of Entry e.g. Analytics (Charts, Graphs, Gauges) SQL Reporting Services Why Create Custom Web Parts?
19
Getting Started The SharePoint Developer Environment
20
Visual Studio.NET Local Version of SharePoint Assemblies Microsoft.SharePoint.dll Required for all Web Parts Microsoft.SharePoint.Portal.dll and other Portal Assemblies Required for leveraging Portal-specific functionality (i.e. Audiences, Portal Searching, User Profiles, etc.) Basic Development Environment Requirements
21
VS.NET Web Part Project Template (available on MSDN) Project Template for DWP, Manifest, Basic Web Part Class, etc. Access to a machine running Windows SharePoint Services Portal is ONLY required for Portal-specific web parts Tip: Leverage Virtual Server or Virtual PC SDK for WSS and Portal for Object Model Documentation Basic Development Environment Requirements
22
Getting Started Developing a Basic Web Part
23
The Core Your Web Part.NET Assembly encapsulating the server-side code and the rendering of the HTML A DWP file (XML-based) storing some common property values and points to the.NET assembly to be loaded Safe Control Settings and Trust Level in the virtual server’s Web.config
24
The DWP – Web Part Description File My Customers Displays a list of customers for the current user. MnSPUG.March.WebParts MnSPUG.March.WebParts.MyCustomersWebPart
25
… <SafeControl Assembly="MnSPUG.March.WebParts" Namespace="MnSPUG.March.WebParts" TypeName="*" Safe="True"/> … The Web.config – Config Settings for Virtual Server
26
The Web Part Framework – Web Part Class Derive from Microsoft.SharePoint.WebPartPages.WebPart ToolboxData XmlRoot Your Class [ToolboxData(" "), XmlRoot(Namespace="MnSPUG.March.WebParts")] public class MyCustomersWebPart : Microsoft.SharePoint.WebPartPages.WebPart
27
The Web Part Framework - Properties Public “Serializable” properties are visible on the Tool Pane string, bool, int, float, enum, System.DateTime, and System.Drawing.KnownColor string, bool, int, float, enum, System.DateTime, and System.Drawing.KnownColor Decorate Public Properties with Attributes [Browsable(true), DefaultValue(0), WebPartStorage(Storage.Personal), Description("Determines the maximum number of customer records to return (a 0 implies all customers)."), FriendlyName("Max Customer Records"), Category("Configuration")] public int MaxRecords { get { return _maxRecords; } set { _maxRecords = value; } }
28
The Web Part Framework – CreateChildControls Override for Composite Controls Leverage existing ASP.NET server controls (Calendar, Button, etc.) Wire-up Events protected override void CreateChildControls() { _button = new Button(); _button.Text = "Click Me"; _button.Click += new EventHandler(button_Click); this.Controls.Add(_button); }
29
The Web Part Framework – RenderWebPart Override to Emit HTML/Render your Control protected override void RenderWebPart(HtmlTextWriter output) { output.Write(“Please click my button ”); this._button.RenderControl(output); }
30
Demo Create a Basic Web Part
31
Web Part Deployment Options
32
Deployment Options Manual Assembly in bin or GAC (must be signed if in GAC!!!) web.config SafeControl STSADM Manifest CAB File stsadm.exe -o addwppack WPPackager Download from MSDN MSI File to Install on Web Server InstallAssemblies Download from MSDN Similar to STSADM
33
Advanced Web Part Development & Other SharePoint Customization Opportunities
34
Custom Tool Parts Why and When? Create a Custom Tool Part Class Derive from ToolPart Override GetToolParts() Synchronize Custom Tool Part Properties with your Web Part Properties Examples: Leverage Existing External/SharePoint Data Web Part Settings that are Collections
35
Part-to-Part Communication My Customers to Customer Orders
36
Part-to-Part Communication Why and When? OOTB SharePoint Web Parts provide this functionality (Lists/Libraries) Implement SharePoint Interfaces Providers IFilterProvider, IRowProvider, etc. Consumers IFilterConsumer, IRowConsumer, etc Override Base WebPart Methods EnsureInterfaces, PartCommunicationConnect, etc.
37
Part-to-Part Communication Customer Orders to Order Details
38
Demo Part-To-Part Communication
39
Other Advanced Customization Topics Leverage SharePoint Object Model Custom Definitions Site/Area List/Library SmartPart GotDotNet Workspace UserControls as Web Parts DHTML Behaviors Attach to HTML elements via CSS and inject client-side functionality Leverage Web Services Single Sign-on Document Library Event Handlers
40
Resources (just a few…) SharePoint SDKs http://msdn.microsoft.com/office/understanding/sharepoint/documentation/default.aspx SmartPart http://www.smartpart.info WPPackager http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_sp2003_ta/html/sharepoint_deployingwebparts_msi.asp Integration SAP: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&EventID=1032267591&CountryCode=US SQL Reporting Services : http://weblogs.asp.net/jan/archive/2005/01/21/358073.aspx SharePoint Bloggers http://sharepointblogs.com/mkruger/archive/2005/02/15/1310.aspx Web Part Testing Checklist http://msdn.microsoft.com/library/default.asp?url=/library/en- us/odc_SP2003_ta/html/Office_SharePointWebPartsTestingChecklist.asphttp://msdn.microsoft.com/library/default.asp?url=/library/en- us/odc_SP2003_ta/html/Office_SharePointWebPartsTestingChecklist.asp
41
Q & A
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.