Metadata in XML files - some observations, questions, and suggestions

Hi all,

I’ve been using Infuse for some time a while ago. Then I rediscovered it, when I found the Apple TV app. Great app :smiley: Since it might be relevant later on: I’m running Infuse 7 on an Apple TV 4k 2021. The XML files are created and edited with Sublime.

So now I’m in the process of looking through all my metadata. I must say, the option to store metadata in XML files is brilliant. The content is human readable, and maintainable even with a rather dumb editor. (Although I might write an assisting app for various reasons. But it’s not about that now.)

Some things bother me and so I’m here, writing my first post in this forum, and hope, that you guys might help me.

Somewhere in here I found a list of supported tags:

title
description
cast
rating (age) (brilliant, that this tag can be “abused” as something else)
userStarRating (1-10 stars)
published (release date)
genres
producers
directors
writers

That along with the example from “Metatdata 101” works so far.

But… (there’s always a “but”, right? :stuck_out_tongue_winking_eye: )

1) “producers”, “directors” and “writers” somehow never show up anywhere. The cast doesn’t want to be seen that often either. Means, in general the cast is shown. But not in all views (even if the space would be sufficient).

2) “description”, like almost all tag contents in XML, is basically just text. It’s obvious, that some characters need to be escaped, for not breaking the XML structure. But I couldn’t find out, which syntax is required for escaping. My editor (“Sublime”) does have syntax highlighting with all the bells and whistles. But there’s no “Infuse-Mode” I could turn to. So I find myself ever so often staring at the file content, to find out, what Infuse didn’t like this time. Some sort of message would be nice in these cases, because if Infuse doesn’t like, what it reads, it appears to discard the info completely.

What works tho are “htmlentities”: A.e. if you use a “&”, you would break the XML structure, and the file would be ignored. If you use “&” instead, you get your “&” and all is good. As far as I’ve seen, this info is not documented anywhere here.

I don’t know, what parser is used to read the XML files. Maybe it’s from a framework. Maybe it’s not. Anyway I would like to suggest something:

There are not that much supported XML tags. And all do have an opening and a closing tag. So if you would parse for those, you could present the user a message, if something’s wrong with the tags themselves. Then, if the tags are fine, you could, so to say, escape the whole content text (or run the “allmightly htmlentities-function”).
Just an idea from someone who’s written quite a lot of various parsers over the years :wink:

3) The publishing date apparently must be a full date (“yyyy-mm-dd”). Shown is only the year. That’s perfectly fine. But just declaring the year doesn’t work.

So, while reading all this over, it comes down to essentially this:

  • Are there plans to actually show “producers”, “directors” and “writers”?
  • Will there be a better algorithm to distribute available metadata across the available space in a view? Take “genre” as example: In some views 2 genres are shown. In others 4.

But maybe there is something in the works? :wink:
I mean, sure, showing the cast is fine. “producers”, “directors” and “writers” would be nice to see as well. But sooner or later one might wish for a possibility to click on a name, and see a.e., what actor “fancy name” has played in.
And the modern view is rather sparse at the moment :wink:

Well, I hope you’re all good out there!
Cheers,
John

You only need to escape the standard 5 characters in XML thus:

"  "
&  &
'  '
<  &lt;
>  &gt;