Addon configuration specification

django-app-enabler support can be enabled by adding a addon.json to any django application (see below for the structure).

See Limitations for limitations and caveats.

addon.json

addon.json is the only configuration file needed to support django-app-enabler and it must provide at least the minimal setup to make the application up an running on a clean django project.

Warning

The file must be included in root of the first (alphabetically) module of your application package. See Packaging for details.

Extra configuration files specifications

Extra configuration files (applied via Apply configurations) must conform to the same specifications below with two exceptions:

  • all attributes are optional (i.e.: they can be completely omitted)

  • the json file can contain a single object like for the addon.json case, or a list of objects conforming to the specifications.

Attributes

The following attributes are currently supported:

  • package-name [required]: package name as available on PyPi;

  • installed-apps [required]: list of django applications to be appended in the project INSTALLED_APPS setting. Application must be already installed when the configuration is processed, thus they must declared as package dependencies (or depedencies of direct dependencies, even if this is a bit risky);

  • urls [optional]: list of urlconfs to be added to the project ROOT_URLCONF. List can be empty if no url configuration is needed or it can be omitted.

    Each entry in the list must be in the [<patten>,<include-dotted-path>] format:

  • settings [optional]: A dictionary of custom settings that will be added to project settings verbatim;

  • message [optional]: A text message output after succesfull completion of the configuration;

Sample file

{
    "package-name": "djangocms-blog",
    "installed-apps": [
        "filer",
        "easy_thumbnails",
        "aldryn_apphooks_config",
        "parler",
        "taggit",
        "taggit_autosuggest",
        "meta",
        "djangocms_blog",
        "sortedm2m"
    ],
    "settings": {
        "META_SITE_PROTOCOL": "https",
        "META_USE_SITES": true
    },
    "urls": [
        ["", "djangocms_blog.taggit_urls"]
    ],
    "message": "Please check documentation to complete the setup"
}

Packaging

TBA