SharePoint Development has many potentials with to the massive opportunity its creating with increasing number of users. This will be a good place to jump-start for SharePoint development.
Overview
• What is SharePoint?
• History
• Opportunity
• SharePoint Architecture
• Core Concepts
• Types of Development
What is SharePoint?
• Create sites and work in teams
• Integrated with Windows and Office
• In built content authorization mechanisms for users
• Multiple forms of information management
– Documents
– Digital assets
• Facilitates business process management
• Interactive reports, dashboards and insights
• Connect with existing LOB data
• Social networking with colleagues
• Search
History
• 2001
– Microsoft SharePoint Portal Server
• 2002
– Microsoft SharePoint Team Services
• 2003
– Windows SharePoint Services 2.0 (Free)
– Microsoft SharePoint Portal Server 2003 (Commercial)
• 2007
– Windows SharePoint Services 3.0 (Free)
– Microsoft Office SharePoint Server 2007 (Commercial)
• 2010
– Microsoft SharePoint Foundation 2010 (Free)
– Microsoft SharePoint Server 2010 (commercial – Standard & Enterprise)
• 2013
– Microsoft SharePoint Foundation 2013 (Free)
– Microsoft SharePoint Server 2013 (Commercial – Standard & Enterprise)
– Office 365 – SharePoint online
Opportunity
• 75% of the Fortune 500
– 22% have all employees using
• As a standalone business
– 125 million licenses
– 65,000 customers
• Better utilizing data
– US health care industry: over $300 billion annually
– Retailer operating margin increase by 60%
– Production and assembly cost reduction by 50%
Core Concepts
Farm Service Applications Web Application
Site Collection Site List
List Item Document Library
Demonstration
• SharePoint Farm
• Service Applications
• Web Applications
• Site Collections
• Sites
• Lists
• Document Libraries
Types of Development
1. Out Of The Box (OOTB)
2. SharePoint Designer
3. PowerShell
4. Farm solutions
5. Sandboxed solutions
6. Apps for SharePoint
7. REST API implementations
1. Out of the box
• Performed in SharePoint
• Managed through web application
• Less time consuming work are usually taken
• Good place to start development
Advantages
• No or less code
• No external tools
• No development skills required
• Fewest upgrade issues
Disadvantages
• Not enough most times
• Sometimes can go wrong
2. SharePoint Designer
• Free development tool
• Performs operations through web services
• Essential for branding development
• HTML, CSS, XML, JavaScript skills required
Advantages
• More options for development
• Look and feel customization
• Remote development
• Workflow support
Disadvantages
• Still has limitations
• Deployment is messy
3. PowerShell
• Used for scripting, not for solutions
• Eg:
– Configure farm
– Delete a list
– Deploy a solution
Advantages
• Perfect for “run once” logic that
may not make sense to deploy as
a feature
Disadvantages
• Not an option for the cloud
4. Farm Solutions
• Runs full trust code
• Deploys DLLs to GAC
• Available APIs
– Server-Side object model
– Client-Side object model
– REST api
Advantages
• Almost all operations available
• Can access custom DLLs in the GAC
Disadvantages
• Can affect farm stability
• Need farm administrator to deploy
5. Sandboxed Solutions
• Deploys at site collection level
• Strict Code Access Security policies
• Deprecated
• Runs in an isolated process but in the
farm
• Available APIs
– Server-Side object model
– Client-Side object model
– REST api
Advantages
• Considered much safer
• Easy to manage
Disadvantages
• Limited development components
• Architecture provides overhead
6. Apps for SharePoint
• Introduced with SharePoint 2013
• Multiple APIs for development
• Available APIs
– Client-Side object model
– REST api
• Hosting options
– Provider-hosted
– SharePoint-hosted
Advantages
• Considered much safer
• Easy to manage
Disadvantages
• Limited development components
• Architecture provides overhead