CVNUG - Share Point Development

  • 1,640 views
Uploaded on

 

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • I got this platform. I am working with share point development at New York. And handling all things of my work at Perth. Its Great for me!!

    you can handle the things by getting free report on it - http://www.sharepointperth.com/free-report/
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,640
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
137
Comments
1
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • TALK SLOWLY!!!!

Transcript

  • 1. Chippewa Valley .NET User Group SharePoint Development A focus on WSS/MOSS as a development platform Ryan Oliveira Knowledge and Collaboration Service Line Manager Solutia Consulting Technology Enablement Services
  • 2.
      • Greetings and Introduction
      • Platform Overview
      • SharePoint Product & Feature Overview
      • SharePoint Platform Overview
      • BackOffice Development Considerations
      • Looking at the Office Development Platform
      • Office Developer Toolkit (SharePoint Designer, InfoPath)
      • Professional Development Considerations
      • WSS/MOSS SDK Overview
      • Web Part Framework Overview
      • Feature and Solution Deployment Overview
      • Final Thoughts
      • Questions and Answers
    Today’s Agenda
  • 3.
        • Greetings and Introductions
  • 4. Founded in 1997, Solutia Consulting helps clients develop customized software solutions to align with their business goals. We manage projects from requirements gathering through application development, with quality as our top priority. In 2007 Solutia created the Technology Enablement Practice focused on delivering technology solutions and best practices in support of its Management Consulting and Transformational Support practices. About Solutia Consulting
  • 5.
        • SharePoint Platform Overview
  • 6.
    • Scale
      • SharePoint is a HUGE space, including several product baselines and probable uses. Our focus today is on providing developers with background on how to approach building solutions on the SharePoint platform.
    • Context
      • The assumption is that the audience includes developers generally familiar with Microsoft-related development practices and approaches and perhaps somewhat familiar with the SharePoint platform.
    • Approach
      • First, we’ll take a look at the SharePoint Product space
      • Then we’ll break up the types of progressive development efforts that developers might come across and dissect some examples of each
    SharePoint Platform Overview
  • 7. Windows SharePoint Server Windows SharePoint Services (WSS 3.0) is a free version of SharePoint focused on delivering the core SharePoint platform framework based on both the .NET and ASP.NET frameworks. Microsoft Office SharePoint Server Microsoft Office SharePoint Server 2007 is a multi-tiered licensed product meant to service corporate environments providing direct integration with Microsoft Office Products and provide extensive Content Management, Business Intelligence, Business Process Automation and Portal capabilities. There are both Standard and Enterprise licensing options. Microsoft SharePoint Online Released this summer, Microsoft Office Online offers the ability to host your SharePoint implementation within Microsoft’s Cloud Service (Software as a Service) implementation. Licensing is based on a per user basis and also includes implementations of Exchange, Live Meeting and Office Communicator (CRM soon as well). Offered in Shared and dedicated resourced environments, both provide capabilities more aligned to WSS. SharePoint Configuration/Development Options
  • 8. SharePoint Logical Architecture Overview
  • 9. Out of the Box SharePoint Basic features are typically implemented by individuals who are intended to have a direct relationship with the site, usually based on a well planned governance model establishing the types of capabilities the end user can leverage. This type of development typically involves working with Web Parts, Views and Document libraries. Back Office Development This level can be looked as ‘configuration development’. Tools such as Microsoft InfoPath and Microsoft Office SharePoint Designer, typically involve point-and-click type construction approach with a focus on understanding on leveraging tools to build and deploy Web Pages, Workflows, and Forms. Platform and Components customization This type of development is typically focused on leverage. Components developed in should typically be designed with reuse in mind across multiple sites. Efforts in this this space will typically require a software development lifecycle and should be avoided if solutions can be performed via previous development approaches. SharePoint Configuration/Development Options
  • 10.
      • Out of the Box SharePoint Capabilities
  • 11.
    • Before we get too far! In most in medium to large companies there is a tendency to move quickly starting with OOB functionality letting a solution grow organically. A number of recommendations for your SharePoint team(s) before you move forward in developing any structured or unstructured effort.
      • Learn about your company’s Taxonomy Plan . How is information organized?
      • Ask about your company’s Governance Plan ; How are people expected to use SP?
      • Ask about existing features and solutions that may have already been developed by others; no need to reinvent the wheel
    • Remember, Information is Power!
    Out of the Box SharePoint Capabilities
  • 12.
    • Get to know the Web Parts There are a number of key web parts to get to know such that can save a ton of time and effort. Here’s a couple:
      • Content By Query Web Part : Very key to query and aggregate content from multiple sites within a given site collection. Can be used in combination with effective taxonomy planning to build . By far the most powerful OOB web part.
      • Form Web Part: The Form web part allows you to insert ASP.NET supported scripting into the event lifecycle of an ASP.NET page.
      • NOTE: There’s a whole industry of web part developers out there who are focused on developing web parts to be ‘plugged-in’ to SharePoint.
    • Use the Power of Site Content Types and Site Columns
      • Site Content Types : Allow for extension metadata model for core SP elements such as Document, Item, Event, Person, etc. to allow for business specific needs at given points in your site implementation. Allows for specific behavior to be managed (Workflows, Policies, Security, etc.)
      • Site Column: A site column can hold the definition for a given data entity and be implemented across an entire Site Collection. For example, A Lookup-type Site Column could point to the valid list of a company’s Stores, Branches, etc. This can avoid the need for such as list to be re-invented/implemented several times across the entire organization.
    Out of the Box SharePoint Capabilities
  • 13.
    • Use MOSS as a Prototyping Tool
    • Empower your Technical Business Analysts
      • Much like how Visual Basic became a design ‘game changer’ in the 1990’s allowing for rapid prototyping and solution framing, so too can SharePoint.
      • Encourage your business analyst community to work in out of the box SharePoint in developing customer prototypes
      • Note, this type of activity is best suited for somewhat technically adept personnel (termed Information Workers); this may not be for everybody
      • More likely be a tendency to stay ‘in-the-box’ rather than designing towards not well suited for a MOSS implementation (i.e. A highly customized application).
      • Caution: SharePoint is a framework for development, and attempts to leverage a universal user interface approach to management of its elements (Documents, Items, etc). Breaking away from this approach (ie custom UI) will cause significant development headaches, and an ASP.NET platform application may be a better choice. Understanding this before a platform decision is made is very key !
    Out of the Box SharePoint Capabilities
  • 14.
      • Back Office Development Capabilities
  • 15.
    • Types of activities done supported by the Back Office Developer
      • A back office developer can be an incredible assert when he/she has a good understanding of SharePoint OOB Web parts and is adept in using SharePoint Designer 2007 and MS InfoPath 2007
        • Develop Simple-Medium complexity document workflows
        • Update the look and feel of a given SharePoint site adding Web Part Zone
        • Ability to create and integrate Business Data Catalog Application components into an Operations-type site.
        • Add ‘Live’ Business Intelligence components to Dashboard environments leveraging Microsoft Excel Services.
        • Ability to integrate the Data View web Part into key site components (and possibly use some XSL)
    Back Office Development Capabilities
  • 16.
    • Overview
    • InfoPath 2007 is Forms development tool
    • Forms can run inside on the InfoPath client desktop or within a browser hosted via MOSS InfoPath Forms Services
    • Provides powerful capabilities for empowering streamlined back office communication supported by Information Workers.
    • Features
    • Ability to submit data to SharePoint Forms Libraries, SQL Data Sources, and Web Services
    • Ability to start be the data capture point for complex workflows
    • Forms can replace out of the box NewForm.aspx functionality for more complex data entry.
    • Ability to leverage Microsoft Visual Studio Tools for Office 2007 providing unlimited code-behind capabilities (VB.NET and C#.NET)
    • Support for digital signatures
    • Support for interaction with SharePoint’s web services.
    Microsoft Office InfoPath 2007
  • 17.
      • Microsoft Office InfoPath 2007 Building a Form Demo
  • 18.
    • What did we learn?
    • Understand if Forms Services is an option and limitations in publishing
      • No Filtering of secondary data sources
      • No Rich Text Controls
      • Special deployment for certain forms requiring elevated security
    • Keep things it simple – design with change in mind
    • Remember to manage expectations around keeping rules simple enough for the condition/action model
    • What to consider?
    • Remember, forms are managed as documents. Adding new features and republishing will not update forms already created
    • It’s OK to manage state in an InfoPath Form, but remember logic can get complicated quickly.
    Microsoft Office InfoPath Demo
  • 19.
    • Overview
    • SPD 2007 is a web development tool designed exclusively for users of SharePoint
    • Complete rewrite of MS FrontPage; written into two products, namely SPD for SharePoint Users and Expressions Web for non-SP users.
    • SPD 2007 is version 1.0 of the product
    • Features
    • Management of raw ASP.NET Page content
    • Ability to restructure page content Web Part Zones
    • Ability to leverage the Data View Part
    • Platform and Components customization This type of development is typically focused on leverage. Components developed in should typically be designed with reuse in mind across multiple sites. Efforts in this this space will typically require a software development lifecycle and should be avoided if solutions can be performed via previous development approaches.
    SharePoint Designer (SPD) 2007
  • 20.
      • Microsoft SharePoint Designer 2007 Building a Workflow Demo
  • 21.
    • What did we learn?
    • SPD can save time in implementing process automation quickly.
    • Data View Web Part (combined with some XSL background) can be an important asset
    • SPD can help you create and manage key site components
    • SPD can allow you to customize and reset page customizations
    • Allows you to manage key style items
    • What to consider?
    • Good design is important even in a quick automation model.
    • Workflows are not easily moved around (redeployed) using SharePoint designer
    • In working with a branded site, have a good understanding of your visual design goals and site plan.
    SharePoint Designer Demo
  • 22.
      • Professional
      • Development Capabilities
  • 23.
      • There are almost limitless possibilities
      • When looking at working with customizations, there is a marriage of sorts of traditional web development skills as well as core programming skills required when working with tools that allow you to customize SharePoint. They fall into two categories:
    • Web Development customization
        • Development of New Site Definitions
        • Site automation & Feature Stapling
        • Data View Web Part (Advanced)
    • Component Development customization
        • Custom Web Parts
        • Custom Workflows
        • Custom Controls
        • Custom Tasks
        • Features and Solutions
        • more…
    Development and Customization Types
  • 24.
      • SPSite (Microsoft.SharePoint)
      • http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.aspx
      • Represents a collection of sites in a Web application, including a top-level Web site and all its subsites. Each SPSite object, or site collection, is represented within an SPSiteCollection object that consists of the collection of all site collections in the Web application.
      • SPWeb (Microsoft.SharePoint)
      • http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.aspx
      • Represents a Windows SharePoint Services Web site.
      • SPList (Microsoft.SharePoint)
      • http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.aspx
      • Represents a List in a WSS site.
      • SPQuery (Microsoft.SharePoint)
      • http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.aspx
      • Represents a query in a list view.
    Development and Customization Types
  • 25.
      • This example displays the titles of items in a Tasks list where the Status column equals Completed.
      • using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb)
      • {
      • SPList oList = oWebsiteRoot.Lists["Tasks"];
      • SPQuery oQuery = new SPQuery();
      • oQuery.Query = &quot;<Where><Eq><FieldRef Name='Status'/>&quot; +
      • &quot;<Value Type='Text'>Completed</Value></Eq></Where>&quot;;
      • SPListItemCollection collListItems = oList.GetItems(oQuery);
      • foreach (SPListItem oListItem in collListItems)
      • {
      • Response.Write(SPEncode.HtmlEncode(oListItem[&quot;Title&quot;].ToString()) +
      • &quot;<BR>&quot;);
      • }
      • }
    MOSS Simple Query Example
  • 26.
    • Configuring your development environment:
      • Install of MOSS onto XP/Vista is not supported. Bamboo Solutions offers a quick solution to run MOSS locally on Vista [+]
      • SharePoint Developers are used to doing MOSS development using VPC or a Live developent site.
      • Key items to the development of a sound MOSS development environment.
        • Download and install the MOSS VHD hosted on microsoft.com
        • Microsoft Visual Studio 2008 - Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions
        • Visual Studio Tools for Microsoft Office 3.0 (VSTO 3.0)
        • WSS 3.0 SDK and/or MOSS 2007 SDK onto the development machine
        • CodePlex Smart Templates for Visual Studio 2008
    SharePoint Professional Development
  • 27.
    • Configuring your development environment:
      • Install of MOSS onto XP/Vista is not supported. Bamboo Solutions offers a quick solution to run MOSS locally on Vista [+]
      • SharePoint Developers are used to doing MOSS development using VPC or a Live developent site.
      • Key items to the development of a sound MOSS development environment.
        • Download and install the MOSS VHD hosted on microsoft.com
        • Microsoft Visual Studio 2008 - Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions
        • Visual Studio Tools for Microsoft Office 3.0 (VSTO 3.0)
        • WSS 3.0 SDK and/or MOSS 2007 SDK onto the development machine
        • CodePlex Smart Templates for Visual Studio 2008
    SharePoint Professional Development
  • 28. Building a Custom Web Part
  • 29.
    • Features, Solutions and More
    • What’s a SharePoint Feature?
    • A Feature is a container of various defined extensions for SharePoint. 
    • It is a set of XML files deployed to web front ends, that can be either
      • bundled in site definitions
      • individually turned on in SharePoint sites
    • Features have scope and can be associated to Farms, Webs, or Sites
    • What’s a SharePoint Solution?
    • A Solution is a deployment container for various types of SharePoint customizations
    • Uses is housed in a .WSP file format but is structured as a cabinet file format (.cab)
    • It is a recommended form of deployment for customizations, because it has the capability to be deployed, upgraded, and even retracted by the administration team.
    • What is Feature Stapling?
    • Feature stapling causes the attachment of a Feature to all new instances of sites that use a given site definition, without modifying the site definition or creating code routines to activate the Feature on each site.
    • What is Feature Event Receiver?
    • Specifies a server-side code routine that is called as part of four key events in the lifetime of a Feature: installation, activation, deactivation, and removal. Great for intiation and cleanup activities.
    SharePoint Professional Development
  • 30. Anatomy of a Solution (WSP) Solution Assembly (<Solution>.dll) The solution’s code will be built into an assembly file which will need to be deployed to the GAC (or /bin) of every SharePoint WFE in the farm Manifest.xml This file is required to describe the package attributes including the location of the required binaries and other reference files such as the feature.xml file as well as the instructions as to where to install certain components Feature.xml Describes the properties of the feature you wish to deploy and how you wish to deploy said features, including definition of any assemblies, dependencies, or other properties that might support the files. SharePoint Professional Development
  • 31.
    • Strengths:
    • SharePoint has huge development breadth and capabilities
    • Progressive Platform, designed to ‘right fit’ a solution, use right tools for the right job
    • Able to provide significant capabilities within and beyond your organization
    • Able to provide a quick ASP.NET application framework on which to stand up your development solutions.
    • Drawbacks:
    • In some cases, poor administrative planning, taxonomy and governance approaches give the platform a less than desirable appeal to users
    • Integration points, Microsoft integrated back office platforms will find a minimal level of ease in using SharePoint, less so if
    Final Thoughts
  • 32. Learn more about… MOSS 2007 VHD (Virtual PC) http://www.microsoft.com/downloads/details.aspx?FamilyID=67f93dcb-ada8-4db5-a47b-df17e14b2c74&displaylang=en SharePoint Development Team Blog http://blogs.msdn.com/sharepoint SharePoint Designer Team Blog http://blogs.msdn.com/sharepointdesigner CodePlex Smart Templates http://www.codeplex.com/smarttemplates SharePoint Products and Technologies Customization Best Practices http://msdn.microsoft.com/en-us/library/bb861954.aspx References Ryan Oliveira Solutia Consulting SharePoint Service Line Manager email: ryan.oliveira@solutiaconsulting.com
  • 33.
      • Questions & Answers
  • 34. Thank You