Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
Metadata - Database deployment
Aryan
Hello All,
Is there a way to deploy metadata of the assets to the database from MediaBin?
The requirement is something like this.
The delivery system needs asset metadata for dynamic display and search capabilities. It would be very easy if the metadata goes and sits in the database directly.
Is there a way of achieving the same using MediaBin group of products?
Also,
Can MetaTagger be of some help here? Can I use MetaTagger to tag documents in MediaBin and deploy the metadata on to the database for further processing?
Eagerly awaiting responses…
Thanks,
Aryan.
Find more posts tagged with
Comments
Migrateduser
You can use the XML Encoder in a task to export metadata for assets in XML files. It sounds like you want to create separate tables that contain specific metadata that are indexed specifically for your searching requirements.
In version 4.5.3, new functionality has been added to MediaBin Server that enables you to specify metadata to be included in a full text indexed table that can be searched. It is used to implement QuickSearch from the MediaBin client app UI's. A new type of search has been added to the API to take advantage of this table. The new search type is also called QuickSearch. I'm not sure if this helps.
Otherwise, if you want to deploy to a separate database (not MediaBin's) you can do this using Deployment Agent and some scripting. DA polls the Audit Log for metadata changes to assets. Use a retrieval task that contains only an XML encoder in your DA schedule. From your target site, you could have a script running that monitors the file system for changes and update the database with new metadata when a new XML file is posted. OR, if you can see your target database from the DA machine, create a post processing step (either P4.5 or P5.5) that cracks the xml files and updates the target database. In this case, the target location for the DA schedule would be on the local DA machine. The problem with using DA is that DA detects that as asset is modified if it has been moved, renamed, or updates that may not include metadata changes. Not sure if that's an issue. Another downside of using DA is that it is single threaded. If you're using DA also to deploy assets from other schedules, this polling schedule may be delayed while waiting for any running schedules to complete.
You can also poll MediaBin for changes to assets from a script. If you have a very large repository (> 25000 assets depending on hardware), you would probably want to use the same mechanism DA uses, which is the Audit log, to know when an asset has been modified due to a metadata change. If you wanted this function to be event driven, you would need to register for events on each asset. That could be a downside to the event driven approach if you need to monitor the entire MediaBin repository. If you need it, we can supply code to poll the Audit Log since it can be a bit tricky to write. You can then pull only the metadata you're interested in for each asset updated, and update the database (assuming the script can see the database and use the MediaBin COM api from the same machine).
lyman
The CSO organization may be able to help you write reports against the MediaBin tables directly, but you need to understand that such an approach would bypass the existing security.
Otherwise your best option is to write a script to populate the tables directly.
Cheers,
Lyman Hurd
Aryan
Hello All,
Firstly thanks for the info.
Could you be more clear as o what "write a script to populate the tables directly" means?
I am a fresher as far as MediaBin is concerned and would like to know how to go about doing this.
Any leads would be just great!!!
Thanks,
Aryan.
lyman
What I meant by that was an app that logs into MediaBin and visits the assets querying their metadata. Then the same script can make calls to your external database to insert the desired data. By getting the MediaBin data from a script rather than a database table you can be guaranteed that you can traverse the directory structure in an understandable fashion, that you are respecting security, and that you are getting data corresponding to the latest version.
Cheers,
Lyman Hurd
Aryan
Thanks a lot.
But we are not planning to write any application.
What we want to do is to pick up metadata of the assets from the mediabin repository and push it to our own DB (and not the mediabin DB) for further processing.
I have 4 questions here:
1. Is it possible?
2. If yes, in what language should the script be written?
3. Where should the scripts be placed?
4. How should the script be invoked?
Thanks,
Aryan.
Migrateduser
I can provide an example of a script that you can use to do this. I will post it later today. It will be a standalone script that will function similar to Deployment Agent. It would run under the control of the Windows Task Scheduler and would poll MediaBin for metadata changes to all assets in the entire repository. I'll add code to locate the assets that have been newly inserted or have metadata changes, then fetch a set of metadata for those assets that you can configure by name at the stop of the script. I'll leave the addition of adding metadata into your database to you. You'll also need to configure it to run under Windows Task Scheduler and decide how frequently to run it. A dll that we distribute with the MediaBin Web Client contains a COM interface that can be used to ensure only one instance of an app (your script) runs at one time.
markerlinebasedonparm.rptdesign
Aryan
Please send it across.
It will be very helpful.
Thanks,
Aryan.
Migrateduser
Attached is a sample script that can be used to poll the AuditLog and JobHistoryLog tables for assets that have had metadata revised, for new assets, and for revised (checked in) assets. It then extracts a user specified set of metadata for each asset and outputs the asset name and that metadata to a console window.
You can run it from Windows task scheduler. If you want to use it, you may need to protect against multiple instances of the script running simultaneously. If you look at the App interface in MBUtils.dll, you'll see a method to handle this. You could add that into the script or roll your own.
There are instructions at the top of the file and it has quite a few comments. It contains code that allows you to monitor the entire repository or specific folder trees. I've run a few tests for both cases and it seems to work.
Aryan
Thanks a lot, MediaBin_MTS,
I shall definitly try this out and get back to you.
Thanks,
Aryan.
Aryan
Also,
Could you please let me know what are the additional S/W I should install along with the MB Server for it to work properly with MS Office Documents, PDFs and Media Files?
It would be really helpful.
Thanks,
Aryan.
Migrateduser
I just updated the sample script application zip file that I had posted earlier. I finished debugging it for cases where it monitors specified folder trees. We will be adding this script to the list of sample COM applications for the next release.