Code Monkey home page Code Monkey logo

analytics's Introduction

DHIS 2

Quality Gate Status Tests API tests

DHIS 2 is a flexible information system for data capture, management, validation, analytics and visualization. It allows for data capture through clients ranging from Web browsers, Android devices, Java feature phones and SMS. DHIS 2 features data visualization apps for dashboards, pivot tables, charting and GIS. It provides metadata management and configuration. The data model and services are exposed through a RESTful Web API.

Overview

Issues can be reported and browsed in JIRA.

For documentation visit the documentation portal.

You can download pre-built WAR files from the continuous integration server.

You can explore various demos of DHIS 2 in the play environment.

For support and discussions visit the community forum.

For general info visit the project web page.

For OpenAPI documentation visit the Stoplight workspace.

For software developer resources visit the developer portal.

To contribute to the software read the contributor guidelines.

The software is open source and released under the BSD license.

Run DHIS2 in Docker

The following guides use Docker Compose to run DHIS2 using Docker.

A DB dump is downloaded automatically the first time you start DHIS2. If you switch between different DHIS2 versions and/or need to download a different DB dump you will need to remove the shared volume db-dump using

docker compose down --volumes

Pre-built Images

We push pre-built DHIS2 Docker images to Dockerhub. You can pick an <image name> from one of the following repositories:

  • dhis2/core - images of the release and release-candidate DHIS2 versions. These images represent the stable DHIS2 versions, meaning they won't be rebuilt in the future.

  • dhis2/core-dev - images of the latest development DHIS2 versions - branches master (tagged as latest) and the previous 3 supported major versions. Image tags in this repository will be overwritten multiple times a day.

  • dhis2/core-canary - images of the latest daily development DHIS2 versions. We tag the last core-dev images for the day and add an extra tag with a "yyyyMMdd"-formatted date, like core-canary:latest-20230124.

  • dhis2/core-pr - images of PRs made from https://github.com/dhis2/dhis2-core/ and not from forks. As forks do not have access to our organizations/repos secrets.

To run DHIS2 from latest master branch (as it is on GitHub) run:

DHIS2_IMAGE=dhis2/core-dev:latest docker compose up

Local Image

Build a DHIS2 Docker image first as described in Docker image. Then execute

docker compose up

DHIS2 should become available at http://localhost:8080 with the Sierra Leone Demo DB.

Demo DB

If you want to start DHIS2 with a specific demo DB you can pass a URL like

DHIS2_DB_DUMP_URL=https://databases.dhis2.org/sierra-leone/2.39/dhis2-db-sierra-leone.sql.gz docker compose up

using versions we for example publish to https://databases.dhis2.org/

Build process

This repository contains the source code for the server-side component of DHIS 2, which is developed in Java and built with Maven.

To build it you must first install the root POM file, navigate to the dhis-web directory and then build the web POM file.

See the contributing page to learn how to run locally.

Docker image

The DHIS2 Docker image is built using Jib. To build make sure to build DHIS2 and the web project first

./dhis-2/build-dev.sh

Run the image using

docker compose up

It should now be available at http://localhost:8080.

Customizations

Docker tag

To build using a custom tag run

mvn -DskipTests -Dmaven.test.skip=true -f dhis-2/dhis-web-server/pom.xml jib:dockerBuild -Djib.to.image=dhis2/core-dev:mytag

For more configuration options related to Jib or Docker go to the Jib documentation.

Context path

To deploy DHIS2 under a different context then root (/) configure the context path by setting the environment variable

CATALINA_OPTS: "-Dcontext.path='/dhis2'"

DHIS2 should be available at http://localhost:8080/dhis2.

Overriding default values

You can create a local file called docker-compose.override.yml and override values from the main docker-compose.yml file. As an example, you might want to use a different version of the Postgres database and run it on a different port. More extensive documentation of this feature is available here. Using the override file you can easily customize values for your local situation.

version: "3.8"

services:
  db:
    image: postgis/postgis:14-3.3-alpine
    ports:
      - 127.0.0.1:6432:5432
DHIS2_HOME

Previously, the Docker image was built with environment variable DHIS2_HOME set to /DHIS2_home. This is not the case anymore, instead DHIS2_HOME will fallback to its default /opt/dhis2. You can still run the Docker image with the old behavior by setting the environment variable DHIS2_HOME like

    environment:
      DHIS2_HOME: /DHIS2_home

in a docker-compose.override.yml file. Alternatively, you can pass the system property -Ddhis2.home directly from the command line. You need to ensure that this DHIS2_HOME is writeable yourself!

analytics's People

Contributors

