{"config": [{
    "key": "url-host-relocator",
    "type": "fixed-params",
    "params": [
         {"name": "urlPrefix", "value": "http://oldurl"},
         {"name": "newUrlPrefix", "value": "http://newurl"}
    ]
  }, {
    "key": "keywords-mapper",
    "type": "fixed-params",
    "params": [
      {"name": "search", "value": "key1;key2"},
      {"name": "replace", "value": "newkey1;newkey2"}
    ]
  },{
    "key": "contact-updater",
    "type": "fixed-params",
    "params": [
        {"name": "emailToSearch", "value": "", "type": "email"},
        {"name": "contactAsXML", "value": "", "type": "textarea"}
    ]
  }, {
    "key": "add-resource-id",
    "type": "fixed-params",
    "params": []
  }, {
    "key": "vacuum",
    "type": "fixed-params",
    "params": []
  }, {
    "key": "massive-content-update",
    "type": "template",
    "template": "../../catalog/templates/admin/tools/batch-replacer.html",
    "reportTemplate": "../../catalog/templates/admin/tools/batch-replacer-report.html",
    "config": {
      "metadata": {
        "elements": [
          "id.contact.individualName",
          "id.contact.organisationName",
          "id.contact.voicePhone",
          "id.contact.faxPhone",
          "id.contact.address",
          "id.contact.city",
          "id.contact.province",
          "id.contact.postalCode",
          "id.contact.country",
          "id.contact.email",
          "id.contact.or.url",
          "id.contact.or.ap",
          "id.contact.or.name",
          "id.contact.or.description",
          "id.contact.hoursOfService",
          "id.contact.contactInstructions"
        ]
      },
      "data-identification": {
        "elements": [
          "id.dataid.abstract",
          "id.dataid.purpose",
          "id.dataid.keyword",
          "id.dataid.citation.individualName",
          "id.dataid.citation.organisationName",
          "id.dataid.citation.voicePhone",
          "id.dataid.citation.faxPhone",
          "id.dataid.citation.address",
          "id.dataid.citation.city",
          "id.dataid.citation.province",
          "id.dataid.citationt.postalCode",
          "id.dataid.citation.country",
          "id.dataid.citation.email",
          "id.dataid.citation.or.url",
          "id.dataid.citation.or.ap",
          "id.dataid.citation.or.name",
          "id.dataid.citation.or.description",
          "id.dataid.citation.hoursOfService",
          "id.dataid.citation.contactInstructions",
          "id.dataid.poc.individualName",
          "id.dataid.poc.organisationName",
          "id.dataid.poc.voicePhone",
          "id.dataid.poc.faxPhone",
          "id.dataid.poc.address",
          "id.dataid.poc.city",
          "id.dataid.poc.province",
          "id.dataid.poc.postalCode",
          "id.dataid.poc.country",
          "id.dataid.poc.email",
          "id.dataid.poc.or.url",
          "id.dataid.poc.or.ap",
          "id.dataid.poc.or.name",
          "id.dataid.poc.or.description",
          "id.dataid.poc.hoursOfService",
          "id.dataid.poc.contactInstructions",

          "id.dataid.resc.gc.useLimitation",
          "id.dataid.resc.lc.useLimitation",
          "id.dataid.resc.lc.otherConstraints",
          "id.dataid.resc.sc.useLimitation",
          "id.dataid.resc.otherConstraints"
        ]
      },
      "service-identification": {
        "elements": [
          "id.serviceid.abstract",
          "id.serviceid.purpose",
          "id.serviceid.citation.individualName",
          "id.serviceid.citation.organisationName",
          "id.serviceid.citation.voicePhone",
          "id.serviceid.citation.faxPhone",
          "id.serviceid.citation.address",
          "id.serviceid.citation.city",
          "id.serviceid.citation.province",
          "id.serviceid.citationt.postalCode",
          "id.serviceid.citation.country",
          "id.serviceid.citation.email",
          "id.serviceid.citation.or.url",
          "id.serviceid.citation.or.ap",
          "id.serviceid.citation.or.name",
          "id.serviceid.citation.or.description",
          "id.serviceid.citation.hoursOfService",
          "id.serviceid.citation.contactInstructions",
          "id.serviceid.poc.individualName",
          "id.serviceid.poc.organisationName",
          "id.serviceid.poc.voicePhone",
          "id.serviceid.poc.faxPhone",
          "id.serviceid.poc.address",
          "id.serviceid.poc.city",
          "id.serviceid.poc.province",
          "id.serviceid.poc.postalCode",
          "id.serviceid.poc.country",
          "id.serviceid.poc.email",
          "id.serviceid.poc.or.url",
          "id.serviceid.poc.or.ap",
          "id.serviceid.poc.or.name",
          "id.serviceid.poc.or.description",
          "id.serviceid.poc.hoursOfService",
          "id.serviceid.poc.contactInstructions",
          "id.serviceid.connectpoint.url",
          "id.serviceid.connectpoint.ap",
          "id.serviceid.connectpoint.name",
          "id.serviceid.connectpoint.description"
        ]

      },
      "maintenance-information": {
        "elements": [
          "mi.contact.individualName",
          "mi.contact.organisationName",
          "mi.contact.voicePhone",
          "mi.contact.faxPhone",
          "mi.contact.address",
          "mi.contact.city",
          "mi.contact.province",
          "mi.contact.postalCode",
          "mi.contact.country",
          "mi.contact.email",
          "mi.contact.or.url",
          "mi.contact.or.ap",
          "mi.contact.or.name",
          "mi.contact.or.description",
          "mi.contact.hoursOfService",
          "mi.contact.contactInstructions"
        ]
      },
      "content-information": {
        "elements": [
          "ci.citation.individualName",
          "ci.citation.organisationName",
          "ci.citation.voicePhone",
          "ci.citation.faxPhone",
          "ci.citation.address",
          "ci.citation.city",
          "ci.citation.province",
          "ci.citation.postalCode",
          "ci.citation.country",
          "ci.citation.email",
          "ci.citation.or.url",
          "ci.citation.or.ap",
          "ci.citation.or.name",
          "ci.citation.or.description",
          "ci.citation.hoursOfService",
          "ci.citation.contactInstructions"
        ]
      },
      "distribution-information": {
        "elements": [
          "di.contact.individualName",
          "di.contact.organisationName",
          "di.contact.voicePhone",
          "di.contact.faxPhone",
          "di.contact.address",
          "di.contact.city",
          "di.contact.province",
          "di.contact.postalCode",
          "di.contact.country",
          "di.contact.email",
          "di.contact.hoursOfService",
          "di.contact.contactInstructions",
          "di.fees",
          "di.transferOptions.url",
          "di.transferOptions.ap",
          "di.transferOptions.name",
          "di.transferOptions.description"
        ]
      }
    }
  }, {
    "key": "massive-search-and-replace",
    "type": "template",
    "template": "../../catalog/templates/admin/tools/batch-replacer.html",
    "reportTemplate": "../../catalog/templates/admin/tools/batch-replacer-report.html",
    "params": [
      {"name": "removeEmptyElement", "value": "", "type": "checkbox"}
    ],
    "config": {
      "iso19139": {
        "elements": [
          "iso19139\\..*\\.individualName",
          "iso19139\\..*\\.organisationName",
          "iso19139\\..*\\.deliveryPoint",
          "iso19139\\..*\\.city",
          "iso19139\\..*\\.administrativeArea",
          "iso19139\\..*\\.postalCode",
          "iso19139\\..*\\.country",
          "iso19139\\..*\\.electronicMailAddress",
          "iso19139\\..*\\.voice",
          "iso19139\\..*\\.facsimile"
        ]
      }, 
      "dublin-core": {
        "elements": [
          "dublin-core.simpledc.creator",
          "dublin-core.simpledc.publisher"
        ]
      }
    }
  }]
}