sharepoint custom development
DESCRIPTION
TRANSCRIPT
![Page 1: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/1.jpg)
SharePoint Web Development
Development Webinar Series
![Page 2: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/2.jpg)
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
![Page 3: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/3.jpg)
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
![Page 4: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/4.jpg)
Expertise
![Page 5: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/5.jpg)
Get Social with C/D/H
facebook.com/cdhtech@cdhtweetstech
www.linkedin.com/company/cdh
![Page 6: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/6.jpg)
Your Presenter
Mark JordanConsultantMCSD.NET, MCTS SharePoint Application Development
![Page 7: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/7.jpg)
My First Computer (Actually, Dad’s)
Circa 1982
![Page 8: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/8.jpg)
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
![Page 9: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/9.jpg)
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
![Page 10: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/10.jpg)
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.
![Page 11: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/11.jpg)
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/
![Page 12: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/12.jpg)
Let’s Imagine the Possibilities
![Page 13: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/13.jpg)
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:
![Page 14: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/14.jpg)
Demo
Smoke and mirrors?
![Page 15: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/15.jpg)
Web Parts OOB Experience
Example of news and calendar using OOB methods:
![Page 16: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/16.jpg)
Developed Web Parts Experience
Example of news and calendar using developed web parts:
![Page 17: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/17.jpg)
Barton Malow
![Page 18: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/18.jpg)
Barton Malow
![Page 19: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/19.jpg)
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 …?
![Page 20: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/20.jpg)
Internal- AND External-Facing Sites
Our SharePoint practice does both internal- and public-facing sites
![Page 21: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/21.jpg)
Chippewa Valley Technical College
![Page 22: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/22.jpg)
Cedar Rapids, Iowa
![Page 23: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/23.jpg)
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)
![Page 24: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/24.jpg)
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
![Page 25: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/25.jpg)
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
![Page 26: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/26.jpg)
Screen Shot
![Page 27: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/27.jpg)
Screen Shot
![Page 28: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/28.jpg)
Screen Shot
![Page 29: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/29.jpg)
Screen Shot
![Page 30: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/30.jpg)
Screen Shot
![Page 31: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/31.jpg)
Yet Another Example
![Page 32: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/32.jpg)
Yet Another Example
![Page 33: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/33.jpg)
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.
![Page 34: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/34.jpg)
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!
![Page 35: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/35.jpg)
Everyone still with me?
![Page 36: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/36.jpg)
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
![Page 37: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/37.jpg)
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.
![Page 38: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/38.jpg)
Flow
![Page 39: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/39.jpg)
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
![Page 40: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/40.jpg)
Rules
![Page 41: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/41.jpg)
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
![Page 42: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/42.jpg)
Imagine the Possibilities
• Law firm needing to archive all correspondence to central place
• Document management and archiving• Incoming form processing and redirection• …?
![Page 43: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/43.jpg)
15 Second Rest
The final stretch
![Page 44: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/44.jpg)
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)
![Page 45: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/45.jpg)
Multiple Data Origins
![Page 46: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/46.jpg)
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
![Page 47: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/47.jpg)
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
![Page 48: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/48.jpg)
Screen shot
![Page 49: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/49.jpg)
Screen shot
![Page 50: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/50.jpg)
Screen shot
![Page 51: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/51.jpg)
Screen shot
![Page 52: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/52.jpg)
Demo
Dog and Pony show?
![Page 53: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/53.jpg)
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
![Page 54: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/54.jpg)
Standard Web View
![Page 55: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/55.jpg)
Mobile Web View
![Page 56: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/56.jpg)
Even C/D/H …
Redacted?
![Page 58: SharePoint Custom Development](https://reader033.vdocument.in/reader033/viewer/2022051513/546f5777af79596c298b5a2a/html5/thumbnails/58.jpg)
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