#53 Make coin more extensible and customisable (choose which applications to enable)

Fermé
Créé il y a 9 ans par zorun · 3 commentaires
zorun a commenté il y a 9 ans

For now, all applications are tightly integrated in coin:

  • applications are referenced in the main urls.py file
  • the menu template coin/templates/menu_items.html directly lists applications
  • application templates assume a specific template structure in Coin (base template named base.html, blocks named content and js)
  • no application ships its own CSS, the CSS for all applications is in a single CSS file

This makes it difficult to use only a subset of available applications.

A solution could be to make each application independent (maybe even in separate git repositories), and have several project (coin_illyse, coin_faimaison, ...) that define the settings (notably INSTALLED_APPS), the urls, the global CSS, and the global templates. A new user of coin would just copy one of the existing projects and modify it to suit its needs.

Related: 13ebafbc8c, #52, #22

For now, all applications are tightly integrated in coin: - applications are referenced in the main `urls.py` file - the menu template `coin/templates/menu_items.html` directly lists applications - application templates assume a specific template structure in Coin (base template named `base.html`, blocks named `content` and `js`) - no application ships its own CSS, the CSS for all applications is in a single CSS file This makes it difficult to use only a subset of available applications. A solution could be to make each application independent (maybe even in separate git repositories), and have several project (`coin_illyse`, `coin_faimaison`, ...) that define the settings (notably `INSTALLED_APPS`), the urls, the global CSS, and the global templates. A new user of coin would just copy one of the existing projects and modify it to suit its needs. Related: 13ebafbc8c708e7dff084b4eef3e6c9c96d3ecdc, #52, #22
zorun a commenté il y a 8 ans
Propriétaire

Now that #55 and #57 are merged in master, most of the work is done.

Maybe we should discuss app organisation? From #55:

that implicit organization with optional apps in the root dir seems a bit messy to me

What about a git repository for each optional application? It seems too heavyweight to me, but well.

Now that #55 and #57 are merged in master, most of the work is done. Maybe we should discuss app organisation? From #55: > that implicit organization with optional apps in the root dir seems a bit messy to me What about a git repository for each optional application? It seems too heavyweight to me, but well.
jocelyn a commenté il y a 8 ans
Propriétaire

What about a git repository for each optional application? It seems too heavyweight to me, but well.

We are not a lot of developers on coin, so that seems overkill to me at the moment. + As long as we do not consider and maintain a stable API, dividing into separate packages seems a risky thing to me.

What about (for now) storing the optional apps in a folder named decently, like "contrib", "contrib_apps", whatever…

> What about a git repository for each optional application? It seems too heavyweight to me, but well. We are not a lot of developers on coin, so that seems overkill to me at the moment. + As long as we do not consider and maintain a stable API, dividing into separate packages seems a risky thing to me. What about (for now) storing the optional apps in a folder named decently, like "contrib", "contrib_apps", whatever…
jocelyn a commenté il y a 6 ans
Propriétaire

closing for now, the minimal required feature is there already, we could think about repo separation in another ticket or re-opening here.

closing for now, the minimal required feature is there already, we could think about repo separation in another ticket or re-opening here.
Connectez-vous pour rejoindre cette conversation.
Aucun jalon
Pas d'assignataire
2 Participants
Chargement…
Annuler
Enregistrer
Il n'existe pas encore de contenu.