Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
MediaBin Deployment Agent – Writing processing step P 3.5
maheshd
Hi
How to write new processing step P 3.5 for deploying asset metadata to database using Microsoft .Net services , deployment agent can able to deploy assets to target location at the same time metadata should go to database.
What are the configuration files that I have to change to include this processing step and how to invoke processing step.
Thanks,
Mahesh
Find more posts tagged with
Comments
Aryan
Hello MediaBin_MTS,
Me and Mahesh tried to achieve what you suggested earlier.
We are a bit confused.
Please advice.
Thanks,
Aryan
--------------------------------------------------------------------
Hi
How to write new processing step P 3.5 for deploying asset metadata to database using Microsoft .Net services , deployment agent can able to deploy assets to target location at the same time metadata should go to database.
What are the configuration files that I have to change to include this processing step and how to invoke processing step.
Thanks,
Mahesh
TestReport.rptdesign
Migrateduser
You'll need to add the following value in the registry on the server hosting DA service. The key (path) to the new value (Processes) should already be in the registry. The new value type is a string.
hkey_local_machine\Software\MediaBin, Inc.\MediaBin Deployment Agent 2.1\Processes
Set the contents of the new string value to:
MBDAProcessing.P1 MBDAProcessing.P2 MBDAProcessing.P3 MBDAProcessing.P4 MBDAProcessing.P5
There should be a space separating each process. You can insert your new script after MBDAProcessing.P3 and before MBDAProcessing.P4. For example, you might have your own DLL called MyStuff with an interface called P35. The contents of the Processes registry value would be:
MBDAProcessing.P1 MBDAProcessing.P2 MBDAProcessing.P3 MyStuff.P35 MBDAProcessing.P4 MBDAProcessing.P5
You'll notice that MBDAProcessing is a DLL shipped with the DA service. P1, P2, P3, P4 are COM interfaces. DA does a CreateObject on the process string. DA is written in VB6. P1 - P5 are classes in the MBDAProcessing DLL. Each class must contain the Execute entry point function. The exact signature of the function is: Public Function Execute(ByRef objInfo As Object) As Boolean.
The function returns True if no errors, otherwise false. This return code is not used at this time, but it may be in the future.
You will need to restart the DA service after you set up the registry. The information is read from the registry at start up only.
Aryan
Thanks a lot.
I shall try the same and get back to you in case of more questions.
Thanks,
Aryan.
maheshd
MediaBin_MTS,
I have checked registry entries for hkey_local_machine\Software\MediaBin, Inc.\MediaBin Deployment Agent 2.1\Processes however i could not find 'Processes'. Could you please let me know is there any other way to do this.Attachment contains snap-shot of regedit entries.
Thanks,
Mahesh
Migrateduser
Right.... you need to create it. Sorry for the confusion. I was trying to say that the path to where you would need to create it would already be present in the registry. But you would need to add Processes. If it's not there, Deployment Agent uses hard coded default values.
It is type string. You need to initialize it as I referred to in the previous post. It contains strings that Deployment Agent does a CreateObject on in the order they are found in the registry.
maheshd
MediaBin_MTS,
Many Thanks for your Information.
I have followed the following steps mentioned by you.
1. I have created MyMDAProcessing.DLL file by using VB.NET
2. MyMDAProcessing.DLL has been shifted to MediaBin Folder i.e. where all other MediaBin DLL are exists
3. Registry entry value of Processess has been changed to
MBDAProcessing.P1 MBDAProcessing.P2 MBDAProcessing.P3 MyMDAProcessing.P35 MBDAProcessing.P4 MBDAProcessing.P5
4. Restarted MediaBin Deployment Server
5. Created the projects and schedules
6. I test the schedule through Run/Test option.
Deployments are not going through as I got following info from Queues
Start Date Description Target Images Status Process Errors
6/23/2006 my schedule 0 SUBMITTED Suspend / Cancel NO
11:05:54 AM
All Others QUEUE menus are empty i.e. (Assets, Derivatives, Targets, Errors, History)
Attached ZIP file contains VB code as well as DLL file
Please advice.
Thanks,
Mahesh
WebViewer.PNG
Preview.PNG
Migrateduser
Sorry, I'm not familiar with .NET. However, I did notice one thing: you should return TRUE from your execute function. I checked and the DA code will log an error if you return FALSE, otherwise, the return code is ignored.
A second question would be: Did you create a COM interface for your .NET dll? It's been a couple years since I've done any work in .NET so I don't remember how to do it, but I believe it's an option in the UI somewhere. After you generate your COM version of the dll, you need to register it. You can register it from a command prompt by typing regsvr32 MYDAProcessing.dll. You should get a confirmation message in a popup window that the dll registered OK. You could verify you can call it by writing a simple VBScript test script to call the Execute function. I noticed that you used Object as the type for the parameter. You may want to verify how to pass COM automation types to a .NET COM interop dll. Object in a VB6 program is not the same thing as Object in a .NET program. I believe VB6 will pass a C style VARIANT with the internal type set to Object. If you have problems, you could use scriptlets instead of .NET and write your code in VBScript. With VBScript, parameters are always VARIANT.
It might be easier to start with a simple schedule that always deploys something and remove your processing step from the registry, just to verify Deployment Agent still works using the registry entry. I just tested and it worked for me.
Migrateduser
I just extracted your dll and tried to register it and it doesn't contain the entry points required to register a COM enabled dll.
Remember Deployment Agent is a VB6 (not .NET) application. All of its DLLs expose a COM interface containing the Execute method.