Closed maarzt closed 1 month ago
Hello. Let's do this. Your comments are very helpful. Maybe we should keep track of them in a github project if we revise the IO. I feel like Mastodon could be very useful as a viewer / editor for other tracking tools. A good extensible IO will be required if we are to go this way.
The "Mastodon-Git" plugin aims to efficiently store Mastodon datasets inside a git repository. Unfortunately git performs very poorly when processing a history of large binary files as produced by the default Mastodon file format. Mastodon-Git therefor implements a customized Mastodon file format that can very efficiently be processed with git.
Two classes in the Mastodon core need to be public in order for mastodon-git to implement this custom file format that can still benefit from mastodon core features:
Spot
andLink
into byte arrays (classModelSerializer
)MamutViewStateXMLSerialization
)(Mastodon-git currently has its own copies of the
ProjectLoader
andProjectSaver
classes. In the long term it would be amazing if we could add a plugin API into mastodon core. That supports the implementation of custom file formats. Or at least make theProjectLoader
and-Saver
more reusable. However in the short term it would be great if theModelSerializer
andMamutViewStateXMLSerialization
were public. This would allow us the further experiment with the mastodon-git file format, without the need to use a customized mastodon.jar file.)