dev212 sharepoint 2010 records management development

44
BEST PRACTICES CONFERENCE SHAREPOINT Clarity. Direction. Confidence. SHAREPOINT 2010 RECORDS MANAGEMENT DEVELOPMENT John F. Holliday SharePoint Architects, Inc. www.SharePointArchitects.us

Upload: john-f-holliday

Post on 18-Dec-2014

2.332 views

Category:

Technology


4 download

DESCRIPTION

A presentation by John Holliday, President of SharePoint Architects, Inc. at the 2011 European Best Practices Conference in London, April, 2011 on best practices for developing Records Management solutions on the SharePoint platform.

TRANSCRIPT

Page 1: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Clarity. Direction. Confidence.

SHAREPOINT 2010 RECORDS MANAGEMENT

DEVELOPMENTJohn F. Holliday

SharePoint Architects, Inc.

www.SharePointArchitects.us

Page 2: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

About Me• Books

• Professional SharePoint 2007 Development• Professional SharePoint 2007 Records

Management Development

• Activities/Projects• SharePoint Server MVP, Developer, Consultant• CAML.NET Framework/CAML.NET IntelliSense• SharePoint Developer Network (@SPDEVNET)• SharePoint Heroes (sharepointheroes.com)

Page 3: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Agenda

• Evolution of Records Management Development in SharePoint

• Understand key RM features• Explore RM-Focused Solution Strategies• Integrating Managed Metadata Services• Enabling PowerShell Admin/Deployment

Page 4: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Key Challenges for RM in MOSS

• Declaring Records• How to identify documents as records

• Protecting Records• How to control what happens to “records”

• Developing File Plans• How to identify records• How to specify record lifecycles

• Technology agnostic?

Page 5: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Key Features for RM in 2010

• Document ID Service• Content Type Syndication• Managed Metadata and Keywords• Content Organizer for Routing• “In Place” Record Declaration• Multi-Stage Retention Policies

Page 6: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Document Identifiers: Main Points

Every document can have a unique ID• Ability to reference documents by ID• Ability to move docs without breaking links• Scoped to Site Collection (DOCID feature)

• Adds “Document ID” field to documents• Need to checkout/checkin existing docs to get an ID

Example DOCID reference:http://<site collection url>/_layouts/DocIdRedir.aspx?ID=<doc id>

Page 7: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Using Document IDs for Records Management

• Must ensure DOCID feature is activated everywhere records are referenced• Content Type Hub Site• Collaboration Sites• Records Center Sites

Page 8: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Content Type Syndication: Main Points

• Available throughout the Farm• Can be used for content organizer rules• Can specify “publishing” rules

• Steps:• Provision a site to be an Enterprise Metadata Hub Site

• Best Practice: Use a dedicated site collection.

• Assign the site collection to the MMS• All content types created in the hub are now available for use in

other site collections

Page 9: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Managed Metadata: Main Points

• Support for multiple languages• Can set default values for terms• Can add synonyms for terms• Can create reusable term sets

Page 10: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Content Organizer: Main Points• Metadata-driven Routing

• Automatically handles incoming records (no need for custom router)

• Target destination determined from metadata(configured using rules)

• Support for file plan hierarchy• Can target subfolders of destination library• Automatically applies policies associated with target

location

Page 11: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Content Organizer: Value Proposition

• Advantages• More control over document routing• No need for custom routers• Still supports custom routers• New “Rule Manager” user group

• Disadvantages• Rules must be managed – requires skill• Rules must be updated if content types change

Page 12: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Content Organizer: Observations

• Dealing with the Classification Issue• Records Managers like Taxonomies• End Users like Folksonomies

• Managed Metadata to the rescue

• Building a “record declaration pipeline”• “Funnel” documents towards proper declaration using

“progressive classification”

Page 13: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

“Progressive Classification”• CONTOSO Healthcare

• Incoming patient interviews with embedded images• High volume requires preliminary classification by a human• Easy to misclassify => needs review by certified radiologist

