subjectMetadata xml stream


I am working on a bilingual implementation of TeamSite with Metatagger. We are trying to link our vocabularies (i.e. user sets metadata on one file, and the other language file is updated with equivalent metadata in another language through workflow). I have script that successfully sets the TeamSite Metadata on the other file, but I need to update the XML stream (Teamsite Extended Attributes - subjectMetadata0) in order for Metatagger to recognize the vocabularies and corresponding codes when mtmetaproxy.cgi is instantiated.

Do any of you have an ideas of what this entails? Has anyone had this requirement before?


Lucas Cochrane
[email protected]


  • You can use the command line tool iwmetadata to -get and -set the XML metadata. If you -set it you have to conform to the metadata DTD or mtmetaproxy.cgi won't be able to read it.

    Also, from what you are describing, you might want to investigate using the rules engine to assign the 2nd set of codes based on the 1st set. If I understand correctly, what you are saying is that user sets metadata in language A and then based on those codes you know what codes to assign for language B. The rules engine can probably handle logic like that.
  • We cannot seem to get this working, we threw an iwreset -a, and we stopped and started the metatagger server.

    Any ideas on this one?


    Lucas Cochrane
    [email protected]
  • This situation sounds very similar to one that we just recently dealt with:
    Our Taxonomy is undergoing a number of changes (flushing out the kinks). As we have documents that have already been tagged via MetaTagger, this has the potential to cause problems. In most cases, it is a simple label change, but we are about to face some more difficult challenges: combining vocabularies that are already in use.
    We worked on some simple scripts that would use iwextattr to convert the various attributes (whether the UID and label needed to be moved from one field to another, or whether the label just needed to be updated) -- we also ran into the problem with the subjectMetadata0 field, and the MetaTagger GUI not recognizing the updates.
    As jpierre mentioned, the MetaTagger rules engine is ideal to this (thanks to Ryan Sciandri for helping us with this one):
    This information can be found starting on page 139 in the MetaTagger 3.1 Admin Guide.
    The rules engine relies on XML rule-set files to manage the rules - these rule-sets must then be compiled into Rules Indexes. The Rules Indexes can be "run" from the command line using iwrulesbatch.
    With our needs - and this seems like it would work for yours as well, the rule-set has a single condition, looking for a match in a single facetname (MetaData field), if this condition is matched, we have two actions that follow - a "remove" to remove the old value, and an "add" to add the new value - you should be able to get away with just an "add" to add the corresponding value in the other file.
    I am including the ruleset file that Ryan sent me - it has some more descriptive information in it than the examples that are in the Admin Guide.

    Please feel free to contact me for more information.
Sign In or Register to comment.