Skip to content

Things that are different between Catmandu and Metafacture

TobiasNx edited this page Mar 31, 2025 · 4 revisions

Fix:

  • Indexing of array/repeatable fields: Catmandu starts with 0, Metafacture starts with 1 due to JsonDecoder. (Not sure if this is broader Metafacture/Catmandu level).
  • set_: MF alias for add_functions, Catmandu does not create an intermediate structure, MF does.
  • Additional functions and binds:
    • Metafacture:
      • add_hash and add_array
      • TODO
    • Catmandu
      • some binds
      • iterate bind
      • TODO
  • do list(path:"...", "var":"...) in MF Fix the var needs to be in " in catmandu not
  • substring-function does not define start and end index but start and number of signs.
  • Array-Wildcards: Catmandu: $last/$first write, MF they do not
  • MF does not support root ., Catmandu does
  • move_field: MF cannot move field with same name from string to object
  • vacuum: catmandu can catch " ", MF does not
  • copy_field array of string with single value: MF copies them as simple field, Catmand keeps the array
  • remove_field: MF cannot delete field from array of objects

Metafacture/Catmandu-Level:

  • embedded fix in catmandu commands can be separated by ;
  • YAML encoding when transforming to yaml from marc catmandu shows the hidden _id by default too, metafacture does not
  • Output Arrays: MF does not know what an array is, fix need to add Array marker for JSON Arrays, Catmandu outputs Arrays as arrays, Catmandu does not know repeatable fields in JSON?
  • Marc handling in MF and Catmandu are completly different. MF: Leader-Element, XXX+Indicies = Toplevel elements, Subfilds=> Subfields, difficulties are created by repeated subfields, Catmandu: _id, array-in-array, unclear structure) (MF has an big advantage here. MF: uses generic fix, Catmandu: uses its special Marc-Fix
Clone this wiki locally