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
8. 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
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
• 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.
11. 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/
13. 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:
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 …?
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 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
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!
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 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.
39. 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
41. 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
42. Imagine the Possibilities
• Law firm needing to archive all
correspondence to central place
• Document management and archiving
• Incoming form processing and redirection
• …?
46. 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
47. 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
53. 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
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