Development Webinar Series

  SharePoint Web Development
Quick Facts



About Us           Approach          Partnerships
• 23rd Year        • Vendor          • Microsoft Gold
• Grand Rapids &     Independent     • VMware
  Royal Oak        • Non-reseller      Enterprise
• 30 Staff         • Professional    • Citrix Silver
                     Services Only   • Cisco Premier
                                     • Novell Gold
Microsoft Gold Partner

 Competencies      Successes              Pinpoint

Four Gold       Customer            Microsoft’s official
                Excellence Award    partner directory
Eight Silver
                Virtual Technical
                Specialist (VTSP)   5-star rating


                Managed Partner

                Numerous Partner
                Awards
Expertise
Get Social with C/D/H



@cdhtweetstech    facebook.com/cdhtech




                 www.linkedin.com/company/cdh
Your Presenter


Mark Jordan
Consultant
MCSD.NET, MCTS SharePoint
Application Development




MarkJ@cdh.com
My First Computer (Actually, Dad’s)




      Circa 1982
Pedigree

• Programmed first computer in
  1982.
• BS of Computer Science, Theory
  and Analysis in 1985
• Programming for everything
  Microsoft starting in 2000
• SharePoint programming
  starting with version 2003
• One of more significant projects
  in my career was medical
  diagnosis software
• Web, Windows, mobile, services,
  and everything in between still
  today
SharePoint OOB vs. Customization
         vs. Development

• OOB
  – Lists
  – Settings
  – Pretty much anything you can do through the user
    interface
  – Web part pages
• SharePoint Customization
  –   Web part pages
  –   Master pages
  –   Page layouts
  –   Use of tools such as SharePoint Designer and
      SharePoint Manager
SharePoint Development


• Coded solutions
• Deployments
• Versioning and lifecycle
• Can an administrator do it with the UI or
  external tool?
• A development solution fits like a glove
  and not a mitten
                               Vs.
SharePoint as a Platform


• SharePoint is a great foundation on which to
  produce a solution
• A security model for authentication and
  authorization.
• A presentation model with web parts, caching,
  page layouts, and master pages.
• Business connectivity for full viewing and editing
  of external data sources (i.e. databases).
• Ref. Knowledge Transfer #26 Newsletter at
  http://www.cdh.com/newsResources/articles/Shar
  ePointdevelopmentplatformforyou/
Let’s Imagine the Possibilities
Web Parts


• Presentation of already-existing data in a
  way that is not provided out of the box
• Opportunity to be creative in how to
  present, and enhance the user experience
• OOB experience vs. one that is custom
  development:
Demo




Smoke and mirrors?
Web Parts OOB Experience


Example of news and calendar using OOB methods:
Developed Web Parts Experience


Example of news and calendar using developed web parts:
Barton Malow
Barton Malow
Imagine the Possibilities


• Web parts to present data from external
  source (i.e. Current incoming flights, social
  feeds, map mashups, etc.)
• Web parts for abbreviated data entry
• Web parts for …?
Internal- AND External-Facing Sites




           Our SharePoint practice
           does both internal- and
           public-facing sites
Chippewa Valley Technical College
Cedar Rapids, Iowa
Showcase: Simple ASP.NET
            application

• Situation
  – Data exists in warehouse
  – A user has been using SQL Enterprise
    Manager to add/remove cash flow adjustment
    transactions relative to their Investran
    accounting transactions
  – User needed functional solution with validation
    control (read this as… not the potential to wipe
    out a slew of transactions by accident)
Requirements and Constraints


• Application needs to be secure, to be used
  only by specific group of people
• Database administrator specifies…
  – Name of view for data retrieval
  – Name of stored procedure to save data, which
    returns validation status code upon which the
    application needs to react
Approach




• Application page in
  SharePoint
• Leverage SharePoint
  security
• No requirement for it to be
  pretty, so use out-of-the-
  box ASP.NET controls
• Validation of field values
Screen Shot
Screen Shot
Screen Shot
Screen Shot
Screen Shot
Yet Another Example
Yet Another Example
Yet Another Example


• Single feature that deploys 6 user controls
  (.ASCX)
• The user controls are composited together to
  create tabbed interfaces for 2 types of
  searches: Case Inquiry and Orders &
  Opinions.
• Controls dynamically create SQL queries.
• 6 SQL tables that are a copy of data in Oracle
  -- re-populated daily via a scheduled process.
• JQuery for UX.
Imagine the Possibilities


• Data entry for any data point
• Presentation of graphical KPI’s
• Control a web cam with buttons on the
  screen
• In SharePoint 2013, this is an even greater
  potential!
Everyone still with me?
Showcase: Automated Document
        Receipt and Filing

• Situation
  – Documents sent in from the field
  – Filed from Outlook to Q: drive
  – Not easy to locate document; certainly not
    possible via meta data
  – Reference of documents needed by partners
    and staff; Q: drive not accessible by partners
  – Quantity of incoming documents can be high at
    times
Requirements


• Have documents available in SharePoint
  for reference by partners and staff
• Secure documents based on types and
  process stage