amcgee avatar cooper-joe avatar dependabot-preview[bot] avatar dependabot[bot] avatar dhis2-bot avatar edoardo avatar hendrikthependric avatar ismay avatar janhenrikoverland avatar jenniferarnesen avatar kabaros avatar kaivandivier avatar larshelge avatar martinkrulltott avatar neeilya avatar philip-larsen-donnelly avatar varl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

analytics's Issues

The automated release is failing 🚨

🚨 The automated release from the 4.x branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the 4.x branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


The release 4.3.26 on branch 4.x cannot be published as it is out of range.

Based on the releases published on other branches, only versions within the range >=4.3.25 <4.3.26 can be published from branch 4.x.

The following commits are responsible for the invalid release:

  • chore: replace travis with GH actions [4.x] (#455) (2891445)
  • fix(translations): sync translations from transifex (4.x) (5d966f0)
  • fix: complete translations [v4.x] (#438) (cb349d8)
  • fix(translations): sync translations from transifex (4.x) (da71cdf)
  • chore(translations): sync translations from transifex (4.x) (f31290e)
  • chore: add the proper pot file (7de869a)
  • chore: add transifex config and en.pot (5374829)
  • v4.3.29 (8a478a9)

Those commits should be moved to a valid branch with git merge or git cherry-pick and removed from branch 4.x with git revert or git reset.

A valid branch could be 2.4.x or master.

See the workflow configuration documentation for more details.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Dependabot couldn't find the submodule /.gitmodules

Dependabot couldn't find a .gitmodules for this project.

Dependabot requires a .gitmodules to evaluate your project's current Git dependencies. It had expected to find one at the path: /.gitmodules.

If this isn't a Git project, or if it is a library, you may wish to disable updates for it in the .dependabot/config.yml file in this repo.

You can mention @dependabot in the comments below to contact the Dependabot team.

Dependabot couldn't find a pom.xml for this project

Dependabot couldn't find a pom.xml for this project.

Dependabot requires a pom.xml to evaluate your project's current Java dependencies. It had expected to find one at the path: /pom.xml.

If this isn't a Java project, or if it is a library, you may wish to disable updates for it in the .dependabot/config.yml file in this repo.

You can mention @dependabot in the comments below to contact the Dependabot team.

The automated release is failing 🚨

🚨 The automated release from the master branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Invalid npm token.

The npm token configured in the NPM_TOKEN environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/.

If you are using Two-Factor Authentication, make configure the auth-only level is supported. semantic-release cannot publish with the default auth-and-writes level.

Please make sure to set the NPM_TOKEN environment variable in your CI with the exact value of the npm token.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Dependabot couldn't find a Dockerfile for this project

Dependabot couldn't find a Dockerfile for this project.

Dependabot requires a Dockerfile to evaluate your project's current Docker dependencies. It had expected to find one at the path: /Dockerfile.

If this isn't a Docker project, or if it is a library, you may wish to disable updates for it in the .dependabot/config.yml file in this repo.

You can mention @dependabot in the comments below to contact the Dependabot team.

The automated release is failing 🚨

🚨 The automated release from the next branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can fix this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the next branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here are some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


The release 24.4.0 on branch next cannot be published as it is out of range.

Based on the releases published on other branches, only versions within the range >=24.4.2 can be published from branch next.

The following commit is responsible for the invalid release:

  • feat: use multi-calendar-dates library to generate fixed periods (acc3801)

This commit should be moved to a valid branch with git merge or git cherry-pick and removed from branch next with git revert or git reset.

A valid branch could be 16.x.x, 20.x, 21.x, 4.x, master or next.

See the workflow configuration documentation for more details.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Don't re-round values that are sent by the backend

From #279

The way we currently do this may be a non-issue, since the backend now sends pre-rounded values, but we can't just render the server-provided value since it's a string and has extraneous 0s appended (i.e. 17.0 instead of 17)

The automated release is failing 🚨

🚨 The automated release from the master branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can fix this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here are some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


The release 24.5.0 on branch master cannot be published as it is out of range.

Based on the releases published on other branches, only versions within the range >=24.4.2 <24.5.0 can be published from branch master.

The following commits are responsible for the invalid release:

  • feat: single value background color change based upon legend (DHIS2-13702) (#1402) (ad437c6)
  • chore: merge next branch to master (#1422) (1b81e97)

Those commits should be moved to a valid branch with git merge or git cherry-pick and removed from branch master with git revert or git reset.

A valid branch could be 16.x.x, 20.x, 21.x, 4.x or next.

See the workflow configuration documentation for more details.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.