Date post: | 05-Jan-2016 |
Category: |
Documents |
Upload: | donald-newton |
View: | 213 times |
Download: | 0 times |
EBZ 321
Extending CMS 2002 Publishing Processes
Scott Fynn
Microsoft Consulting Services
National Practices
Agenda
Workflow for Web Publishing?CMS 2002: Built-In WorkflowWhy Extend Workflow?Extending Workflow
CMS 2002 Publishing EventsExternal Page State
Creating Web Author Controls
Partner SolutionsDeploying Workflow
Web Publishing: Content Management Server 2002
Web Content Management:Integrated suite of tools that facilitates the creation, publication, and maintenance of content for the Web.
Workflow:A method of using software to enforce publishing processes.
Workflow for Web Publishing
Human to Human Task RoutingExample: Document Collaboration
Human to ApplicationData ProcessingExample: Online Request Forms
Application to ApplicationApplication IntegrationExample: Integrated Billing Systems
Web publishing involves aspects of all three!
Built-In Workflow
CMS 2002 provides:
Three roles, three kinds of state changesAuthor (..who Submits)
Editor (..who Approves or Declines)
Moderator (..who Approves or Declines)
Result: 1 content approval step.Moderators approve publishing details
Moderators do not re-approve content!
More Built-In Workflow
There are ten official page statesThe ones you expect:
The page has been Saved by the AuthorThe page is Waiting for Editor ApprovalThe page is Waiting for Moderator ApprovalThe page is now Published and live.
The more subtle ones:The page is brand New and hasn’t been savedThe page is Editor- or Moderator-DeclinedThe page is Approved but not live yetThe page has been Deleted or is Expired
Built-In Workflow
ModeratorModeratorAuthorAuthor EditorEditor
Why Extend CMS Workflow?
Email notification
More approval steps, parallel steps
More state transitions, timeouts
Delegation
Ad-hoc collaboration
Trigger other processes
Email Notification
ModeratorModeratorAuthorAuthor EditorEditor
EmailEmail EmailEmail
Parallel Steps
AuthorAuthor Editor - MarketingEditor - Marketing
Editor - GraphicsEditor - Graphics
Editor - PREditor - PR
Legal Legal ReviewReview
Extending Workflow
Using CMS page stateCMS 2002 publishing events
global.asax or custom httpmodule
Using external state (DB or XML)Use page GUID as key valueCreate your own workflow classCustomize the web author console
Partner tools Teamplate, Sourcecode
CMS 2002 Publishing Events
Events raised in response to publishing actions Microsoft.ContentManagement.Publishing.Events
Some events:Page Submitting / Submitted
Page Approving / Approved
Page Deleting / Deleted
To consume these events:Use CMS’ handy posting event HTTP module
Write your own custom HTTP module
Using CMS’ HTTP module
Add HTTP module to web.config: Microsoft.ContentManagement.
Publishing.Events.PostingEventsModule
Add your event handler to global.asax with the following naming convention:
<HTTP module name>_<Event name> public void Posting_Approved(
Object sender, ChangedEventArgs e ) {}
Email Notification Email Notification with the CMS Posting with the CMS Posting Events HTTP moduleEvents HTTP module
demodemo
Writing a Custom HTTP Module
Derive from IHttpModule
Implement:Init(): use “+=“ to register the events
Dispose(): use “-=“ to un-register the eventsInit(…) { PostingEvents.Current.Approved
+= new delegate( this.Eventhandler(…) ) }
Create your custom event handler
Compile and add new assembly to GAC
Register HTTP module in web.config
Using External Page State
Extend number of steps, parallel stepsDatabase requirements:
Store page state by GUIDStore workflow stepsStore users for each stepStore state transition rules for each step
Code requirements:Workflow class - state transition methods.Web forms for reportingCMS Web Author controls for integration
Custom Web Author Controls
Inherit from BasePostbackAction
Override Available with logic that decides if the “approve” link should show
Detects user
Looks up page state
Override PerformActionBehaviour with your “approve” code.
Add action to DefaultConsole.aspx
Code walkthroughCode walkthrough
Creating a Custom Creating a Custom Web Author ControlWeb Author Control
Development/Test Estimates
Email NotificationSimple: 1 week
XML- or UI-driven: 3-4 weeks
External page state (multiple >2 or parallel steps)
Hardcoded steps: 2-4 weeks
User interface: 6+ weeks
Dedicated Workflow Software
SourceCode K2.NET 2003
TeamPlate
TeamplateTeamplate
Kevin HeinKevin HeinVice PresidentVice PresidentBusiness DevelopmentBusiness DevelopmentTeamplateTeamplate
demodemo
Deploying Workflow
Start simple!
Understand the business goalsSpeed?
Correctness?
Use an iterative design process
Allow emergency workarounds
Summary
Start with the “Out of the Box” workflow
Use publishing event model to implement simple workflow extensions
Use external page state and web author console for complex workflow extensions
Partners offer powerful solutions
Future: BizTalk Human Workflow Services
Community Resources
Community Resourceshttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/
NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx
User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx
evaluationsevaluations
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.