Upload
thomas-svensen
View
741
Download
2
Tags:
Embed Size (px)
Citation preview
«Mission Impossible»A custom SharePoint solution with
(almost) no code
Thomas Svensen
The journey
Who am I
Where did we do it
Why did we do it
Which choices
What challenges
How did it go
am I
94Beginner to expert
Data
Warehouse
Mobile
Services
Search
based ads
99
05
10
Wheredid we do it
A Norwegian
company in the
Energy sector
– with offices
in many countries
Document Management History
2012
No
. of
solu
tio
ns
2004Pre-historic
did we do it
50,000documents,
divided into
geographic
and
functional
areas
Focus on «Out Of The Box»
Less cost
Less risk
Faster rollout
Support
Easier upgrade
Cloud ready!
Fun
Project team
2010 2011
Eskil – arkitekt Line – altmuligkvinne
og «Tante Sofie»
Thomas – arkitektur,
utvikling og testThomas, sjekker du
RBS?
Whichchoices
Whichchoices
The SharePoint Databases
ContentConfig
SharePoint Database Size
MS recommended max: 200 GB
Customer max: 50 GB
Need full
backup/
restore,
so limits
still apply!
20 GB
Portal
20 GB
Area 1
100
GB
Area 1 docs
100
GB
Area 1 docs
100
GB
Area 2 docs
100
GB
Area 2 docs
20 GB
Area 2
100
GB
Area 1 docs
Provisioning
sites using
PowerShell
Giving
impression
of hierarchy
using
PowerShell
20 GB
Portal
20 GB
Area 1
100
GB
Area 1 docs
100
GB
Area 1 docs
100
GB
Area 2 docs
100
GB
Area 2 docs
20 GB
Area 2
100
GB
Area 1 docsDemo
time
Handover to Operations
20 GB
Portal
20 GB
Area 1
100
GB
Area 1 docs
100
GB
Area 1 docs
100
GB
Area 2 docs
100
GB
Area 2 docs
20 GB
Area 2
100
GB
Area 1 docs
Content
farm 20 GB
Portal
20 GB
Area 1
100
GB
Area 1 docs
100
GB
Area 1 docs
100
GB
Area 2 docs
100
GB
Area 2 docs
20 GB
Area 2
100
GB
Area 1 docs
Shared
Services
Farm
Search
Scope 1
Scope 2
Content
farm 20 GB
Portal
20 GB
Area 1
100
GB
Area 1 docs
100
GB
Area 1 docs
100
GB
Area 2 docs
100
GB
Area 2 docs
20 GB
Area 2
100
GB
Area 1 docs
Shared
Services
Farm
Search
Managed
Metadata:
Terms
Columns
Content
Types
All sites
subscribe
to the «hub»
to ensure
full sync
Folder metadata
Folderscan have
metadata,
but there is
no syncto documents
inside
Document set metadata
Document
setshave their
metadata,
automatically
propagated
inside it
Document Set Evaluation
Pros
• Easy for end users
• No coding
• Better findability
• Promoted by Microsoft
Cons
• Not mature
• Little experience
anywhere
• One level only
Document Set Findings
Existing
metadatawith same
name stops
syncing
No «folder
specific
views»
No required
properties
Whatchallenges
Whatchallenges
Coding – event receiver on folder
Customer wish:
Automatically
create three
specific
document sets
when a
«unit» folder
is created
Time to code
First
version
working
Full
deploy
Propagate
standard
metadata
Look up
managed
metadata, incl.
struggling with logging
Cleanup,
bug fix,
test,
document
2 days5 days10 days20 days
Logging SHOULD be easy!
Log.error(«Hello world!»)
SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory(
“Hello", TraceSeverity.Unexpected,EventSeverity.Error),
TraceSeverity.Unexpected, “Hello world”); }
The SharePoint version of «easy»...
Still no logging
Ideal logging:
Easy to writeNo special
permissions required
Remotely accessible
Centralized in a load balanced
farm
Easy to turn on/off at runtime
Log to a SharePoint list!
public static void LogError(SPWeb web, string msg){
SPList logList = web.Lists.TryGetList("Logging");if (logList != null) {
var logItem = logList.Items.Add();logItem["Title"] = msg;logItem.Update();
}}
Simple interface
Easy on/off
Standard list
Howdid it go
Does everyone
make this
mistake?
Size matters
0
50
100
150
200
250
300
350
400
450
On disk Reported by SharePoint(adds metadata and
"housekeeping")
Reported by SQL(adds auditing, recycle
bin and more"housekeeping")
Gig
abyt
es
The journey
Who am I
Where did we do it
Why did we do it
Which choices
What challenges
How did it go
Takeaways
Takeaways
• Goal: Happy Users!
• Path: Focus on «Out of the Box»
• Risk: Missing on either of these
Questions?