SharePoint Based Solutions SharePoint 2010 - PowerPoint PPT Presentation


PPT – SharePoint Based Solutions SharePoint 2010 PowerPoint presentation | free to download - id: 3f5ae8-NGJmM


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

SharePoint Based Solutions SharePoint 2010


SharePoint Based Solutions SharePoint 2010 Prepared By: Kevin Cole (MCM in training) May 23, 2012 * Show you sharepoint s OOB functionality, introduce sample ... – PowerPoint PPT presentation

Number of Views:357
Avg rating:3.0/5.0
Slides: 61
Provided by: col118
Learn more at:


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: SharePoint Based Solutions SharePoint 2010

SharePoint Based SolutionsSharePoint 2010
  • Prepared By Kevin Cole (MCM in training)
  • May 23, 2012

  • SharePoint Developer / Solution Architect
  • Since 2003 (9 years)
  • Specializing in custom development architecture
  • Currently in training for
  • Microsoft Certified Master for SharePoint 2010
  • Major clients include
  • http//
  • http//

  • Seriously Awesome
  • Place to work
  • http//

Presentation Content
  1. SharePoint Basics
  2. Basic SharePoint Solution
  3. Out of the box functionality
  4. Advanced solution

Question breaks look like this!
  • ?

What is SharePoint?
  • Its like a filing cabinet,
  • only digital and automated.
  • Easily solves document
  • life cycle related problems.

A typical SharePoint problem
  • We have paper forms which people fill out at
    branch offices to submit their hours for time
  • Offices fax these paper forms into HR. These
    faxes are often poor quality.
  • HR has to enter the data into our payroll system
    by hand.
  • Once received, we need to retain these records
    for 2 years. Boxes and boxes of files

Structure Key Points
  • Site Collections should be the logical boundary
    of administration and content.
  • Avoid spanning content you want to summarize
    across site collections.
  • You can have multiple content databases, but a
    site collection can only live in one content
    database (no spanning).

Lists Libraries
  • A Document Library is just a List, only with
    additional functionality that gives you document
    template abilities.
  • You can build a template in office, and collect /
    use metadata as Document Properties.
  • List items allow you to attach documents, and are
    less focused on the document / file aspect.

Ad-hoc whatever
Internal Lists / Document Libraries
  • Internal Lists
  • Great for storing files.
  • Not good for videos, or large content.
  • Great for small lists (lt 4k items).
  • Can store up to 30 million items but dont.
  • Poor use of SQL due to its dynamic
    requirements(uses row spanning, and multiple
    data-type columns)

External vs. Internal Lists
  • External Lists
  • Great for storing data in a SQL table.
  • Solid use of data types, and optimization
  • Other systems can interact easier with data in
  • External lists can be driven by any database, web
    service, or even your own .NET assembly.
  • Efficient way to store gt 4K rows.
  • Search, and maintain data in SharePoint UI.

Provided Web Parts / Lists
  • Web Parts
  • Lists
  • Content Editor / HTML Form
  • Put rich html content on page.
  • Content Query
  • Summarize data within a site collection
  • RSS Viewer
  • View RSS feeds from anywhere
  • Table of Contents
  • Summarize site collection
  • Silverlight Viewer
  • Wrapper for your XAP
  • Announcements
  • Automation around events and notices.
  • Calendars
  • Pretty calendar view, and connect with outlook.
  • Document Libraries
  • Contact Lists
  • Task Lists
  • Ad-hoc Custom Lists
  • Many lists can be connected to Outlook.

Questions so far?
  • ?

SharePoint Data Structures
Content Types
Internal vs External Lists
Web Parts / Lists
Office InfoPath
  • Commonly misused.
  • Product intended for users who dont know how to
  • Also useful for offline data collection.
  • Ability to add logic to document info panel in
    word, and extend UI to outlook.

Office InfoPath
  • Play to a developers strengths. They write web
    parts, html forms, etc.
  • InfoPath destroys developer productivity.
  • Once you publish an IP form, changing it is
    incredibly difficult.
  • Used with workflows, but its even harder to
    change or publish new versions.

SharePoint Designer
  • SP Designer 2007 was awful.
  • In 2010 its very awesome.
  • Can export functionality to WSP (Solution
    packages) for transition between testing
  • May cause headaches for upgrades later.

Questions so far?
  • ?

SharePoint Designer
A Divider
  • Ok great, what does this all mean for no-code

Problem Scenario
  • We have paper forms which people fill out at
    branch offices to submit their hours for time
  • Offices fax these paper forms into HR. These
    faxes are often poor quality.
  • HR has to enter the data into our payroll system
    by hand.
  • Once received, we need to retain these records
    for 2 years. Boxes and boxes of files