• Q: drive stays!
• Allow rules to be defined to auto-file
  incoming documents
• Geographic “areas” and “fields” within
  areas are defined in external system.
Flow
Approach


• Allow rules to be defined based on incoming
  document titles and originating email address
• Have field reps send emails to new email
  address that goes to SharePoint document
  library
• Automate filing of documents to certain
  folders based on defined rules
• Secure documents at folder level
• Use Business Connectivity Services to have a
  view into “areas” and “fields” data
Rules
Other Features of the Solution

• Other features we accomplished
  – Custom document retention formula
     • Information Management Policy Settings
     • Custom policy
         – No less than 2 years, but only at Jan. 1
  – Custom alerts
     • Blackberry browsers
     • Cleaner view (i.e. Less links, more info)
  – Custom timer job to update web part views when
    list views change
     • Resolves chronic problem (or feature, depending on
       point of view) in SharePoint
  – Automatic metadata assignment for Office
    document attributes
Imagine the Possibilities


• Law firm needing to archive all
  correspondence to central place
• Document management and archiving
• Incoming form processing and redirection
• …?
15 Second Rest 




       The final stretch
Showcase: Entity Application


• Situation
  – Need to view business entity data in easy-to-
    navigate screen
  – View related entity data
     •   Banks (from SharePoint)
     •   Banks accounts (from SharePoint)
     •   Documents (from eDocs)
     •   Entity Ownership (from data warehouse)
     •   Entity change history (from SharePoint)
     •   Entity status (from Nintex)
Multiple Data Origins
Requirements


• Bookmarks (stored and retrieved from
  SharePoint user profile)
• Mobile and finger friendly (iPad)
• Desktop/laptop friendly
• Aggregation of all data sources to
  functional view
• Multiple sorting and filtering options
Approach


• SharePoint application page
• SharePoint search for documents
• SharePoint web services to data
  warehouse data retrieval (fyi… REST was
  not restful for us)
• Hyperlinks from entity to entity
• Use Backbone JS for model/view design
Screen shot
Screen shot
Screen shot
Screen shot
Demo




Dog and Pony show?
Responsive Design


• While we’re on the subject of mobile, you
  should know about Responsive Design
• Current project utilizes
   –   CSS3
   –   HTML5
   –   Modernizr js
   –   Isotope js
• Ref. Knowledge Transfer #33 Newsletter at:
  http://www.cdh.com/newsResources/articles/
  ResponsiveDesign/?nl=104&vt=W
Standard Web View
Mobile Web View
Even C/D/H …




Redacted?
Questions?



 • Now is good
 • Later is good,
   too …
   MarkJ@cdh.com
Thank You

Royal Oak                   Grand Rapids
306 S. Washington Ave.      15 Ionia SW
Suite 212                   Suite 270
Royal Oak, MI 48067         Grand Rapids, MI 49503
(248) 546-1800              (616) 776-1600




                    www.cdh.com