before final declaration as official record

• Solution• Interviews sent to drop-off library in dedicated non-

records center site with preliminary CO rules driven by managed metadata

• Pre-classified interviews routed to specialized Records Centers with CO rules driven by approval workflow.

Page 14: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Email Records Management

• Designed for Exchange 2010• Integrated Email Archiving• Integrated Email Retention• Integrated Email Discovery

• Can use Content Organizer for Email• Avoid inconsistency/complexity• Avoid bottlenecks/bandwidth issues

• Recommended only for Records Center

Page 15: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Enabling Email Processing• From PowerShell

• Enable-SPFeature –id EmailRouting –url “<site url>”

• Creates a separate list to receive emails• Assigns a unique email address• Creates a built-in content type for emails

• “E-mail Submission”• Pre-defined fields common to emails

Page 16: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Multi-Stage Retention• Missing from SP2007

• Enables modeling of real-world scenarios• Stages are “activated” based on conditions• Stages can recur automatically until the

‘next’ stage is activated

• Example:• Perform annual review of invoices (recurring),

then purge after 3 years

Page 17: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Multi-Stage Retention: Main Points

• Define retention based on any date field• Stages activated by event triggers• Stages support limited recurrence• Support for custom formulas & actions

Page 18: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Multi-Stage Retention: How it Works

• Basic Architecture• What happens when a document ‘expires’?• When does SharePoint check for expiration?

Get-SPTimerJob ExpirationProcessing | Start-SPTimerJob

• Alternatives?• Workflow to monitor document lifecycle?• Timer job to check document lifecycle?

• => SharePoint is more efficient

Page 19: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Legal Holds: Main Points• Tied to Search

• New “Search and Add Holds” Page• Use search criteria to locate documents• Use search results to perform actions

• Examples:• copy to a new location• mark as read only

• Can be applied to any type of content• Can have multiple holds for a site

• Use Excel to get holds report

Page 20: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Building Records Management Solutions

Page 21: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Two Solution Strategies

• In-Place• Documents are declared as records in place.• Documents are “locked down”.

• Repository-Based• Documents are moved to a central repository.• Document metadata is evaluated.• Documents are routed to library/folder.• Information policy (retention) is applied.

Page 22: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

In-Place Record Declaration: Main Points

• Ability to declare (not manage) a record without having to move it to a records center• Can apply protections (lock down)• Can apply custom processing (workflow)

• Some limitations:• Cannot take advantage of features only found in the

Records Center site:• Cannot assign in-place records to file plan folders• Cannot inherit rules + permissions based on

file plan folder

Page 23: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Pros/Cons of In-Place Approach• Pro

• Lower cost (Records Center not required)• Easier to configure (feature activation)• Can apply records-only retention

• Con• Cannot apply location-based rules• Harder to administer

• Records are interspersed with non-records

Page 24: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Pros/Cons of Repository Approach• Pro

• Easier to administer• Records can be segregated• Records can be moved to cheaper storage

• Supports complex file plans• Location-based policies can be inherited• Metadata-driven rules for routing

• Con• Harder to configure

Page 25: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Hybrid Solution Strategy

• Maintain distinction between “record declaration” and “records management”• Custom event handler when records are

declared/undeclared• => Start “classification” workflow when declared• => Move to repository when approved

• Leave hyperlink in its place

Page 26: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