Out of the box
  • Lists
  • Think of a list as a way to hold data entered by
  • Lists are NOT relational databases, use SQL.
  • Lists are great for gathering data from people
    without having to create a whole construct to a
  • Content Types
  • Think of a content type as an Interface
    definition for a list item.
  • Defines what fields are expected to exist, and
    their data types.
  • Workflows
  • Great for requesting approval, or review.
  • Gather digital sign-off.
  • Send requests for content disposition

Out of the box
  • Lists
  • Hold our emailed in PDF documents.
  • Content Types
  • Enable metadata on PDF documents. Improve search
    ability and allows use of automatic document
    routing functionality.
  • Workflows
  • Allow HR to Approve or Reject submissions and
    bounce them back.

Questions so far?
  • ?

Lists Store Submitted Documents
Content Types Provide Metadata Abstraction
Workflows request approval.
Out of the box
  • Alerts
  • Notify users when items added, updated, deleted.
  • Instant, daily, or weekly summary.
  • Content Organizer
  • Automatically direct content to places based on
    metadata and rules.
  • Incoming Email
  • Receive email and documents as attachments.
  • Great way to have people outside contribute
    documents internally.

Out of the box
  • Alerts
  • Weekly summary of new digital PDF submissions to
    payroll rep for processing.
  • Content Organizer
  • Ship the digital PDF files off to the records
    center for archival.
  • Incoming Email
  • Documents are emailed in, instead of faxing.
    Better visual quality by using a newer scanner,
    which could even be configured to send the email.

Questions so far?
  • ?

Alerts summarize received items weekly in one
Content Organizer routes approved documents to
record center.
Incoming Email receives scanned copies, and
stored them into a list
Out of the box
  • Records Management (Records Center)
  • Declare items as records to preserve them
    (prevent edit/delete).
  • Acts as a repository for documents marked as
  • A separate site collection allows different
    ownership rights.

Out of the box
  • Records Management (Records Center)
  • Store our digital copies in a searchable and
    protected way. Automatically remove them after 2

No-Code SharePoint Solution
  1. People fill out a paper form, scan it in, and
    email it to SharePoint.
  2. It is saved to a list which tracks the progress
    of processing the document with an approval
  3. After it is approved (processed) by Payroll
    Content Organizer archives it in the records
    center which manages disposal policies.

No-Code SharePoint Solution
  • All functionality is out of the box,
    configuration based.
  • Can be setup in under a day.
  • Solves the major problems like manual
    transmission, poor quality faxes, and
    digitization of records.
  • Plays to SharePoints strengths as a document and
    content management source.

Questions so far?
  • ?

Records Center used to define policies around
Out of the box driving a simple solution.
A Divider
  • SharePoint can get you there with no code.
  • What about a little code?

Problem Scenario
  • Remaining No-Code Problems
  • Solved With Some Code
  • Paper based forms.
  • Scanned in and emailed.
  • HR enters data manually.
  • Approval can be clunky.
  • Digital / web forms.
  • Data saved to a database.
  • Payroll reviews data entered in one place.
  • Payroll can export data for import into external

Out of the box
  • External Content Types
  • Its a list, except content is stored externally
    like in an SQL DB.
  • Some limitations, and ECTs are made using
    SharePoint Designer.
  • Data can come from web services, databases, and
    even .NET libraries.
  • Content Query Web-Part
  • Display items queries from lists across sites.
  • Can be used to show items of certain
    content-types etc.
  • XSLT formatting for output.
  • Can use XSLT to transform result into JSON as
  • REST / WCF / ListData.svc
  • Query list content using jQuery / JSON / mobile
  • Can attach as a web service endpoint in your

Out of the box
  • External Content Types
  • Allows us to either write data to web service API
    provided by payroll system, or into an SQL
    database for more efficient data storage.
  • Content Query Web-Part
  • Query data entered into the system, and summarize
    it into a format the payroll person is able to
    copy / paste into the payroll entry system.
    (Still manual, but way less errors).
  • REST / WCF / ListData.svc
  • Save data from our html form, using JavaScript,
    into SharePoint. Can host the web page outside
    of sharepoint.

