Download presentation
Presentation is loading. Please wait.
Published byItzel Critchfield Modified over 10 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.