5

I have created an events system assembly and registered it in the configuration file.

I have implemented and subscribed a handler for Component Save Initiated. My events class is public (see What might cause my events system not to "fire" when events take place?)

Unfortunately, the events don't seem to fire, and there is nothing relevant in the Windows Event log. What can be going wrong?

3
  • Can you share what kind of event you are listening too, and what services/processes you have restarted? Please also specify where your Event DLL is stored, and if there are any error logs in the Event Viewer. Commented Sep 14, 2013 at 23:57
  • I asked this question mostly because I already had the answer and wanted to make that available. Funny though - it looks like the feedback I'm getting will make this a much better/more useful question :-) So - it was a component save initiated, and there was nothing in the logs. Commented Sep 15, 2013 at 17:01
  • @DominicCronin: it may help others which may be looking for solution Commented Sep 16, 2013 at 9:14

2 Answers 2

6

If the process that hosts the Tridion core doesn't have enough permissions on the directory where the assembly is, the event handler will silently fail to run. If you use SysInternals process explorer, you might even see that, for example, your events dll is loaded in the publisher process, but not in the service host process.

3

You may check following:

  • After registering the event dll in Tridion Content Manager config file, you might have not re-started the SDL Tridion Content Manager COM+ application - If so, restart the COM+ application and try again
  • You have not specified the SDL Tridion version - if it is SDL Tridion 2009 ensure you have enabled the corresponding event in the SDL Tridion Configuration Manager
  • The absolute path of the event dll that has been registered in the config is wrong - if so, provide correct absolute path of the event dll
  • The user with which your Tridion service is running do not have permission on the folder which contains the assembly - provide the user running Tridion Service permission over the folder which contains event dll

It would be great you can share the snippets from your Tridion Content Manager Configuration file and the code that you are using along with the version of SDL Tridion - this will help the community provide you more helpful suggestions.

7
  • Hi Pankaj, can I just ask if we still need to register the event dll in the "extensions" section of the Tridion Content Manager Config file (this is how it is in 2011) or is there a different way to do this in 2009? Commented Oct 8, 2013 at 10:22
  • 1
    As I said above in SDL Tridion 2009, you need to enable the corresponding events in the SDL Tridion Content Manager COM+ application. Commented Oct 8, 2013 at 10:35
  • Thanks Pankaj, the events triggers have been enabled however I wanted to know how the dll is registered, whether it needs to go into the <extentions> section or not? Commented Oct 8, 2013 at 10:42
  • 1
    And it is quite a long time since I worked on SDL Tridion 2009 but as far as I remember, you do NOT need to make an entry in the "extensions" section in Tridion Content Manager Config file - you may check Commented Oct 8, 2013 at 10:43
  • Thanks Pankaj, I did have a look on SDL Live Content, in the Event Triggers section and couldn't find any information regarding this. It does however mention deploying event handlers in the Event file, cm_ev.dll. Commented Oct 8, 2013 at 10:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.