Some-Code SharePoint Solution
  1. Employees fill out a form that looks like the
    paper form on website.
  2. JavaScript saves the data to an external list
    into SQL.
  3. Payroll reviews entries, and prints a PDF copy
    and archives that.
  4. A Content Query Web Part transforms entered data
    into something they can import into payroll.
  5. (Or payroll can pull data entered into SQL

Some-Code SharePoint Solution
  • Uses out-of-the box functionality. Doesnt
    require deployment of a solution package (WSP).
  • Code part of solution is the html / java script.
    Custom HTML UI is for employees benefit to
    reduce perceived process change.
  • Harder to setup, and possibly maintain. But
    solves the problem scope entirely.
  • Involves training employees and payroll.

Questions so far?
  • ?

ListData.SVC Rest API allow us to save data from
a data entry screen into a SharePoint list.
External Lists Store row based data in SQL
Content Query Web Part can use XSLT to collect
and transform data for us.
  • That last solution sounds
  • complicated and hard to maintain.

  • Thats because it is complicated
  • and hard to maintain or change.

Custom Code
  • Need the development life cycle, or want complete
    control / automation Custom code is the way to
    do it!
  • SharePoint automates the work involved in the
    document life-cycle, but integration with
    external systems can be tricky.
  • Its really good at simple ad-hoc solutions that
    improve quality and reduce effort around manual
    document management processes.

Questions so far?
  • ?

Complex low-code solution
Custom Code reasons
Maintenance and understandability.
Problem Scenario
  • Remaining Problems
  • Solved With Custom Code
  • Hard to maintain / update.
  • Manual data migration into payroll system.
  • Manual PDF creation by payroll, for archival.
  • Solution may not be seen as intuitive to payroll
  • Full life-cycle. C / SQL.
  • Ability to automatically migrate data (if
  • Ability to generate PDF for archival by code on
  • Full control over user experience and design.

Web-Parts .NET (Code stuff)
  • Web Parts are just like a web control, only with
    fancy chrome around them, and have built in
    functionality for storing customizations.
  • Web Parts can contain Web Controls, you can build
    out a web control, and make it a child of a web
  • Visual Web Parts are a UserControl (ASCX) with
    code behind ( A web part uses an ascx as the UI).

All Code SharePoint Solution
  1. Employees fill out a form that looks like the
    paper form, in a web-part.
  2. Payroll visits the website weekly and reviews
    entries using a web part that lists them.
  3. Payroll edits / approves entries.
  4. The system generates a PDF and sends it to the
    records center for retention, and processes
    approved entries into payroll system.

All Code SharePoint Solution
  • Custom web parts written in C for data entry,
    display, and approval.
  • Web parts are just fancy wrapped ASP.NET web
  • SQL backend for data storage and processing into
    payroll system.
  • When payroll entry is approved by payroll a PDF
    version is generated and sent to the records
    center for archival.
  • This is the most automated solution, and
    leverages your skills as a .NET / SQL developer.

Solution Comparison
Solution Type Difficulty Time Cost () Maintenance
Basic Solution Some Training 2 Days 500 Configure
Some-Code Html / JS 5 Days 1,000 Rewrite
Custom Code C / SQL 1 Month 20,000 Code Change
Basic No Code Some-Code Custom Code
80 100 110
Automate Record Retention Workflow around digital copy Transfer documents by email Online form that looks like existing paper form. Assist in export of digital data to external system. Ability to do whatever you need. Ability to automate all internal processes.
Key Points
  • Either do it out of box or custom code avoid
    mixing, that is where headaches begin.
  • SharePoint may not solve everything, but it takes
    care of a lot of the manual pains.
  • SharePoint is NOT a relational database.
  • The golden rule
  • Play to SharePoints strengths to avoid
    headaches. It does documents, and ad-hoc meeting
    coordination really well.

  • Kevin.Cole
  • Download this deck (along with more content in
    it) from
  • http//

Records Management
  • Declare content as a record A legal document we
    need to keep and eventually dispose of.
  • Records Center site template which acts as a
    repository for records.
  • Provides Document ID functionality, and retention
  • Declare documents for Hold as part of a legal
  • http//

  • Collect information or documents in lists and
  • Useful for ad-hoc tables of information.
  • Views can summarize data, and provide quick UI
    for your ad-hoc data stores.
  • http//

Content Types
  • Defines a set of metadata that surrounds
  • Acts as an Interface definition, giving a set of
    fields and types.
  • Used by SharePoint to work abstractly in places
    like Search or the Content Query WebPart.
  • http//

  • Out of the box, you get Approval, Feedback,
    Collect Signature, and Disposition Request.
  • Design workflows in SharePoint Designer.
  • Export workflows as reusable Solution Package.
  • http//

  • Subscribe to changes made to items in a list.
  • Can receive by email, or SMS text msg.
  • SharePoint can summarize alerts for you.
  • http//

Content Organizer
  • Define rules used to send documents or other
    items to locations inside SharePoint for better
  • Can also use Send To connections to provide ways
    for users to send documents into an archive-based
    site collection to help with governance.
  • http//

Incoming Email
  • SharePoint can receive emails which contain
    documents etc.
  • Great way to receive documents from people,
    assign metadata, and forward off for alerts /
  • http//

External Content Types
  • Connect and manipulate external data using
    SharePoint UI as a front end.
  • Make data from external data sources searchable
    in SharePoint.
  • Connect and expose data into office web
  • http//
  • http//

Content Query Web Part
  • Query for and display items from many sites
    within the same site collection.
  • Edit and style the list using XSLT. Edit
  • Activate the Publishing Feature to use it.
  • http//
  • http//

REST / ListData.svc
  • Interact with data in SharePoint Lists with a
    REST Style interface.
  • Can be connected as a web service reference to
    your code.
  • http//
  • http//