SharePoint Custom Development

  • 1.
    Development Webinar Series SharePoint Web Development
  • 2.
    Quick Facts About Us Approach Partnerships • 23rd Year • Vendor • Microsoft Gold • Grand Rapids & Independent • VMware Royal Oak • Non-reseller Enterprise • 30 Staff • Professional • Citrix Silver Services Only • Cisco Premier • Novell Gold
  • 3.
    Microsoft Gold Partner Competencies Successes Pinpoint Four Gold Customer Microsoft’s official Excellence Award partner directory Eight Silver Virtual Technical Specialist (VTSP) 5-star rating Managed Partner Numerous Partner Awards
  • 4.
  • 5.
    Get Social withC/D/H @cdhtweetstech facebook.com/cdhtech www.linkedin.com/company/cdh
  • 6.
    Your Presenter Mark Jordan Consultant MCSD.NET,MCTS SharePoint Application Development MarkJ@cdh.com
  • 7.
    My First Computer(Actually, Dad’s) Circa 1982
  • 8.
    Pedigree • Programmed firstcomputer in 1982. • BS of Computer Science, Theory and Analysis in 1985 • Programming for everything Microsoft starting in 2000 • SharePoint programming starting with version 2003 • One of more significant projects in my career was medical diagnosis software • Web, Windows, mobile, services, and everything in between still today
  • 9.
    SharePoint OOB vs.Customization vs. Development • OOB – Lists – Settings – Pretty much anything you can do through the user interface – Web part pages • SharePoint Customization – Web part pages – Master pages – Page layouts – Use of tools such as SharePoint Designer and SharePoint Manager
  • 10.
    SharePoint Development • Codedsolutions • Deployments • Versioning and lifecycle • Can an administrator do it with the UI or external tool? • A development solution fits like a glove and not a mitten Vs.
  • 11.
    SharePoint as aPlatform • SharePoint is a great foundation on which to produce a solution • A security model for authentication and authorization. • A presentation model with web parts, caching, page layouts, and master pages. • Business connectivity for full viewing and editing of external data sources (i.e. databases). • Ref. Knowledge Transfer #26 Newsletter at http://www.cdh.com/newsResources/articles/Shar ePointdevelopmentplatformforyou/
  • 12.
    Let’s Imagine thePossibilities
  • 13.
    Web Parts • Presentationof already-existing data in a way that is not provided out of the box • Opportunity to be creative in how to present, and enhance the user experience • OOB experience vs. one that is custom development:
  • 14.
  • 15.
    Web Parts OOBExperience Example of news and calendar using OOB methods:
  • 16.
    Developed Web PartsExperience Example of news and calendar using developed web parts:
  • 17.
  • 18.
  • 19.
    Imagine the Possibilities •Web parts to present data from external source (i.e. Current incoming flights, social feeds, map mashups, etc.) • Web parts for abbreviated data entry • Web parts for …?
  • 20.
    Internal- AND External-FacingSites Our SharePoint practice does both internal- and public-facing sites
  • 21.
  • 22.
  • 23.
    Showcase: Simple ASP.NET application • Situation – Data exists in warehouse – A user has been using SQL Enterprise Manager to add/remove cash flow adjustment transactions relative to their Investran accounting transactions – User needed functional solution with validation control (read this as… not the potential to wipe out a slew of transactions by accident)
  • 24.
    Requirements and Constraints •Application needs to be secure, to be used only by specific group of people • Database administrator specifies… – Name of view for data retrieval – Name of stored procedure to save data, which returns validation status code upon which the application needs to react
  • 25.
    Approach • Application pagein SharePoint • Leverage SharePoint security • No requirement for it to be pretty, so use out-of-the- box ASP.NET controls • Validation of field values
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
    Yet Another Example •Single feature that deploys 6 user controls (.ASCX) • The user controls are composited together to create tabbed interfaces for 2 types of searches: Case Inquiry and Orders & Opinions. • Controls dynamically create SQL queries. • 6 SQL tables that are a copy of data in Oracle -- re-populated daily via a scheduled process. • JQuery for UX.
  • 34.
    Imagine the Possibilities •Data entry for any data point • Presentation of graphical KPI’s • Control a web cam with buttons on the screen • In SharePoint 2013, this is an even greater potential!
  • 35.
  • 36.
    Showcase: Automated Document Receipt and Filing • Situation – Documents sent in from the field – Filed from Outlook to Q: drive – Not easy to locate document; certainly not possible via meta data – Reference of documents needed by partners and staff; Q: drive not accessible by partners – Quantity of incoming documents can be high at times
  • 37.
    Requirements • Have documentsavailable in SharePoint for reference by partners and staff • Secure documents based on types and process stage • Q: drive stays! • Allow rules to be defined to auto-file incoming documents • Geographic “areas” and “fields” within areas are defined in external system.
  • 38.
  • 39.
    Approach • Allow rulesto be defined based on incoming document titles and originating email address • Have field reps send emails to new email address that goes to SharePoint document library • Automate filing of documents to certain folders based on defined rules • Secure documents at folder level • Use Business Connectivity Services to have a view into “areas” and “fields” data
  • 40.
  • 41.
    Other Features ofthe Solution • Other features we accomplished – Custom document retention formula • Information Management Policy Settings • Custom policy – No less than 2 years, but only at Jan. 1 – Custom alerts • Blackberry browsers • Cleaner view (i.e. Less links, more info) – Custom timer job to update web part views when list views change • Resolves chronic problem (or feature, depending on point of view) in SharePoint – Automatic metadata assignment for Office document attributes
  • 42.
    Imagine the Possibilities •Law firm needing to archive all correspondence to central place • Document management and archiving • Incoming form processing and redirection • …?
  • 43.
    15 Second Rest The final stretch
  • 44.
    Showcase: Entity Application •Situation – Need to view business entity data in easy-to- navigate screen – View related entity data • Banks (from SharePoint) • Banks accounts (from SharePoint) • Documents (from eDocs) • Entity Ownership (from data warehouse) • Entity change history (from SharePoint) • Entity status (from Nintex)
  • 45.
  • 46.
    Requirements • Bookmarks (storedand retrieved from SharePoint user profile) • Mobile and finger friendly (iPad) • Desktop/laptop friendly • Aggregation of all data sources to functional view • Multiple sorting and filtering options
  • 47.
    Approach • SharePoint applicationpage • SharePoint search for documents • SharePoint web services to data warehouse data retrieval (fyi… REST was not restful for us) • Hyperlinks from entity to entity • Use Backbone JS for model/view design
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
    Responsive Design • Whilewe’re on the subject of mobile, you should know about Responsive Design • Current project utilizes – CSS3 – HTML5 – Modernizr js – Isotope js • Ref. Knowledge Transfer #33 Newsletter at: http://www.cdh.com/newsResources/articles/ ResponsiveDesign/?nl=104&vt=W
  • 54.
  • 55.
  • 56.
  • 57.
    Questions? • Nowis good • Later is good, too … MarkJ@cdh.com
  • 58.
    Thank You Royal Oak Grand Rapids 306 S. Washington Ave. 15 Ionia SW Suite 212 Suite 270 Royal Oak, MI 48067 Grand Rapids, MI 49503 (248) 546-1800 (616) 776-1600 www.cdh.com