We're open for contributions!
Prior to release
2.020.18, this project (KPI) and KoBoCAT both shared a common Postgres database. They now each have their own. If you are upgrading an existing single-database installation, you must follow these instructions to migrate the KPI tables to a new database and adjust your configuration appropriately.
If you do not want to upgrade at this time, please use the
shared-database-obsolete branch instead.
Python dependencies are managed with
pip-sync from the
pip-tools package. The dependencies are listed in
dependencies/pip/, with core requirements in
dependencies/pip/requirements.in. You may use
pip directly with one of the compiled
dependencies/pip/*.txt files, but consider using instead the
pip-sync. Do not add new dependencies directly to the compiled
dependencies/pip/*.txt files; instead, update the relevant the source
dependencies/pip/*.in file(s), and execute
make pip_compile after any changes. You can pass arguments to
pip-compile with e.g.
make pip_compile ARGS='--upgrade-package=xlwt'. To force building, use
make --always-make ....
apt dependencies for Ubuntu 16.04 are listed in
dependencies/apt_requirements.txt and can be installed with e.g.
apt-get install $(cat dependencies/apt_requirements.txt).
git submodule update.
tx pull --all
python manage.py compilemessagesto create
.mofiles from the
Results from the
api/v2/assets endpoints can be filtered by a
Boolean query specified in the
q parameter. For example:
api/v2/assets?q=owner__username:meg AND name__icontains:quixotic would return
assets whose owner has the username "meg" (case sensitive) and whose name
contains "quixotic" anywhere (case insensitive). For more details about the
syntax, see the documentation at the top of
There are several types of data reports available to superusers.
<kpi base url>/superuser_stats/user_report/. File being created is a CSV, so don't download immediately to wait for server to be finished writing to the file (it will download even if incomplete).
<kc server domain>/<superuser username>/superuser_stats/
As this is a Django project, you may find the admin panel at
<kpi base url>/admin useful, e.g. to configure user accounts or log in as other users without knowing their passwords. You must use a superuser account to access the admin panel.
All project icons are kept in
jsapp/svg-icons/. Adding new icon requires adding new
svg file here and regenerating icons with
npm run generate-icons. Filenames are used for icon font classnames, e.g.
arrow-last.svg (please use kebab-case). You can see all available icons by running
npm run show-icons - it will open a list in your browser.