- DHIS2 Web Apps and Example
- Web resources (JavaScript, HTML, CSS) bundled as ZIP archive
- Extends DHIS 2 functionality and user interface
- Appears within DHIS 2 menu system
- Communicates with the web API
- Can be uploaded or installed directly from app store
- Standard apps
– Available in apps menu
- Dashboard apps
– Dashboard item inside dashboard app
- Tracker dashboard apps
– Widget inside tracker dashboard
- Resource apps
– Shared web resource packages between apps
- Easily extend DHIS 2 functionality
- Enables external software development
- Avoids forking the core software
- Easy to learn (Javascript and web API only)
- Deploy runtime on DHIS 2 instances
- Share and benefit from app store
- DHIS2 Data Store and Why Data Store?
DHIS2 Data Store:
- App data storage
- Namespace, key and JSON value (To avoid conflicts of variables, constant and files)
- Entries associated with system or user
- Supports JSON documents as values
- Supports encryption of values
Data Store Example:
POST /api/dataStore/socialApp/configKey
GET /api/dataStore/socialApp
{
“layout”: “table”,
“style”: “blue”,
“lastCheck”: “2017-02-01”
}
GET /api/dataStore/socialApp/configKey/metaData
GET /api/dataStore/socialApp/configKey
Why Data Store?
- Storage of arbitrary JSON documents
- Provides custom storage needs for apps and connectors
- Avoids abuse of DHIS 2 data model
Apps >> DataStore Manager:
- DHIS2 Publish Subscribe Message Queue (SMQ) and Why publish (SMQ)?
- Message queue based on RabbitMQ
- Allows systems to subscribe for events
- Metadata changes are supported
Why SMQ?
- Lets apps react to metadata changes
- Avoids the need for polling
- Faster, more scalable integration with third-party systems
● Released in May 2017 play.dhis2.org/appstore
● Lets you upload your own, generic apps
● Contribute, share and get reusable apps
Engaging with App Store
- Documentation
-dhis2.org/learn
- Source code: Github
-github.com/dhis2
- Issue tracking: JIRA
-jira.dhis2.org
- Continuous integration: Jenkins
-ci.dhis2.org
- Mailing lists: Launchpad
-launchpad.com/dhis2 (to be moved)
- Communication: Slack
-dhis2.slack.com
- DHIS2 Software Development & Version Release
- Three yearly releases
- Open source license (simplified BSD)
- Generic data platform
- Iterative approach, user participation
- DHIS2 Web Apps and Example
- Web resources (JavaScript, HTML, CSS) bundled as ZIP archive
- Extends DHIS 2 functionality and user interface
- Appears within DHIS 2 menu system
- Communicates with the web API
- Can be uploaded or installed directly from app store
- Standard apps
– Available in apps menu
- Dashboard apps
– Dashboard item inside dashboard app
- Tracker dashboard apps
– Widget inside tracker dashboard
- Resource apps
– Shared web resource packages between apps
- Easily extend DHIS 2 functionality
- Enables external software development
- Avoids forking the core software
- Easy to learn (Javascript and web API only)
- Deploy runtime on DHIS 2 instances
- Share and benefit from app store
- DHIS2 Data Store and Why Data Store?
DHIS2 Data Store:
- App data storage
- Namespace, key and JSON value (To avoid conflicts of variables, constant and files)
- Entries associated with system or user
- Supports JSON documents as values
- Supports encryption of values
Data Store Example:
POST /api/dataStore/socialApp/configKey
GET /api/dataStore/socialApp
{
“layout”: “table”,
“style”: “blue”,
“lastCheck”: “2017-02-01”
}
GET /api/dataStore/socialApp/configKey/metaData
GET /api/dataStore/socialApp/configKey
Why Data Store?
- Storage of arbitrary JSON documents
- Provides custom storage needs for apps and connectors
- Avoids abuse of DHIS 2 data model
Apps >> DataStore Manager:
- DHIS2 Publish Subscribe Message Queue (SMQ) and Why publish (SMQ)?
- Message queue based on RabbitMQ
- Allows systems to subscribe for events
- Metadata changes are supported
Why SMQ?
- Lets apps react to metadata changes
- Avoids the need for polling
- Faster, more scalable integration with third-party systems
● Released in May 2017 play.dhis2.org/appstore
● Lets you upload your own, generic apps
● Contribute, share and get reusable apps
Engaging with App Store
- Documentation
-dhis2.org/learn
- Source code: Github
-github.com/dhis2
- Issue tracking: JIRA
-jira.dhis2.org
- Continuous integration: Jenkins
-ci.dhis2.org
- Mailing lists: Launchpad
-launchpad.com/dhis2 (to be moved)
- Communication: Slack
-dhis2.slack.com
- DHIS2 Software Development & Version Release
- Three yearly releases
- Open source license (simplified BSD)
- Generic data platform
- Iterative approach, user participation