Telemeta
Telemeta copied to clipboard
Modularize Telemeta : splitting generic and ethnomusicological models
Telemeta embeds a lot of models and fields focused on ethnomusicological needs. The fact is that more and more partner projects involve some custom data structures which require to modify the central code of Telemeta. The problem is that those projects could diverge rapidly from the main branch rendering it un-upgradable against the main project.
As we think 90% of this code is reusable and / or generic for the most part, we propose to split the Telemeta models and views in 2 parts : telemeta.core and telemeta.ethno. The first would be the generic base for each project. The 2nd would be an ethnomusicological, optional and pluggable module giving all the current aspects and featured of Telemeta.
This would allow orignal other projects to bootstrap their own module and manage their own versions and migrations independently from the main project.
What should be the features of the two parts ?
I do not think that « ethnomusicological » is an appropriate term to use in this context. It will lead us to deep discussion about what is ethnomusical ans so on. I think it is better to use technical terms. I see three modules : 1. A main documentation module; 2. Published recordings; 3. Unpublished recordings.
You might be right of course on the terms. But the main idea is more about splitting the generic describing part of the metadata models (e.g. title, description, etc) from the other specific ones (e.g. "ethnographic context" in ethomusicology) in at least 2 modules. The Format table or the Authorities table could also become and optional module in this way (e.g. telemeta.formats and telemeta.authorities resp.).
@thomasfillon FYI https://pythonhosted.org/django-plugins/