Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Business Requirements
Emulate services found in Standard edition:
o Centralized control of metadata tagging and enforcement
o Centralized origination and control of metadata tag value sets (term sets), including default value and permission
assignments based on specific site and list context
o Centralized origination and synchronization of Content Types, Site Fields, Lists, and List Fields between source and target
sites; allow site-specific auto-assignment via ‘push’ model as well as site-specific subscriptions via ‘pull’ model
Custom field types (with extended attributes/services) mapped to centrally managed value sets (term sets)
Centralized Enterprise configuration values (i.e. - timer job directives, site-specific configurations, etc.)
Enterprise enforcement of governance via Content Types and mapped custom field types
Global Services should be discoverable and accessible by client types outside of SharePoint processes (command processes,
HTTP/Web processes, WinForm processes)
Other requirements:
o Provide for template-based site provisioning using high-level generalized templates and ‘buffet-style’ feature activation
Real World Case Study: Bridging the Service Gap between
Foundation and Standard Editions of SharePoint 2010
o Provide for centralized exception and event logging services
o Provide for internal permission elevation (where justified) to accomplish interactive tasks across sites and farms
o Provide for instrumentation of critical processes to allow for administrative server alerts (where desired)
o Provide list-based presentation controls to replace use of XML DataView web part
o Provide list-based menu and breadcrumb web part
o Allow provisioning, content migrations, and maintenance activities to be performed by administrators not familiar with
SharePoint
Architectural Approaches
Systems Design
Emphasis on SOA approach; think high-cohesion and low-coupling
Plan for change; it’s the only true constant in systems design
Leverage existing framework services; don’t re-invent what’s already available
Real World Case Study: Bridging the Service Gap between
Foundation and Standard Editions of SharePoint 2010
Extend on existing services where possible
Plan for eventual platform upgrades:
o Minimize one-off customizations; thoroughly justify & document if actually performed
o No modifications to system files in 14 hive!
Emphasis on templates and features for flexibility of design implementation
Coding Practices:
Minimize technology-specific services; avoid assumptions of certain contexts in design
Emphasis on highly-controlled migration of releases across environments using checklists and detailed ‘move sheets’
Emphasis on proactive, standardized coding practices; all code is ‘owned’ and directly accountable to someone
Services should communicate to their callers robust contextual information about the result of their activities; think Custom Types
Powershell should play a large part in provisioning, content migration and maintenance activities
Ease of maintenance and recoverability via detailed logging and built-in ‘tunability’, ‘testibility’ and instrumentation
Lessons Learned
The .Net Framework holds a lot of surprises and not-well advertised utilities; take time to investigate the namespaces, specifically
System.Net, System.Web, …..
Is there ANYTHING Powershell can’t do??
When approaching technical challenges, first question should be “Has anyone already done this?”