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

Closed
opened 9 years ago by zorun · 3 comments
zorun commented 9 years ago

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 commented 8 years ago
Owner

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 commented 8 years ago
Owner

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 commented 6 years ago
Owner

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.
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.