Post on 18-Nov-2014
description
SharePoint Web Development
Development Webinar Series
Quick Facts
About Us• 23rd Year• Grand Rapids &
Royal Oak• 30 Staff
Approach• Vendor
Independent• Non-reseller• Professional
Services Only
Partnerships• Microsoft Gold• VMware
Enterprise• Citrix Silver• Cisco Premier• Novell Gold
About Us• 23rd Year• Grand Rapids &
Royal Oak• 30 Staff
Approach• Vendor
Independent• Non-reseller• Professional
Services Only
Partnerships• Microsoft Gold• VMware
Enterprise• Citrix Silver• Cisco Premier• Novell Gold
Microsoft Gold Partner
Competencies
Four Gold
Eight Silver
Successes
Customer Excellence Award
Virtual Technical Specialist (VTSP)
Managed Partner
Numerous Partner Awards
Pinpoint
Microsoft’s official partner directory
5-star rating
Expertise
Get Social with C/D/H
facebook.com/cdhtech@cdhtweetstech
www.linkedin.com/company/cdh
Your Presenter
Mark JordanConsultantMCSD.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/SharePointdevelopmentplatformforyou/
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
Royal Oak306 S. Washington Ave.Suite 212Royal Oak, MI 48067(248) 546-1800
Grand Rapids15 Ionia SWSuite 270Grand Rapids, MI 49503(616) 776-1600
Thank You
www.cdh.com