Telemeta icon indicating copy to clipboard operation
Telemeta copied to clipboard

Modularize Telemeta : splitting generic and ethnomusicological models

Open yomguy opened this issue 8 years ago • 3 comments

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.

yomguy avatar Aug 31 '16 16:08 yomguy

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.

AnasGhrab avatar Sep 01 '16 06:09 AnasGhrab

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.).

yomguy avatar Sep 02 '16 10:09 yomguy

@thomasfillon FYI https://pythonhosted.org/django-plugins/

yomguy avatar Sep 05 '16 14:09 yomguy