Presentation is loading. Please wait.

Presentation is loading. Please wait.

Msepm.hsquared.be. Eventing Architecture Server-side events and the Queue Creating an Event Handler A statusing example Deploying an Event Handler Event.

Similar presentations


Presentation on theme: "Msepm.hsquared.be. Eventing Architecture Server-side events and the Queue Creating an Event Handler A statusing example Deploying an Event Handler Event."— Presentation transcript:

1 msepm.hsquared.be

2 Eventing Architecture Server-side events and the Queue Creating an Event Handler A statusing example Deploying an Event Handler Event Handlers and config files

3 Eventing Service is part of core SSP application Event Handlers in WSS config DB at PWA site level Independent event handlers for each PWA PWA includes Event Catalog to manage custom Event Handlers Multiple event handlers possible Pre and post events

4 Call PSI method Raise Event Invoke Event Handler Run custom code Event Arguments Modified Event Arguments Cancel pre- event End Continue

5 Pre-events fired when the Queue job is about to start NOT when you perform the action! Post-events fired when the queue job completed successfully If queue job fails or is cancelled, the post-event will not fire

6 Exceptions Some PSI calls have no corresponding queue job Pre-event fired before action is performed Post-event fired after action completed Ex.: StatusingStatusUpdating, StatusingStatusUpdated

7 Create a class library project Set references Microsoft.Office.Project.Server.Events.Receivers.dll Microsoft.Office.Project.Server.Library.dll Develop the event handler code Deploy the event handler Register the event handler with Project Server using Project Web Access

8 Creating a Project Server custom Event Handler

9 Only published updates in Reporting DB Not possible to report on missing updates Difficult to implement task update checks Impossible to detect 0h registrations No incremental export possible

10 Insert task updates in a custom DB Add status to keep track of approval status Saved, submitted, accepted, rejected Add timestamp and/or export state Allows for incremental exports

11 EPM 2007 DB EPM 2007 DB Task Updates Save Task Updates Save Custom DB Custom DB Task Updates Submit Accept Reject Task Updates Submit Accept Reject Queue Event Service Event Service

12 Creating a custom Statusing solution

13 Building an incremental export module Building a real-time export module Real-time timesheet reporting No more waiting for queue Use pre-event to implement task update quality checks

14 NOT a replacement for out-of-the-box statusing flow Go in and out Events stop normal code execution. Make sure you dont add delays! Keep an eye on performance! Might be necessary to offload the custom DB to a dedicated server

15 Two options GAC Shared assembly Sign with strong name key! Bin directory Code isolation Register Event Handler in PWA

16 Event Handler = assembly No assembly config file Add configsource to config of calling.dll Microsoft.Office.Project.Server.Eventing.exe.config

17 Event Handler and Configuration File

18 http://msepm.hsquared.be Slideshow Partial Code Sample Project 2007 SDK


Download ppt "Msepm.hsquared.be. Eventing Architecture Server-side events and the Queue Creating an Event Handler A statusing example Deploying an Event Handler Event."

Similar presentations


Ads by Google