Development Webinar Series SharePoint Web Development
Quick FactsAbout 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 PinpointFour Gold Customer Microsoft’s official Excellence Award partner directoryEight Silver Virtual Technical Specialist (VTSP) 5-star rating Managed Partner Numerous Partner Awards
Get Social with C/D/H@cdhtweetstech facebook.com/cdhtech www.linkedin.com/company/cdh
Your PresenterMark JordanConsultantMCSD.NET, MCTS SharePointApplication DevelopmentMarkJ@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:
DemoSmoke and mirrors?
Web Parts OOB ExperienceExample of news and calendar using OOB methods:
Developed Web Parts ExperienceExample of news and calendar using developed web parts:
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
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.
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
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
DemoDog 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 YouRoyal Oak Grand Rapids306 S. Washington Ave. 15 Ionia SWSuite 212 Suite 270Royal Oak, MI 48067 Grand Rapids, MI 49503(248) 546-1800 (616) 776-1600 www.cdh.com