IRecordDeclarationHandlerpublic class RecordDeclarationHandler : IRecordDeclarationHandler {        // Records the record declaration event to an external database.        RecordOperationResult 

IRecordDeclarationHandler.OnDeclare(SPListItem item)        {            HandleDeclaration(item, true);            // continue with default processing            return RecordOperationResult.ContinueRecordProcessing;        }

}

Page 27: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Registering the Record Handlerusing Microsoft.Office.RecordsManagement.RecordsRepository;

public static void RegisterDeclarationHandler(this SPSite site, Type handler)

{Records.RegisterCustomCodeForRecordDeclaration(

site,handler.Assembly.FullName,

Handler.FullName);

}

….

SPSite site = new SPSite(“…”);

site.RegisterDeclarationHandler(typeof(myHandler));

Page 28: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

DEMOIn-Place Record Auditing

Page 29: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

RM-Focused Solution Strategies

Page 30: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

RM-Focused Solutions: Rule #1

Avoid Semantic Disconnect with RM Pros

• Must understand their language:• “File Plan”• “Retention Schedule”• “Classification”• “Record Series”

Page 31: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

RM-Focused Solutions: Rule #2

Target RM-Specific Document Lifecycles and Administration Requirements

• Must consider long-term evolution• Separate web application for records

• Content isolation

• Separate site collections for primary classifications• Quotas; document volume; security

• Separate document libraries for record series• Managed metadata

Page 32: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

RM-Focused Solutions: Rule #3

Incorporate Managed Metadata into Overall Development Plan

• Maintain consistency between MMS taxonomy and Content Organizer rules• Important for Records Managers, who are fixated on

classification terms• Important for traceability (“management evidence”)

long after the records have been routed

Page 33: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Empowering Administrators

Want to empower Admins to operate at a higher level than raw configuration steps.

Records Manager: “I need a place for a new primary classification, with 10 record series and about 2 dozen terms.”

Admin: “Do you want a new site collection?”

Records Manager: “Huh?”

Page 34: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Taking Advantage of PowerShell

• High-Level CmdLets for RM Deployment• New-RMApplication “Contoso Healthcare”• New-RMClassification “Corporate Files”• New-RMRecordSeries “Meeting Minutes”

–Classification “Corporate Files”

• Easy to Incorporate MMS Policy• Custom CmdLets create matching MMS terms

Page 35: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Configuring the Records Center

Page 36: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Records Management Setup

Basic Steps:1. Create a Specialized Web Application

2. Create Site Collections (1 RC per Classification)

3. Create Columns (add custom metadata)

4. Create (and syndicate) Content Types

5. Create Libraries and Folders (1 DL per Series)

6. Create Information Policies (Retention)

7. Create Content Organizer Rules

Page 37: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Records Management Web Application

Key Points:• Create a separate web app just for RM.

• Can assign a unique application pool.• Enables process-level tracking of users/processes.• Enables common URL for multiple records centers.• Can fine-tune bandwidth specific to RM.

Page 38: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

DEMO

PowerShell: New-RMApplication

Page 39: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

“Primary Classification” = “Records Center”

1. Create a Separate Records Center Site Collection for each Primary Classification

2. Associate each Records Center with its own content database

• Easier to archive by primary classification• Restrict maximum number of sites to 1

“Case Files” “Organizational Files” “Program Files” “Administrative Files”

Page 40: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

DEMO

PowerShell: New-RMClassification

Page 41: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

“Record Series” = “Document Library”

1. Create a Document Library for each Record Series within a Classification

• Hierarchy of folders/sub-folders as needed

2. Create a Matching Content Type for each Record Series

• Serves as the primary mechanism for capturing critical metadata• Required for setting up CO rules

Page 42: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

DEMO

PowerShell: New-RMRecordSeries

Page 43: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

SummaryNew features in SharePoint 2010 further enhance the RM story by making it easier to organize content and manage metadata.

The convergence of traditional RM with emerging ECM technologies requires an RM-focused solution development strategy.

In-Place records management means richer and more intuitive UX for records managers and end users, but increases the need for sound information architecture.

Page 44: DEV212 SharePoint 2010 Records Management Development

BEST PRACTICES CONFERENCE SHAREPOINT

Clarity. Direction. Confidence.

FOR MORE INFOVisit my blog: www.JohnHolliday.net

Upcoming Book: “Managing Official Records Using SharePoint 2010: A Guide for Developers and Administrators”