There's a comicinfo.xml metadata in a software called ComicRack. CR is only for windows and no linux program has proper metadata / database handling yet. Perhaps MComix could have this feature.
metadata support allows cbz to behave like mp3's with tags. I can for example just mail a .cbz and the receiver gets all tags from the metadata. Also it allows the program to copy metadatas into a database from witch the user can make advanced queries.
I take it that ComicRack stores these files inside of the archive root, or alternatively, as secondary data stream on NTFS file systems (probably not feasible to reproduce this on Linux, even NTFS3g needs an additional mount parameter to actually read ADS).
Is there such a thing as a format specification for the XML file? The closest thing I could find was the example on http://wiki.mobileread.com/wiki/CBR_and_CBZ.
archive opened
inside the xml
It uses both, but fallbacks into the first one if the filesystem is ie. FAT32.
I've posted few screenshots. The xml-file can have more tags than my examples show, for example: ratings, viewed times, bookmarks, etc.
I suppose this could be connected to the library function currently available. If an archive has metadata and it is added to the library, it could also be stored somewhere in the library database.
It it is not in the library, it could show up in the file properties window.
I'll be working on read-only support for basic information like title, description and so forth for now.
You can find the official ComicRack XML schema at:
http://comicrack.cyolito.com/downloads/ComicRack/Support-Files/ComicInfoSchema.zip/
The XML is stored within the comic archive and is simply a flat file. I was interested to implement this feature however I feel the library feature as a whole needs to be made more robust in order to take advantage of what the ComicRack XML incorporation would include.
Agreed. I find that the loose coupling of library and the rest of MComix prevents any real benefits apart from searching the library based on metadata. For example, I read a feature suggestion on the Comix tracker about marking books in the library as read when the last page of it was reached. But as it stands, there is no way to interact with the library in such a way from the main application. That is, no way that would not smell like a horrible hack.
Before I forget I want to make note of a patch against Comix 4.0.4 related to ComicRack metadata.
https://sourceforge.net/tracker/index.php?func=detail&aid=2940235&group_id=146377&atid=764987
If it hasn't already been added to MComix I'm sure it is something we will want to look at and get included.
It would be nice to be able to edit Properties/Metadata in MComix (the existing properties dialog is almost useless to me, can't even use it to rename a file, not to mention setting any other properties).
In the meantime I've found an application that I've been able to use to add ComicInfo.xml to some existing CBZ comic archives.
It is called ComicTagger
http://code.google.com/p/comictagger/
Comic Tagger is writter in QT and Python and the code is available under the Apache License.
This may come very, very late, but due to the fact that there is no good comicreader with comicrack support out there, I modified MComix so that the support is now given!
See my repository here https://github.com/WisdomCode/MComixRack
There is however the trade-off that in this state, the bookmarking feature is basically replaced by the bookmarks given from the ComicRack metadata, so no manual adding is possible. For more details see on github. You may also post issues if you wish to solve this trade-off, I will do that if there is somebody interested.
Thank you for the otherwise simple yet extensive Code-Base you've written here!